自动脱加密壳(导入表hash 花指令)

这里是跟着上一篇
1。加密一定要自己申请空间 那就在申请空间那下 api 断点 单步退出函数就看了返回值给 eax 记下它返回时的地址 这里是 0x0047a37f

1。也一定会获取真正的 api 那就跟到获取地址那 记下它的地址 0x001614dc
由于地址会变 就记下相对地址同时是记它的下一条 所以偏移为 14E0

2。它一定会填充 IAT 那就跟到那 一样是下一条指令地址的偏移 所以为 0897

运行截图


VAR  vOldOEP
VAR  vAllocAddr
VAR  vWriteIATAddr
VAR  vGetAPIAddr
VAR  vTmp
MOV vOldOEP,0047148B
MOV vAllocAddr, 0047A37F
MOV vGetAPIAddr,  14E0       //获取地址时的下一条指令地址
MOV vWriteIATAddr,0897      //写入 IAT 指令的下一条指令地址
// 2. 对申请空间的地方下断,取出基址
// 3. 设置其他的断点,让程序跑起来,对每一个断点进行处理
BPHWC  // 清除硬件断点
BC    //清除所有断点
BPHWS vOldOEP, "x" //当执行到此地址时产生中断.
BPHWS vAllocAddr, "x" //当执行到此地址时产生中断.
LOOP1:
RUN
CMP vAllocAddr,eip
JNZ CASE1
ADD vGetAPIAddr,  eax
ADD vWriteIATAddr,eax
BPHWS vGetAPIAddr, "x" //当执行到此地址时产生中断.
BPHWS vWriteIATAddr, "x" //当执行到此地址时产生中断.
JMP LOOP1
CASE1:
CMP vGetAPIAddr,eip
JNZ CASE2
MOV vTmp,edx
JMP LOOP1
CASE2:
CMP vWriteIATAddr,eip
JNZ CASE3
MOV [edx],vTmp
JMP LOOP1
CASE3:
MSG "到达OEP!"

原文地址:http://blog.51cto.com/haidragon/2120660

时间: 2024-10-08 18:08:58

自动脱加密壳(导入表hash 花指令)的相关文章

手工脱壳之 PESpin加密壳【SHE链硬件反调试】【IAT重定向】【混淆+花指令】

一.工具及壳介绍 使用工具:Ollydbg,PEID,ImportREC,LoadPE,IDA,Universal Import Fixer,OllySubScript 此篇是加密壳的第二篇,更详细的步骤和思考,请查看第一篇:手工脱壳之 未知加密壳 [IAT加密+混淆+花指令] PESpin壳: 二.脱壳之寻找OEP 1.硬件断点失效 尝试ESP定律,但硬件断点未断下. (原因其实是壳做了反调试,后面部分介绍) 2.采用API断点+单步跟踪 API下断: 壳导入了LoadLibrary 和 Ge

IDA分析脱壳后丢失导入表的PE

1. 问题 一些程序经过脱壳后(如用OD的dump插件),一些导入表信息丢失了,导致拖入IDA后看不到API的信息(如右图所示,第一个红圈处实际是GetCurrentProcessId),给分析造成极大影响.   2. 分析 从OD来看,41F480处的值就是API GetCurrentProcessId的地址,也就是壳修改后的导入表的位置,该地址在.rsrc Section内,即程序的资源段内,那么我们需要修复其导入表,以指向资源段内的地址 3. 修复导入表 <加密与解密>第3版的13.4.

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

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

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

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

手脱PESpin壳【06.exe】

1.查壳 2.LoradPE工具检查 一方面可以用LoradPE工具查看重定位,另一方面也可获取一些详细信息 3.查找OEP ①未发现pushad 开始未发现pushad,进行单步步入,很快就能找到pushad ②使用ESP定律 这里要注意如果是有守护进程的话,需要使用[Crtl+G],在输入框中输入"CreateMutexA",点击"OK",解除双进程守护.我们在函数末尾的Retn 0xC处下断点,因为壳会判断这个函数的头部是否有断点. 发现程序运行起来了,可以确

《初识PE》导入表

最近听别人讲的我晕晕乎乎的,于是上网上百度下,感觉这篇还不错.  链接:http://www.blogfshare.com/pe-export.html 一.导入表简介 在编程中常常用到"导入函数"(Import functions),导入函数就是被程序调用但其执行代码又不在程序中的函数,这些函数的代码位于一个或者多个DLL中,在调用者程序中只保留一些函数信息,包括函数名及其驻留的DLL名等. 于磁盘上的PE 文件来说,它无法得知这些输入函数在内存中的地址,只有当PE 文件被装入内存后

小甲鱼PE详解之输入表(导入表)详解(PE详解07)

捷径并不是把弯路改直了,而是帮你把岔道堵上! 走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇! 岔路会将你引入万劫不复的深渊,并越走越深…… 在开始讲解输入表(导入表)概念之前,请允许小甲鱼童鞋用简短的几句话来总结之前我们学过的内容,并做进一步的思想综合提升,注意咯! 首先,我们知道PE 文件中的数据被载入内存后根据不同页面属性被划分成很多区块(节),并有区块表(节表)的数据来描述这些区块.这里我们需要注意的问题是:一个区块中的数据仅仅只是由于属性相同

加密壳之ACProtect之OEP的处理

菜驹也玩加密壳之ACProtect之OEP的处理 附件下载:加壳文件和pdf 1.      加密过程: ACProctect v1.41版本 分析对OEP入口点代码的偷取 2.      分析过程: 载入后,EIP= 00412000 00412000>  60              pushad 00412001    E8 01000000     call vcmfc库1.00412007 00412006  - 7E 83           jle Xvcmfc库1.00411F

手动脱FSG壳实战

作者:Fly2015 对于FSG壳.之前没有接触过是第一次接触.这次拿来脱壳的程序仍然是吾爱破解论坛破解培训的作业3的程序.对于这个壳折腾了一会儿,后来还是被搞定了. 1.查壳 首先对该程序(吾爱破解培训第一课作业三.exe)进行查壳: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > 非常遗憾.这次