【调试原理】逆向peid-判定vc

本文探讨了如何通过逆向工程技术分析PEID 0.94版,了解其如何判断程序是否由Visual C++ 6.0编译。使用Ollydbg和IDA等工具,作者跟踪了判定过程,揭示了获取程序RVA的方法,并讨论了可能的进一步判定步骤。在分析过程中,发现了程序加载时的数据处理和OEP(入口点RVA)的确定,为理解PEID的工作原理提供了洞察。
摘要由CSDN通过智能技术生成

以前一直认为一个工具只要会用就可以了,可是作为一名喜欢安全的渣渣来讲,会用还远远不够,你还得了解它,欺骗它,改造它,提升它!
上一篇文章讲了如何脱掉peid0.94版本的壳
[调试原理]逆向peid_脱壳
这一篇文章对peid开始逆向分析它的原理。开始的时候,从最简单的分析起:如何判断程序有vc编译器编译的。

逆向工具:ollydbg,ida,winhex
分析对象:peid v0.94(完美脱壳后uppeid)
测试程序:TraceMe.exe


打开peid加载TraceMe.exe发现为Microsoft Visual C++ 6.0编写,所以直接打开ollydbg,查找字符串Microsoft Visual C,发现字符串
这里写图片描述
双机来到这个字符所在的地方
这里写图片描述
发现跳转来自的地方,往上寻找,发现这个函数的起始部分
这里用IDA一样可以达到相同的效果
直接下断,然后用peid加载我们的测试程序TraceMe.exe,后F9,程序中断下来
单步运行,将分析的算法写在下面的代码中:

00438C26  |.  53            push ebx
00438C27  |.  55            push ebp
00438C28  |.  56            push esi
00438C29  |.  57            push edi                                 ;  下面就是填充一个数组
00438C2A  |.  B0 72         mov al,0x72                              ;  "r"
00438C2C  |.  884424 2F     mov byte ptr ss:[esp+0x2F],al
00438C30  |.  884424 31     mov byte ptr ss:[esp+0x31],al
00438C34  |.  884424 34     mov byte ptr ss:[esp+0x34],al
00438C38  |.  884424 39     mov byte ptr ss:[esp+0x39],al
00438C3C  |.  8844
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值