吾爱专题脱壳练习----压缩壳练习之一

一上来的载入位置:

一路往下跑:

但凡遇到往回的大跳转,就按F4跳到下一步,跳过循环部分

直到一个retn

返回到:

然后我们继续往下跟,一直跟到一个jmp

如果再F4往下一步,程序就会跑起来:

所以我们在这里下个断点:

然后按F9运行,看这个循环会运行多少次,大约按了9次后,程序又跑起来,那我们再重新加载程序,这里按下8次F9之后,我们跟踪这个循环:

在第九次跟踪的时候,会发现其中还有循环:

如果我们F4跳过这个JMP指令,程序照样会跑起来,所以我们采用同样的思路,在这个jmp处下断点,然后看看按下多少次F9后他会执行:

答案是按下5次之后。所以,在按下4次F9之后,我们单步跟踪第五次循环。

第五次循环的过程中,如果我们F4跳过这一句:

那么程序又会跑起来,所以我们仍采用上述方式,下断点,看看如果他在按下N次F9运行之后会将程序跑起来,那么我们就按N-1次F9,之后再开始单步跟踪这个循环:

但是这里按下无数次F9都没有要结束循环的意思,我们只能在这个循环的范围内去查找看看有没有什么关键点,我们发现:

这里是一个跨段的跳转,我们到401700下个断点,看看程序会不会执行到这里:

下断点执行之后果然运行到这里,这里就是OEP。

时间: 2024-08-11 23:58:29

吾爱专题脱壳练习----压缩壳练习之一的相关文章

吾爱专题脱壳练习----压缩壳练习之三

方法一: 载入OD,使用ESP定律: 下硬件访问断点之后,运行四次,跑飞,那么我们运行三次,到这里看到很多pop: retn返回后就到达OEP了: 方法二: 直接单步跟踪,跟踪到 F4跳过,继续跟踪: 遇到这个loopd,F4跳过. 继续单步跟踪,会在下面的这三个跳转指令间循环一阵子: 往上跳到这里: 往上跳到这里: 这里再往回跳. 但是第二个画了红框的跳转地址是会改变的,当你执行到一定次数的时候,第二个红框的跳转会让你跳转到这里:

吾爱破解脱壳练习第五期------upx壳

内存镜像法: 载入OD: 内存镜像法在资源节下断点: 运行,停在这里: 再下断点: 运行,停在这里: 往下跟踪,凡是向上跳的就F4跳过. 注意这里,如果F4跳过jmp到call的位置就会跑飞,所以我们F4跳到红框的位置: 直到这里,有一个大跳转: 就跳转到了OEP:

手动脱WinUpack 壳实战--吾爱破解培训第一课选修作业六

作者:Fly2015 吾爱破解培训第一课选修作业第6个练习示例程序.不得不重复那句话,没见过这种壳,该壳是压缩壳的一种,相对于压缩壳,加密壳的难度要大一些,特别是IAT表的修复问题上. 首先分别使用DIE和Exeinfo PE对该加壳程序进行查壳的处理. OD载入加WinUpack 壳的程序进行动态调试分析,加壳程序入口点反汇编快照. 想都不用想,看到PUSHAD直接ESP定律脱壳F8单步一步,ESP寄存器右键设置硬件写入断点.F9运行程序,程序自然的断在设置的硬件断点处,如图. 有点惊呆了,硬

吾爱破解第一次培训--破解基础知识之介绍常见工具和壳的特征

L程序的运行日志 e是加载的线程 m内存 T线程 w窗口 h句柄信息 c反汇编窗口 p修改后的信息 易语言的特征代码 1: 004107E2 FC cld 2: 004107E3 DBE3 finit 3: 004107E5 E8 E2FFFFFF call 吾爱破解.004107CC 4: 004107EA 68 D7074100 push 吾爱破解.004107D7 5: 004107EF B8 03000000 mov eax,0x3 6: 004107F4 E8 41000000 cal

手动脱RLPack壳实战--吾爱破解培训第一课选修作业七

作者:Fly2015 吾爱破解论坛培训第一课选修作业练习的第7题.这个壳没听说过,但是脱起来比较简单,根据ESP定律即可直达光明,Dump出原来的程序. 老规矩,首先对需要脱壳的程序进行查壳处理. 使用DIE查壳的结果,程序加的是RLPack壳并且原程序是用微软编译器编译的. OD载入加壳程序进行调试分析,入口点代码反汇编快照. 看到PUSHAD指令想都不要想,直接ESP定律脱壳.F8单走一步在ESP寄存器上设置硬件写入断点,然后F9运行程序,程序自然断在刚才设置的硬件断点处. 显然JMP指令的

手动脱PeCompact 2.20壳实战-吾爱破解培训第一课选修作业四

作者:Fly2015 PeCompact壳又是一个没有听说过的壳,需要脱壳的程序是吾爱破解培训的第一课的选修作业四.最近对脱壳有点上瘾了,当然也遭受了脱壳受挫的无奈,但是比较幸运还是把这个壳给搞了. 对加壳程序进行查壳. 工具DIE显示程序加的是PeCompact壳,并且原来没加壳的程序使用Microsoft Visual C/C++(2008)编写的,这一点对于查找原程序的真实OEP非常有帮助. OD载入加壳的程序进行分析,加壳程序的入口点的汇编代码. F8走了几步,坑啊,写壳的作者在代码中设

手动脱KBys Packer(0.28)壳实战--吾爱破解培训第一课选修作业五

作者:Fly2015 吾爱破解培训第一课选修作业第5个练习程序,在公司的时候用郁金香OD调试该加壳程序的时候出了点问题,但是回家用吾爱破解版的OD一调试,浑身精神爽,啥问题也没有. 首先使用查壳工具对加壳的程序进行查壳操作. OD载入需要脱壳的程序进行动态调试和分析,加壳程序入口点反汇编快照. F8单步跟踪程序几步,发现了比较熟悉的PUSHAD指令,又可以轻松的使用ESP定律进行程序的脱壳了. F8单步到指令PUSHAD的下一条指令,ESP寄存器右键设置HW Break硬件写入断点,F9畅快的运

手动脱NsPacK壳实战--吾爱破解培训第一课作业2

作者:Fly2015 这里脱壳的程序是吾爱破解培训的作业2,相较于作业1稍微要强一点,但是只要掌握了脱壳的ESP定律,脱这个Nspack壳并不难,不过还是蛮有意思的. 1.使用查壳软件对加壳的程序进行查壳. 使用PE Detective查壳的结果: 使用DIE查壳的结果: 2.OD载入程序进行脱壳操作 OD载入以后,被加壳程序的入口点的汇编代码,如图.很显然,加壳程序载入OD以后,发现有3个pushad指令,因此在进行程序脱壳的时候,根据ESP定律需要下3个硬件断点. 根据该加壳程序载入OD的汇

手动脱FSG壳实战--吾爱破解培训第一课作业3

作者:Fly2015 对于FSG壳,之前没有接触过是第一次接触,这次拿来脱壳的程序仍然是吾爱破解论坛破解培训的作业3的程序.对于这个壳折腾了一会儿,后来还是被搞定了. 1.查壳 首先对该程序(吾爱破解培训第一课作业三.exe)进行查壳: 很遗憾,这次DIE也不行了,不过没事. 2.脱壳 OD载入该加壳的程序进行分析,下面是入口点的汇编代码: 起初对于该种加壳程序也是比较陌生,但是由于OD使用的还算熟悉,以及结合该加壳程序获取函数的API调用地址的特点,很快发现了该程序的关键点汇编: 于是在地址0