由于本教程只是用OllyDBG做一个简单的upx手动脱壳,非常适合新手入门,因此需要用到一些工具软件,下载地址如下:
百度网盘链接:
https://pan.baidu.com/s/1_Xv561sxoA6EPVkEyqQhTw 提取码: 8fiv
网盘解压密码:www.fujieace.com
如网盘链接有失效,请评论留言或Q上主动联系我!
教程中网盘压缩软件包括:
OllyDBG_1.10汉化第二版
登录程序.exe
注意:使用压缩包里的程序(有可能电脑需要关闭杀毒软件或加入白名单)。
1、载入主程序
OllyDBG - 文件 - 打开 - 登录程序.exe;
2、确保可以用“ESP定律”脱壳
我们按F8单步走走,注意右面寄存器FPU的显示,当有且只有ESP和EIP为红色时,我们可以用ESP定律了。
下图就是这样的例子,我们这时候可以右键ESP后面那个地址,然后,选择在数据窗口中跟随;
或者
也可以直接在下面的“Command(命令)”窗口中输入dd 0019FF54后回车;
3、设置“硬件访问断点”位置
在command窗口输入 HR 004A59B1 回车后完成,然后,我们按F9运行程序,此时程序会暂停在我们设置的断点位置。
4、找OEP
然后,我们F8单步走,到了jnz位置后不要再按F8了(这是向上跳转的),我们用鼠标点击它的下一行,然后按F4,让程序强制转到跳转下面继续运行,到达jmp后我们必须跳过去,因为接下来就有可能是程序的OEP领空。
OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP)
5、清除硬件断点
OllyDBG - 调试 - 硬件断点;
6、开始脱壳
然后,右击程序当前位置第一行代码,选择用OllyDump脱壳调试进程;
最后,我们在弹出的窗口中选择脱壳,然后,输入要另存为的文件名;