Jian丶ylt 发表于 2015-11-15 23:18

手脱ACProtect V2.0(无Stolen Code)

声明:

       1.只为纪录自己成长历程,高手勿喷
       2.您的热心是新手持续发帖的动力

首先说明一下,之前发过一篇同样的帖子,是图文的,但是今天回顾下来发现之前的帖子不是很明朗,一些操作说的不叫模糊,http://www.52pojie.cn/thread-419145-1-1.html,如果可以希望版主可以把之前那个帖子删掉,个人有点小强迫症,做事比较追求完美。



1.载入PEID

    ACProtect V2.0 -> risco

2.载入OD

00401000 >68 00A04000   push ACP_Feed.0040A000                         ; //入口点
00401005    68 0B104000   push ACP_Feed.0040100B
0040100A    C3            retn
0040100B    C3            retn
0040100C    858A 1D04802F   test dword ptr ds:,ecx
00401012- 77 82         ja short ACP_Feed.00400F96
00401014    EE            out dx,al

3.命令行输入:"bp GetCurrentProcessId",然后shift+F9运行,落脚点在这个位置

7C8099B0 >64:A1 18000000mov eax,dword ptr fs:                      ; //落脚点
7C8099B6    8B40 20         mov eax,dword ptr ds:
7C8099B9    C3            retn
7C8099BA    90            nop
7C8099BB    90            nop

4.先取消刚刚下的断点(Bp就是下断的意思),然后打开LoadPE,查看OD载入的这个程序的进程号也就是PId。我这里是"00000254",可能不同的机器或者系统打开后显示的不同。

5.然后把步骤三中的代码进行修改,修改落脚点代码,把"mov eax,"后面的那个值改为步骤四中的Pid的值,然后把把原先落脚点下一行的mov代码整个给nop掉。修改完成后的代码变为下图这样:

7C8099B0 >B8 54020000   mov eax,254                                    ; //落脚点
7C8099B5    90            nop
7C8099B6    90            nop
7C8099B7    90            nop
7C8099B8    90            nop
7C8099B9    C3            retn
7C8099BA    90            nop
7C8099BB    90            nop

6.步骤五执行完之后下第二个断点"BP GetModuleHandleA",然后shift+F9,落脚点应该是这个位置

7C80B731 >8BFF            mov edi,edi                                    ; //落脚点
7C80B733    55            push ebp
7C80B734    8BEC            mov ebp,esp
7C80B736    837D 08 00      cmp dword ptr ss:,0
7C80B73A    74 18         je short kernel32.7C80B754
7C80B73C    FF75 08         push dword ptr ss:

7.取消断点,打开内存界面,在401000的位置下断点然后shift+F9运行,此时会弹出ACProtect的提示框,点一下确定就可以

Memory map, 项目 22
地址=00401000
大小=00002000 (8192.)
属主=ACP_Feed 00400000
区段=CODE
包含=SFX,代码
类型=映像 01001002
访问=R
初始访问=RWE

8.点完确定后就直接来到OEP了,然后使用LoadPE+ImportREC脱壳即可

00402150    55            push ebp                                       ; //OEP
00402151    8BEC            mov ebp,esp
00402153    83C4 F0         add esp,-10
00402156    53            push ebx
00402157    B8 10214000   mov eax,ACP_Feed.00402110
0040215C    E8 4FFCFFFF   call ACP_Feed.00401DB0
00402161    68 C4214000   push ACP_Feed.004021C4                         ; ASCII "ACProtect Feedback Form"
00402166    6A 00         push 0
00402168    6A 00         push 0

9.运行查壳

    运行OK,查壳:Borland Delphi v3.0






E式丶男孩 发表于 2015-11-21 19:42

非常支持你的分享
页: [1]
查看完整版本: 手脱ACProtect V2.0(无Stolen Code)