The043. 吾爱培训,《09:深入浅出探讨脱壳细节》讲师:L4Nce [OD脚本编写]
本帖最后由 chuiyan121 于 2022-3-5 22:46 编辑The043. 吾爱培训,《09:深入浅出探讨脱壳细节》讲师:L4Nce
关于吾爱破解论坛官方入门教学培训第一期,我的学习记录,如有疑问欢迎交流指正。^_^
好几天没发帖了,换了台电脑,折腾各种系统和软件,终于完美了。
这次直接来到第九课,解释一下:第7课珈蓝夜雨的网络验证,我真没听懂,能力不足。第8课是脱壳铺垫,没有具体内容,所以没有记录。第9课讲的OD脱壳脚本编写,挺有意思,找回了以前写程序的感觉。
【第八九课作业.exe】->OD脱壳脚本编写。
0x0、首先查壳,tElock 0.98b1 -> tE!。在编写OD脱壳脚本之前,我们得先自行手脱这个壳,然后将脱壳的步骤用OD脚本语言表达出来,才能达到目的。我是用最后一次异常法脱壳的,之前的学习记录里面有方法: https://www.52pojie.cn/thread-1575502-1-1.html。
https://s4.ax1x.com/2022/03/05/b07tgS.png
0x1、掌握了脱壳方法后,开始编写脚本。下面是OD的调试界面,脚本可以边写边调试,实时测试脚本效果。
https://s4.ax1x.com/2022/03/05/b07J9f.png
0x2、下图是我在txt文件里的脚本记录,txt文件里有详细注释,载入到OD时屏蔽了注释了。
https://s4.ax1x.com/2022/03/05/b0784P.png
0x3、文字版的如下:
// Chuiyan tElock 0.98b1 -> tE! OEP Finder
// 此脚本将迅速带你到达OEP
msg "请Alt+O设置OD异常设置不要忽略任何异常,然后Ctrl+F2重载程序"//消息框
var cbase //定义变量, 记录代码段基地址(00401000)
gmi eip, CODEBASE //获取代码段基地址(gmi地址信息, CODEBASE代码段基地址)
mov cbase, $RESULT //将基地址传递给cbase变量
log cbase //将cbase输出到OllyDbg的记录窗口中, 记录用
var csize //定义变量, 记录代码段大小(0007C000)
gmi eip, CODESIZE //获取代码段大小(gmi地址信息, CODESIZE代码段大小)
mov csize, $RESULT //将大小传递给csize变量
log csize //将csize输出到OllyDbg的记录窗口中, 记录用
esto //Shift+F91次
esto //Shift+F92次
esto //Shift+F93次
esto //Shift+F94次
esto //Shift+F95次
esto //Shift+F96次
esto //Shift+F97次
esto //Shift+F98次
esto //Shift+F99次
esto //Shift+F910次
esto //Shift+F911次
esto //Shift+F912次
esto //Shift+F913次
esto //Shift+F914次
esto //Shift+F915次
esto //Shift+F916次, 最后一次异常停在这里
bp 004C6817 //下F2断点
esto //Shift+F9运行
bc 004C6817 //取消F2断点
bprm cbase, csize //下内存访问断点
esto //Shift+F9运行
bpmc //取消内存访问断点
cmt eip,"OEP在此, By Chuiyan!"//添加注释
0x4、空格键运行脚本,自动到达OEP,通过脚本可以提高工作效率,特别是繁琐的重复工作。
https://s4.ax1x.com/2022/03/05/b073Nt.png
zhuyong770 发表于 2022-3-5 22:55
写的很详细啊,非常厉害啊
我是正在学习中的小白,见笑了{:1_918:} 写的很详细啊,非常厉害啊 大佬这教材就巨细,{:1_893:}{:1_893:} 大佬辛苦了,这么用心的码出来 大神啊!!厉害 看看怎么样 学到了感谢分享 看不懂都是大佬呀 写的很详细啊
页:
[1]
2