代码恢复

如何去除

对于一个程序,我们可以通过strip来去除其符号表,表现如下:

0

去除前

5

去除后

4

如何恢复

IDA flair

通过加载相应的签名文件来恢复符号表

操作方法

在ida中用快捷键shift+f5进入签名界面,右键apply new signature选择要加载的签名文件即可,通过ctrl+z撤销上一步操作

ida9.0自带的签名较少可以从sig-database中获取

ida finger插件

Finger是阿里云·云安全技术实验室推出的一款二进制函数符号识别引擎,可以识别二进制程序中的库函数与常见的第三方函数,快速定位恶意代码,提高样本分析效率

操作方法

pip install finger_sdk安装finger_sdk库

注意安装Finger的python的版本要与IDAPython的版本一致

然后从finger这个项目中下载finger_plugin.py,由于原项目年久失修,可以根据这个issue方法进行patch

finger_plugin.py复制到IDA插件目录IDAx.x\plugins

重启ida,即可在顶栏看见finger

3

总结

我现在用的是这两个,另外还有iscan可以自动检测静态二进制程序使用的libc版本,可以自行google下

恢复效果

恢复前

2

恢复后

1