環境: 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窗口也消失了。