手脱ACProtect v1.35(有Stolen Code)
1.载入PEID
ACProtect v1.35 -> risco software Inc. & Anticrack Soft
2.载入OD,需要注意的是,异常选项除了[内存访问异常]外其他全部勾选上,然后shift+F9运行至最后一次异常,是1次之后。第二次程序就跑飞了
> pushad ; //入口
7C jl short QQ个性签.
7D jge short QQ个性签.
0B jno short QQ个性签.
C2 66C1 retn 0xC166
0043600A D29E FC4566D3 rcr byte ptr ds:[esi-0x2C99BA04],>
D27403 sal byte ptr ds:[ebx+eax+0x75],cl
add dword ptr ds:[edi+0x66],esi
3.落脚点,落脚后右键点堆栈窗口SE句柄—数据窗口跟随—数据窗口第一行下内存访问断点然后shift+F9
00447B1F CD int 0x1 ; //落脚点
00447B21 inc eax
00447B22 inc eax
00447B23 0BC0 or eax,eax
00447B25 jnz short QQ个性签.00447B2C
00447B27 nop
00447B28 nop 0012FF44 00447B03 SE处理程序 //堆栈窗口 00447B03 0C245C8B //数据窗口第一行
4.落脚点,在落脚点下F2断点,然后shift+F9
00447B03 8B5C24 0C mov ebx,dword ptr ss:[esp+0xC] ; //落脚点
00447B07 B8000000 >add dword ptr ds:[ebx+0xB8],0x2
00447B0E 33C0 xor eax,eax
00447B10 C3 retn
00447B11 ::FF36 push dword ptr fs:[]
00447B17 :: mov dword ptr fs:[],esp
5.落脚点,继续在这里下F2断点,然后shift+F9运行
00447B53 8B048E mov eax,dword ptr ds:[esi+ecx*] ; //落脚点 00447B56 8B5C8E mov ebx,dword ptr ds:[esi+ecx*+>
00447B5A 2BC3 sub eax,ebx
00447B5C C1C0 rol eax,0x7
00447B5F 33C2 xor eax,edx
00447B61 81C2 4B3DF129 add edx,0x29F13D4B
6.落脚点,先清除刚刚下的2个F2断点和1个内存访问断点,然后在最近的retn处F4
00447B67 89048E mov dword ptr ds:[esi+ecx*],eax ; //落脚点
00447B6A dec ecx
00447B6B ^ EB E1 jmp short QQ个性签.00447B4E
00447B6D popad
00447B6E popad
00447B6F C3 retn ; //F4
00447B70 add byte ptr ds:[eax],al
7.在无StolenCode的帖子中已经说过,正常情况下接下来是在内存窗口的401000处下段然后shift+F9运行就可以到OEP了,但是我们这个壳你这样操作后会发现OEP处的代码好像不对劲,因为被抽取过了,我们要做的是点[调试]按钮—设置条件,或者使用快捷键ctrl+T,在弹出来的界面勾选最下面一个然后输入被偷取的代码,我使用的ximo教程里的壳,被偷取的代码为”push ebp”,输入完后点确定,然后使用快捷键ctrl+F11跟踪步入(或者点[调试]–跟踪步入)
8.找到了我们被偷取的代码,在这个壳中被偷取了三行代码,选中这三行,二进制复制
004254C8 popad
004254C9 push ebp ; //被偷取1
004254CA 8BEC mov ebp,esp ; //被偷取2
004254CC 83EC sub esp,0x44 ; //被偷取3
004254CF pushad
004254D0 pushad 8B EC EC //二进制复制出来的,一共6个字节
9.然后到内存窗口,在401000处下断F2,然后shift+F9运行来到假的OEP,向上找6个字节(看代码第二列,两位为一个字节),然后右键–二进制—使用nop填充,填充完毕后再数6个字节,然后使用二进制粘贴
004010D2 push esi
004010D3 FF15 E4634000 call dword ptr ds:[0x4063E4] ; //假的OEP
004010D9 8BF0 mov esi,eax
004010DB 8A00 mov al,byte ptr ds:[eax]
004010DD 3C cmp al,0x22
004010DF 1B jnz short notepad9.004010FC
004010E1 push esi
10.此时OEP已经补充完整了,接着右键点’push ebp’哪一行—点[此处新建EIP]然后就可以脱壳了,脱壳注意[重建输出表]这一项不勾选,脱壳后使用ImportREC修复,我在脱壳的过程中出现过修复失败的情况,这种情况我一般都是用ImportREC上修复的插件或者别的版本的ImportREC来修复,可以都试试。
004010CC push ebp
004010CD 8BEC mov ebp,esp
004010CF 83EC sub esp,0x44
004010D2 push esi
004010D3 FF15 E4634000 call dword ptr ds:[0x4063E4] ; notepad9.0040D1BA
004010D9 8BF0 mov esi,eax ; kernel32.BaseThreadInitThunk
004010DB 8A00 mov al,byte ptr ds:[eax]
004010DD 3C cmp al,0x22
004010DF 1B jnz short notepad9.004010FC
004010E1 push esi
11.运行查壳
运行OK,查壳:Microsoft Visual C++ v6.0 SPx
手脱ACProtect v1.35(有Stolen Code)的更多相关文章
- 手脱ACProtect v1.35(无Stolen Code)之二
首先,想说明的是这个壳在我的PC上是可以用上一个帖子中的方法来到假的OEP的:http://www.52pojie.cn/forum.php?mod=viewthread&tid=433462 ...
- 手脱ACProtect v1.35(无Stolen Code)
1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...
- 手脱ACProtect V1.4X(有Stolen Code)之补区段
首先需要说的是,这个壳是ximo大神视频教程里的 0041F000 > pushad ; //程序入口点 0041F001 E8 call NgaMy.0041F007 0041F006 E8 ...
- 手脱ACProtect V1.4X(有Stolen Code)
1.载入PEID ACProtect V1.4X -> risco 首先需要说明的是,这个壳被偷取的代码非常多,如果去找的话会比较麻烦,所以我们换一种另类的方法,不脱壳也可以使用资源修改器对程序 ...
- 手脱ACProtect V2.0(无Stolen Code)
1.载入PEID ACProtect V2.0 -> risco 2.载入OD > 00A04000 push ACP_Feed.0040A000 ; //入口点 0B104000 pus ...
- 手脱ASProtect v1.2(无Stolen Code)
1.载入PEID ASProtect v1.2 2.载入OD > 01C04200 push 跑跑赛道.0042C001 ; //入口处 C3 retn AA stos byte ptr es: ...
- 手脱ASProtect v1.23 RC1(有Stolen Code)之以壳解壳
1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C06D00 push SoWorker.006DC001 ; //入口点 ...
- 手脱ASProtect v1.23 RC1(有Stolen Code)
1.载入PEID ASProtect v1.23 RC1 常见ASprotect版本壳: ASProtect 1.23 RC4 按shift+f9键26次后来到典型异常 ASProtect 1.31 ...
- 手脱ASProtect v1.23 RC1(无Stolen Code)
1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C04200 push 跑跑排行.0042C001 ; //入口处 E8 c ...
随机推荐
- IO模型浅析-阻塞、非阻塞、IO复用、信号驱动、异步IO、同步IO
最近看到OVS用户态的代码,在接收内核态信息的时候,使用了Epoll多路复用机制,对其十分不解,于是从网上找了一些资料,学习了一下<UNIX网络变成卷1:套接字联网API>这本书对应的章节 ...
- CS231n assignment2
preparation: solve the problem of `from builtins import rang` pip install future update_rule
- ASP.NET 异步Web API + jQuery Ajax 文件上传代码小析
该示例中实际上应用了 jquery ajax(web client) + async web api 双异步. jquery ajax post $.ajax({ type: "POST&q ...
- 软件工程android项目简介
我们的程序名字叫做“有爱”APP,英文名“you i”.意味着you and i,是一款旨在两人聊天,生活日记,记账工具,和对方通知的小软件. 1.首先我们的创意解决了用户什么需求? 答:在当今信息爆 ...
- iOS开发 常见错误
一.NSAppTransportSecurity 错误提示:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL ...
- 基础系列(6)—— C#类和对象
一.类介绍 类(class)是C#类型中最基础的类型.类是一个数据结构,将状态(字段)和行为(方法和其他函数成员)组合在一个单元中.类提供了用于动态创建类实例的定义,也就是对象(objec ...
- A10
今日内容: 完善界面.解决剩下的一些问题 明日计划: 无 困难: 无
- HDU 5651 xiaoxin juju needs help 逆元
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5651 bc:http://bestcoder.hdu.edu.cn/contests/con ...
- 第6题 ZigZag转换
题目描述如下: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of ro ...
- 【leetcode】59.Spiral Matrix II
Leetcode59 Spiral Matrix II Given an integer n, generate a square matrix filled with elements from 1 ...