首先,想说明的是这个壳在我的PC上是可以用上一个帖子中的方法来到假的OEP的:http://www.52pojie.cn/forum.php?mod=viewthread&tid=433462&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline,可能跟系统版本有关。如果大家使用这个连接中的帖子无法来到假的OEP那么可以参考下下面的方法,对于比较难的壳,我们首先先掌握方法,脱得多了,自然而然也就会了。当然,对于抽取OEP代码的壳,我们首先要知道不同语言写出来的程序的入口点代码特征,大家可以参考:http://www.52pojie.cn/thread-421969-1-1.html

1.载入PEID

ACProtect v1.35 -> risco software Inc. & Anticrack Softw

2.载入OD,异常选项不勾选INT3选项,隐藏OD,吾爱官方现在的OD隐藏OD在strongOD里面,还是使用最后一次异常法shift+F9一次,第二次就会跑飞了

004AC000 >                pushad                            ; //入口点
004AC001 4E dec esi
004AC002 D3D6 rcl esi,cl
004AC004 4E dec esi
004AC005 :D3E8 shr ax,cl
004AC008 4E dec esi
004AC009 8BC3 mov eax,ebx
 

3.落脚点,落脚后在堆栈闯窗口右键单机SE句柄,然后选择[数据窗口跟随],然后右键选中数据窗口跟随的地方下内存访问断点,然后shift+F9一次

0012FF24   004BAAF0  SE处理程序     //堆栈窗口SE句柄

004BAAF0  0424448B      //数据窗口跟随

004BAB23                  nop                               ; //最后一次异常法落脚点
004BAB24 ::8F06 pop dword ptr fs:[]
004BAB2A 83C4 add esp,0x4
004BAB2D pushad
004BAB2E E8 call NetClean.004BAB33
004BAB33 5E pop esi
004BAB34 83EE sub esi,0x6
004BAB37 B9 5B000000 mov ecx,0x5B

4.落脚点,在落脚点的位置下断点F2,然后shift+F9一次

004BAAF0    8B4424        mov eax,dword ptr ss:[esp+0x4]    ; //落脚点
004BAAF4 8B4C24 0C mov ecx,dword ptr ss:[esp+0xC]
004BAAF8 FF81 B8000000 inc dword ptr ds:[ecx+0xB8]
004BAAFE 8B00 mov eax,dword ptr ds:[eax]
004BAB00 2D sub eax,0x80000003
004BAB05 jnz short NetClean.004BAB19
004BAB07 nop
 

5.落脚点,在落脚点的位置同样下断点F2然后shift+F9一次

