写在前面:
题目是buu上的一道题
拖入ida运行发现提示缺少msvcr100d.dll 去下载然后放入目录
使用od运行程序发现 如有错误,请指正!
程序分析
提示warning 可能是反调试 记住这个字符 去ida搜索
查找字符串之后根据交叉引用来到这里 发现许多熟悉的名字。这里可能就是反调试的地方
在这段代码动调了一下发现只有在 显示idaq.exe 和ida.exe的代码段的地方才会提示warning
应该是这段函数可以提取对应反编译器的核心代码然后进行识别是不是这些软件在调试?
在这里建jnz改为jmp可以直接跳过验证(我这里是已经改完的)。
然后f8会发现陷入了一个死循环,停下看看哪里有问题 没找到,应该是逻辑逻辑问题(可能是应该进入一个函数之后才可以找到返回地址 我这里是一路f8 先不管了)
在查找warning交叉引用的时候发现最后一个有点东西
在警告的引用地方发现了fs:30 这含金量不用多说了吧