1.载入PEID

ACProtect V2.0 -> risco

2.载入OD

 >   00A04000     push ACP_Feed.0040A000                         ; //入口点
0B104000 push ACP_Feed.0040100B
0040100A C3 retn
0040100B C3 retn
0040100C 858A 1D04802F test dword ptr ds:[edx+2F80041D],ecx
- ja short ACP_Feed.00400F96
EE out dx,al
 

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

7C8099B0 >  :A1   mov eax,dword ptr fs:[]                      ; //落脚点
7C8099B6 8B40 mov eax,dword ptr ds:[eax+]
7C8099B9 C3 retn
7C8099BA nop
7C8099BB nop
 

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

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

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

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

7C80B731 >  8BFF            mov edi,edi                                    ; //落脚点
7C80B733 push ebp
7C80B734 8BEC mov ebp,esp
7C80B736 837D cmp dword ptr ss:[ebp+],
7C80B73A je short kernel32.7C80B754
7C80B73C FF75 push dword ptr ss:[ebp+]
 

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

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

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

                  push ebp                                       ; //OEP
8BEC mov ebp,esp
83C4 F0 add esp,-
push ebx
B8 mov eax,ACP_Feed.
0040215C E8 4FFCFFFF call ACP_Feed.00401DB0
C4214000 push ACP_Feed.004021C4 ; ASCII "ACProtect Feedback Form"
6A push
6A push
 

9.运行查壳

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

手脱ACProtect V2.0(无Stolen Code)的更多相关文章

  1. 手脱ACProtect v1.35(无Stolen Code)之二

    首先,想说明的是这个壳在我的PC上是可以用上一个帖子中的方法来到假的OEP的:http://www.52pojie.cn/forum.php?mod=viewthread&tid=433462 ...

  2. 手脱ACProtect v1.35(无Stolen Code)

    1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...

  3. 手脱ACProtect V1.4X(有Stolen Code)之补区段

    首先需要说的是,这个壳是ximo大神视频教程里的 0041F000 > pushad ; //程序入口点 0041F001 E8 call NgaMy.0041F007 0041F006 E8 ...

  4. 手脱ACProtect v1.35(有Stolen Code)

    1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...

  5. 手脱ACProtect V1.4X(有Stolen Code)

    1.载入PEID ACProtect V1.4X -> risco 首先需要说明的是,这个壳被偷取的代码非常多,如果去找的话会比较麻烦,所以我们换一种另类的方法,不脱壳也可以使用资源修改器对程序 ...

  6. 手脱ASProtect v1.2(无Stolen Code)

    1.载入PEID ASProtect v1.2 2.载入OD > 01C04200 push 跑跑赛道.0042C001 ; //入口处 C3 retn AA stos byte ptr es: ...

  7. 手脱ASProtect v1.23 RC1(无Stolen Code)

    1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C04200 push 跑跑排行.0042C001 ; //入口处 E8 c ...

  8. 手脱ASPack v2.12变形壳2

    1.PEID载入 ASPack v2.12 2.载入OD,跟之前帖子的入口特征相同,都是一个pushad,但是请不要怀疑这是同一个壳,绝对不是,pushad下一行ESP定律下硬件断点,然后shift+ ...

  9. 手脱PEtite v2.1

    1.载入PEID PEtite v2.1 2.载入OD,先F8跟一下 0042C10F > B8 00C04200 mov eax,跑跑排行.0042C000 ; //程序入口点 0042C11 ...

随机推荐

  1. Linux内核设计笔记10——内核同步

    Linux内核同步笔记 几个基本概念 - 临界区(critical region):访问和操作共享数据的代码段: - 原子操作:操作在执行中不被打断,要么不执行,要么执行完: - 竞争条件: 两个线程 ...

  2. lintcode-34-N皇后问题 II

    34-N皇后问题 II 根据n皇后问题,现在返回n皇后不同的解决方案的数量而不是具体的放置布局. 样例 比如n=4,存在2种解决方案 标签 递归 思路 参考http://www.cnblogs.com ...

  3. LintCode-532.逆序对

    逆序对 在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.给你一个数组,求出这个数组中逆序对的总数. 概括:如果a[i] > a[j] 且 i < j, a[i ...

  4. 数据库集群之路二 MYCAT

    windows下安装配置并使用mycat 参考:http://www.cnblogs.com/parryyang/p/5758087.html 一 下载windows版本 https://github ...

  5. eclipse 创建并运行maven web项目

    这两天想在eclipse上运行maven web项目,折腾了许久,总算success啦. 1,利用eclipse创建dynamic web project(eclipse需要安装m2eclipse). ...

  6. JAVA的中文字符乱码问题

    来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...

  7. Kafka性能之道

    Kafka高性能之道 高效使用磁盘 零拷贝 批处理和压缩 Partition ISR 高效使用磁盘 >顺序写cipan >Append Only(数据不更新,无记录级的数据删除,只会整个s ...

  8. concurrenthashmap jdk1.8

    参考:https://www.jianshu.com/p/c0642afe03e0 CAS的思想很简单:三个参数,一个当前内存值V.旧的预期值A.即将更新的值B,当且仅当预期值A和内存值V相同时,将内 ...

  9. arp hook

    最近疯狂的研究Linux的种种功能,也颇有心得,这里讲述一下Linux下的Net的Hook,使用net的Hook可以实现很多很多非常底层的功能,比如过滤报文,做防火墙,做代理等等. Now,Let's ...

  10. [BinaryTree] 最大堆的类实现

    堆的定义: 最大树(最小树):每个结点的值都大于(小于)或等于其子结点(如果有的话)值的树.最大堆(最小堆):最大(最小)的完全二叉树. 最大堆的抽象数据结构: class MaxHeap { pri ...