004BAB4E    8B048E          mov eax,dword ptr ds:[esi+ecx*]  ; //落脚点
004BAB51 8B5C8E mov ebx,dword ptr ds:[esi+ecx*+>
004BAB55 03C3 add eax,ebx
004BAB57 C1C8 0E ror eax,0xE
004BAB5A 2BC2 sub eax,edx
004BAB5C 81EA D41CF55C sub edx,0x5CF51CD4
 

6.落脚点,落脚后先清除两个F2断点,一个内存访问断点,然后找到下面最近的retn,F4运行到指定位置。

004BAB62    89048E          mov dword ptr ds:[esi+ecx*],eax  ; //落脚点
004BAB65 dec ecx
004BAB66 ^ EB E1 jmp short NetClean.004BAB49
004BAB68 popad
004BAB69 popad
004BAB6A C3 retn ; //F4
004BAB6B add byte ptr ds:[eax],al
 

7.到这里后就是脱壳的最佳时机了(如果想要看看假的OEP位置可以按照上一篇的脱壳法到内存界面401000下断点shift+F9运行过去看下).我们在命令行输入”d 12ffc0”,据ximo大神讲,这是ACProtect壳的死穴,记着就好。输入完命令后回车,在数据窗口第一行下硬件断点,然后shift+F9运行一次(我在我的PC上下硬件断点程序会跑飞,我的是win7–32,悲催。还是老老实实用XP吧)

0012FFC0        //数据窗口第一行
 

8.落脚点的位置就是被偷取代码的第一行,一共被偷取了三行代码,使用二进制把它复制出来

004C9B31                    push ebp                               ; //被偷取代码1
004C9B32 8BEC mov ebp,esp ; //被偷取代码2
004C9B34 6A FF push - ; //被偷取代码3
004C9B36 nop
004C9B37 pushad 8B EC 6A FF //二进制复制一共5个字节

9.点击来到内存窗口在401000位置下断点F2然后shift+F9一次来到假的OEP,向上找5个字节(如果向上拉的时候代码乱掉了就右键分析一下代码再向上拉)

004431F9     D8B24400     push NetClean.0044B2D8            ; //假的OEP
004431FE B4334400 push NetClean.004433B4
:A1 mov eax,dword ptr fs:[]
push eax
0044320A : >mov dword ptr fs:[],esp
83EC sub esp,0x68
 

10.如下,找到5个字节后选中并右键使用二进制粘贴

004431F4      8C              db 8C                                  ;  //第1个字节
004431F5 . C3 retn ; //第2个字节
004431F6 db ; //第3个字节
004431F7 2E db 2E ; //第4个字节
004431F8 db ; //第5个字节
004431F9 . D8B24400 push NetClean.0044B2D8 ; //假的OEP
004431FE . B4334400 push NetClean.004433B4 SE 处理程序安装
. :A1 mov eax,dword ptr fs:[]
. push eax
0044320A . : >mov dword ptr fs:[],esp
. 83EC sub esp,
 

11.在新的OEP位置右键新建EIP,然后可以先进行一下脱壳,当然脱壳后的程序是不能运行的。

004431F4                  push ebp                          ;  //此处新建EIP
004431F5 8BEC mov ebp,esp
004431F7 6A FF push -0x1
004431F9 . D8B24400 push NetClean.0044B2D8 ; //假的OEP
004431FE . B4334400 push NetClean.004433B4 处理程序安装
. :A1 >mov eax,dword ptr fs:[]
. push eax
0044320A . : >mov dword ptr fs:[],esp
. 83EC sub esp,0x68
 

12.OD载入已脱壳的程序,先去到原脱壳程序的入口点(可以使用PEID查看一下未脱壳程序的入口点然后在OD中跟随一下),然后把被抽取的三行代码改到入口点的三行代码中,第四行改为一个无条件跳转”jmp 00ff31f4”,跳转到我们新建EIP的那个地址如下图(可能是系统不同,所以改好后显示的代码跟XP下不一样,还是要用XP脱壳才行):

  • 修改前:
004AC000 > $              pushad                            ;  //入口点
004AC001 . 4E dec esi
004AC002 . D3D6 rcl esi,cl
004AC004 . 4E dec esi
004AC005 . :D3E8 shr ax,cl
004AC008 . 4E dec esi
004AC009 . 8BC3 mov eax,ebx

  • 修改后
004AC000 >                push ebp                          ;  //入口点
004AC001 8BEC mov ebp,esp
004AC003 6A FF push -0x1
004AC005 - E9 EA71F9FF jmp NetClean.004431F4 ;//无条件跳转
004AC00A C3 retn
004AC00B . dec eax

13.修改完成后选中修改的几行代码,然后右键–复制到可执行文件–选择,在新出现的窗口再右键–保存文件,保存到一个路径下。然后使用loadPE把保存好的文件的入口点改为和未脱壳程序一样的入口点。就可以正常运行了。

14.运行查壳

运行OK,查壳:UnKnow  查壳虽然好像还是有壳的样子,但是其实已经脱掉了。

手脱ACProtect v1.35(无Stolen Code)之二的更多相关文章

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

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

  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.4X(有Stolen Code)

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

  5. 手脱ACProtect V2.0(无Stolen Code)

    1.载入PEID ACProtect V2.0 -> risco 2.载入OD > 00A04000 push ACP_Feed.0040A000 ; //入口点 0B104000 pus ...

  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. 手脱ASProtect v1.23 RC1(有Stolen Code)之以壳解壳

    1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C06D00 push SoWorker.006DC001 ; //入口点 ...

  9. 手脱ASProtect v1.23 RC1(有Stolen Code)

    1.载入PEID ASProtect v1.23 RC1 常见ASprotect版本壳: ASProtect 1.23 RC4 按shift+f9键26次后来到典型异常 ASProtect 1.31 ...

随机推荐

  1. We are writing to let you know we have removed your selling privileges

     Hello, We are writing to let you know we have removed your selling privileges, canceled your listin ...

  2. Python-2.7 配置tab自动补全功能

    作者博文地址:http://www.cnblogs.com/spiritman/ 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全 ...

  3. 两张神图介绍python3和 2.x与 3.x 的区别

    有感与第一张图, 做了第二张图.

  4. Python:字符串操作总结

    所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最小值最大值)对字符串同样适用,且字符串是不可变的. 一.字符串格式化 转换说明符 [注]: 这些项的顺序至关重要 (1)%字符:标记转换 ...

  5. FivePlus——团队展示

    光耀101  <光耀101>是福州大学数计学院计算机专业推出的中国首部程序猿脱发养成节目.由张栋担任发起人,刘晨瑶.畅畅担任导师.  该节目召集了你猜多少位选手,通过任务.训练.考核,让选 ...

  6. 模拟登入教务处(header)

    import HTMLParser import urlparse import urllib import urllib2 import cookielib import string import ...

  7. 在pycharm中使用scrapy爬虫

    目标在Win7上建立一个Scrapy爬虫项目,以及对其进行基本操作.运行环境:电脑上已经安装了python(环境变量path已经设置好), 以及scrapy模块,IDE为Pycharm .操作如下: ...

  8. PAT L1 - 046 整除光棍

    https://pintia.cn/problem-sets/994805046380707840/problems/994805084284633088 这里所谓的“光棍”,并不是指单身汪啦~ 说的 ...

  9. Linux 查看端口占用情况

    转自:http://www.cnblogs.com/fabulousyoung/p/4071150.html 例子,查看80端口的占用情况: lsof -i:80   或者: netstat -apn ...

  10. IE 之 userData 模拟 localStorage

    引 chrome,  safari, firefox, ie 9都支持 localStorage.  但可恶的是,中国 ie 6 占有最大的比例. 使用 cookie 不但容量有限,而且给我们增加了不 ...