手脱JDPack
1.PEID查壳
JDPack
2.载入OD,入口是一个pushad入栈,可以使用ESP,下硬件访问断点,shift+F9
0040E000 >60 pushad ; //入口
0040E001 E8 00000000 call JDPACK.0040E006 ; //ESP
0040E006 5D pop ebp
0040E007 8BD5 mov edx,ebp
0040E009 81ED C62B4000 sub ebp,JDPACK.00402BC6
0040E00F 2B95 3D344000 sub edx,dword ptr ss:
3.ESP落脚点,落脚点的下一行就是一个retn,经过实践证明,这就是跳向OEP的关键跳,F8让跳转实现
0040E3FD 50 push eax ; //ESP落脚点
0040E3FE C3 retn ; //指向OEP的关键跳
0040E3FF 23E8 and ebp,eax
0040E401 72 00 jb short JDPACK.0040E403
0040E403 0000 add byte ptr ds:,al
0040E405 8CC8 mov ax,cs
0040E407 50 push eax
4.来到OEP,脱壳吧
004035C9 6A 00 push 0x0 ; //来到OEP
004035CB E8 A20A0000 call JDPACK.00404072
004035D0 A3 5B704000 mov dword ptr ds:,eax
004035D5 68 80000000 push 0x80
004035DA 68 2C754000 push JDPACK.0040752C
004035DF FF35 5B704000 push dword ptr ds:
004035E5 E8 820A0000 call JDPACK.0040406C
004035EA E8 87070000 call JDPACK.00403D76
004035EF 6A 00 push 0x0
004035F1 68 0B364000 push JDPACK.0040360B
5.运行,查壳
运行OK,查壳:TASM / MASM
估计你这出一个系列手动脱壳教程。。会火 枫叶飘零 发表于 2015-11-15 00:07
估计你这出一个系列手动脱壳教程。。会火
{:301_1008:}不敢不敢,我这还嫩得很,以前都脱过,好久不脱我都忘了,刚好今天有时间,重新把掌握过的一些壳再脱一遍顺便争利成帖子发出来,免得以后时间长了忘了 前排留名支持感谢分享经验 这个教程好,谢谢 感谢楼主分享 真牛逼了 关注你好久了
页:
[1]