本帖最后由 hotpower 于 2023-9-25 14:02 编辑
菜农电子淘宝:https://hotcomlock.taobao.com/ 准备出书:http://hotcomlock.com/hotcomlock.html
如下面三个截图,左图为C语言源码,中图为IDA根据符号表PDB反汇编的伪代码,右图是IDA无PDB反汇编的伪代码。
可以看出,源代码调用了两个函数CRC32Val()和AddSystemError()。
有PDB的伪代码为HotCom32.Callback.Int()和HotCom16.Callback.Int(),IDA确实非常聪明,因为Int()确实是一种通用调用方法。因为COM盾的函数指针数组是随机散列的,故实在无法反汇编出源码,即使给源码也有点晕。
无PDB的伪代码为函数指针数组funcs_18000C836()和qword_180027300()。
故有结论:
COM盾可以有效地阻止IDA的反汇编和伪代码分析。即使给出对应的PDB文件也无法静态地找到函数名即函数的入口地址。
|