深圳建设局网站深业中城绿化项目,营销型网站开发流程包括,软件公司网站模版,建设银行投资网站各种壳的脱法及技巧
常见脱壳知识#xff1a; 1.PUSHAD #xff08;压栈#xff09; 代表程序的入口点 2.POPAD #xff08;出栈#xff09; 代表程序的出口点#xff0c;与PUSHAD相对应#xff0c;一般找到这个,说明OEP可能就在附近 3.OEP#xff1a;程序的入口点 1.PUSHAD 压栈 代表程序的入口点 2.POPAD 出栈 代表程序的出口点与PUSHAD相对应一般找到这个,说明OEP可能就在附近 3.OEP程序的入口点软件加壳就是隐藏了OEP或者用了假的OEP 只要我们找到程序真正的OEP就可以立刻脱壳 1、模拟跟踪法
无暗桩情况下使用 1.F9试运行跑起来就无SEH暗桩之类的否则就有. 2.ALTM打开内存镜像找到包含“sfx,imports reloco tions”字符 3.地址* 命令行输入:tceip*,回车 、单步跟踪
1.用OD载入不分析代码 2.单步向下跟踪F8是向下跳的让它实现 3.遇到程序往回跳的包括循环我们在下一句代码处按F4或者右健单击代码选择断点――运行到所选 4.绿色线条表示跳转没实现不用理会红色线条表示跳转已经实现 5.如果刚载入程序在附近就有一个CALL的我们就F7跟进去这样很快就能到程序的OEP 6.在跟踪的时候如果运行到某个CALL程序就运行的就在这个CALL中F7进入 7.一般有很大的跳转比如 jmp XXXXXX 或者 je XXXXXX 或者有RETE的一般很快就会到程序的OEP。 、ESP定律脱壳
ESP在OD的寄存器中我们只要在命令行下ESP的硬件访问断点就会一下来到程序的OEP了
1.用Od载入后就按F8注意观察OD右上角的寄存器中ESP有没出现(变红色 2.在命令行下dd 0012FFA4(0012FFA4指在当前代码中的ESP地址)按回车 3.选种下断的地址下硬件访问WORD断点。 4.按一下F9运行程序直接来到了跳转处按下F8到达程序OEP脱壳 、内存跟踪
1用OD打开软件 2点击选项――调试选项――异常把里面的忽略全部勾上CTRLF2重新加载程序 3按ALTM,打开内存镜象找到第一个.rsrc.按F2下断点然后按SHIFTF9运行到断点接着再按ALTM, 打开内存镜象找到.RSRC上面的CODE按F2下断点然后按SHIFTF9直接到达程序OEP脱壳 、跟踪出口法
一步到达OEP前辈们总结的经验 1.开始按CtrlF,输入popad只适合少数壳包括ASPACK壳然后按下F2F9运行到此处 2.来到大跳转处点下F8脱壳 、最后一次异常法
1用OD打开软件 2点击选项――调试选项――异常把里面的勾全部去掉CTRLF2重新加载程序 3在这里我们按SHIFTF9直到程序运行记下从开始按SHIFTF9到程序运行的次数 4CTRLF2重新加载程序按SHIFTF9次数为程序运行的次数-1次 5在OD的右下角我们看见有一个SE 句柄这时我们按CTRLG输入SE 句柄前的地址 6按F2下断点然后按SHIFTF9来到断点处 7去掉断点按F8慢慢向下走 8到达程序的OEP脱壳 、懒人脱壳法脱壳较慢
1、用od载入软件 2、点击选项――调试选项――SFX 3、选中“字节方式跟踪真正入口处速度非常慢” 4、重新载入软件 5、od开始自动跟踪入口点 6、直接到达oep脱壳适用于少数壳 下面是一些常见壳的脱法
手脱EZIP 1.0 的壳
因为这个壳会修改PE头 用OD脱壳后即使修复了也不能运行。所以最简单的方法是采用 LordPE 这个工具脱壳。具体步骤 首先运行目标软件程序不是用OD而是想像平时使用一样双击打开→从 LordPE 列表中选中目标程序的进程→点”鼠标右键“ 选择”完整脱壳“。最后用 ImportREC 进行修复。 手脱wwpack 的壳
这个壳跟上面说的 EZIP 1.0 的壳一样OD脱壳 ImportREC 进行修复 程序还是无法运行。所以还是要用 LordPE 进行脱壳工作。 具体步骤 从 LordPE 列表中选中目标程序的进程→点”鼠标右键“ 选择”完整脱壳“。最后用 ImportREC 进行修复 。发现还是不能运行 最关键的地方到了用 LordPE 这个软件自带的重建 PE 修复功能重建PE头重建后即可运行 手脱 UPX 壳的捷径
1、直接ESP定律
2、用我们已开始提到的”关键提示“。 具体操作OD载入程序后直接CtrlF输入 POPAD ;点确定后 来到这个命令所在的位置。按F2在这个地方下断再按F9运行停止后按F2取消刚才下的断点。再F8单步 手脱 ASPCK 的壳
脱这个壳用ESP定律还是相对快捷的。可以用载入程序后第二行是一个CALL那里面的ESP。 //多数程序这个壳的第二行都是一个CALL 在左OD左下角的命令行中输入命令hr ESP地址如 hr 0012FFA4F9 运行。然后从OD”调试菜单“中的”硬件断点“这一项将刚才下的断点删除这点很重要最后F8单步 用内存镜像法手脱FSG 1.33 和 PCshrink 的壳
1、忽略所有异常 2、AltM 打开内存镜像找到第一个 ”.rsrc“ 3、F2下断F9运行 4、AltM 打开内存镜像找到”Code“段 5、F2下断ShiftF9【这点一定要记住切记是 ShiftF9】运行 6、先按F8再按下F4直接到达OEP PEpack 1.0 和 WinUpack 0.37-0.39 和 RLPack v.1.14-16
用esp定律 手脱 JDpack 壳
脱这个壳推荐使用内存镜像法 。 手脱 PEDiminisher Dxpack 0.86 32lite 0.03a PEtite 2.2 这几种壳的简单方法
脱PEDiminisher Dxpack 0.86 这两种壳的时候直接用之前讲到的ESP定律即可完美脱壳。命令【hr ESP地址】
用ESP脱 32lite 0.03a 后 要注意的是需要用 ImportREC 这个工具进行修复。如00410D50 在输入框中输入 10D50 就可以了【004舍去】
在用ESP定律脱 PEtite 2.2 的时候推荐选择 Pushad 下面那行地址中的 ESP 手脱 Exestealth 2.72 的壳
看到这或许会沉迷与ESP定律当中在这里提醒大家Exestealth 2.72 的壳 用我们一开始提到的”懒方法脱壳“是最简单的 手脱nspack北斗1.3 的壳
1、ESP定律命令hr ESP地址 【脱壳后程序不能正常运行】 2、用 ImportREC 这个工具进行修复修复后程序正常运行。 另类方法脱 ASPack 2.12R 壳的技巧
CtrlS 搜索retn 0C【retn和零C 中间有个空格】 找到后向下看如下
retn 0C push 0 //在 retn 0C 的下面 retn //在这个地方按 F2下断 F9运行
停止后按 一下 F8单步再按一下 F7跟进 观看这看不懂没关系要是我我也看不懂所以我早有准备详细步骤如下这是某程序的一部分
程序中断后来到这里 0046B3B8 C2 oc00 retn 0C //开始F8单步 0046B3B9 68 64584500 push registra.00455864 //这里调用来自 00455864 OEP 0046B3C0 C3 retn //F7(跟进) 步入到OEP
注意这种壳ESP不能直接脱。 脱FSG v2.0技巧
用od打开之后找到一个三跳转的地方就是一个判断跳转语句跳过了一个jmp用F4走到jmp的位置单步就可以找到oep的位置用lordpe转存之后在修复的时候还有个坑fsg会在输入表的地方加一些无用的干扰所以要手工定位找到一个API用d 地址的命令找到输入表开始的地方减去基址为rva在判断一下大小最后把无效函数去掉在修复转存文件就可以了。 手脱PECompact 2.x
这个壳一般先给eax赋值然后压栈那么一定会访问eax所以我们运行到push eax下面然后给eax里的地址下一个访问断点接着不断地f9会有一个jmp大跳转单步跟过去就是oep 手脱KBys Packer
od载入先走几步F8发现了PUSHAD这就可以用ESP了再ESP下断点F9一步走到oep附近F8发现一个jmp大跳转跟过去就是熟悉的入口指令这就是oep了 总结