环境: Windows xp sp3
工具: Ollydbg exeinfope
0x00 查壳
可以看出程序有加壳,那么我们下一步就是脱壳了。
0x01 脱壳
看上去没什么特别的地方,就直接 单步跟踪法 来脱壳吧
近call F7,远call F8
来到这里
哈,这里就是跳到OEP了,F7过去。
然后就是脱壳了,这里直接使用OD来脱壳就好了。
脱壳后程序仍然能正常运行。
0x03 分析
看看题目说这个程序用了什么保护方式:
那我们只需要去掉运行程序后弹出来的Nag窗口和对这个未注册处理就好了。
1.Nag窗口
首先是除去Nag窗口:
通过查找字符串的方法,可以很快速的定位到这个Nag窗口是一个MessageBox,
那我们将整个MessageBox NOP掉就好了。
保存一下,程序能够正常运行,接下来我们就要将显示的信息从 Unregistered 改为 Registered,
2.修改显示内容
也是通过查找字符串的方法定位到这个显示的字符串所在的函数。
这里就更简单了,本来压入栈的字符串地址为0040205C,前面又有一个Registered,我们将这个压入的字符串地址改为Registered的就好了。
可以看到压入栈的字符串地址已经是Registered了,保存一下所做的修改。
可以看到程序显示正常,并且运行后弹出的Nag窗口也消失了。