1.先运行程序,查壳发现该程序是用MASM写的,查看区段信息
2.接下来简单分析一下,该程序是否存在恶意代码:第一步查看API函数,发现没有提权API和对系统产生破坏的API,第二步查看程序运行会不会导致 溢出,发现没有。
2.OD载入,搜索字符串,发现字符串都处于加密状态,f7单步,进入解密部分
3.解密完之后,f7单步,进入 unpackme.00401039,该函数计算了校验值,运行到401046时发现,ebx中的值跟解密时ebx的值相等。
4.单步进入OEP,看出DlgProc为4010f5,进入到4010f5中,看到要修改的字符串。
5.随后用二进制编辑器打开,在680处添加字符串“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”,OD加载后680对应401280。
6.上门只是演示,接下来写内嵌补丁,覆盖字符串的字符串。
按Ctrl+a,出现字符串
修改jmp后面的地址
练习下载链接:https://pan.baidu.com/s/1TM_ZHP79pKBHf-OrD330iw(若失效,请留言)
提取码:x0lo
参考资料
《逆向工程核心原理》
来源:CSDN
作者:buzhifou01
链接:https://blog.csdn.net/qq_33526144/article/details/104123253