Jian丶ylt 发表于 2015-11-15 00:03

手脱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












枫MapleLCG 发表于 2015-11-15 00:07

估计你这出一个系列手动脱壳教程。。会火

Jian丶ylt 发表于 2015-11-15 00:31

枫叶飘零 发表于 2015-11-15 00:07
估计你这出一个系列手动脱壳教程。。会火

{:301_1008:}不敢不敢,我这还嫩得很,以前都脱过,好久不脱我都忘了,刚好今天有时间,重新把掌握过的一些壳再脱一遍顺便争利成帖子发出来,免得以后时间长了忘了

一时颓废 发表于 2015-11-15 00:40

前排留名支持感谢分享经验

耀哥@宋耀 发表于 2015-11-15 00:54

这个教程好,谢谢

w571you 发表于 2015-11-15 09:10

感谢楼主分享

E式丶男孩 发表于 2015-11-15 09:30

真牛逼了 关注你好久了
页: [1]
查看完整版本: 手脱JDPack