chuiyan121 发表于 2022-3-5 22:43

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




chuiyan121 发表于 2022-3-5 23:05

zhuyong770 发表于 2022-3-5 22:55
写的很详细啊,非常厉害啊

我是正在学习中的小白,见笑了{:1_918:}

zhuyong770 发表于 2022-3-5 22:55

写的很详细啊,非常厉害啊

Tree52 发表于 2022-3-5 23:10

大佬这教材就巨细,{:1_893:}{:1_893:}

fjs4839 发表于 2022-3-6 00:53

大佬辛苦了,这么用心的码出来

壮壮她爹 发表于 2022-3-6 01:06

大神啊!!厉害

xytwlh 发表于 2022-3-6 07:20

看看怎么样

zwtstc 发表于 2022-3-6 10:13

学到了感谢分享

xkgg1996 发表于 2022-3-6 11:06

看不懂都是大佬呀

starzyk 发表于 2022-3-6 14:28

写的很详细啊
页: [1] 2
查看完整版本: The043. 吾爱培训,《09:深入浅出探讨脱壳细节》讲师:L4Nce [OD脚本编写]