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)的更多相关文章

  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.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,不勾选内存访问异常,其他异常全部勾选 > 01C06D00 push SoWorker.006DC001 ; //入口点 ...

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

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

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

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

随机推荐

  1. PSP Daily软件Alpha版本——基于NABCD评论,及改进建议

    1.根据(不限于)NABCD评论作品的选题: 此软件的用户人群较为明确,即:用户(软件工程课上学生)记录例行报告.写每周PSP表格和统计的需求.潜在用户还有未来该课堂的学生和需要用PSP方法记录任务完 ...

  2. vim 编码方式的设置

    和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括UCS-2.UTF-8 等流行的 Unicode 编码方式.然而不幸的是,和很多来自 Linux 世界的软件一样,这需要 ...

  3. Alpha-end

    前言 失心疯病源10 团队代码管理github 个人感悟 肝不动了,肝不动了.明天如果见不到我,不要太想我. 站立会议 队名:PMS 530雨勤(组长) 今天完成了那些任务 熬夜肝代码 代码签入git ...

  4. lintcode-389-判断数独是否合法

    389-判断数独是否合法 请判定一个数独是否有效. 该数独可能只填充了部分数字,其中缺少的数字用 . 表示. 注意事项 一个合法的数独(仅部分填充)并不一定是可解的.我们仅需使填充的空格有效即可. 说 ...

  5. Swift-switch使用注意点

    1.swift后面的()可以省略 2.case后面的额break可以省略 3.如果想产生case穿透使用fallthrough 4.case后面可以判断多个条件","分割 5.sw ...

  6. Beta阶段冲刺第一天

    提供当天站立式会议照片一张 讨论项目每个成员的昨天进展 昨天开始了Beta阶段的冲刺,总体讨论了一下这个阶段的任务,然后明确了个人分工. 讨论项目每个成员的存在问题 第一天暂时还没有什么问题,可能最大 ...

  7. 敏捷冲刺DAY8

    一. 每日会议 1. 照片 2. 昨日完成工作 第一次阶段测试. 3. 今日完成工作 对前七次敏捷冲刺的工作进行完善. 4. 工作中遇到的困难 浏览器兼容性问题.页面响应性能问题.内存溢出问题-- 二 ...

  8. crontab & php实现多进程思路

    <?php $startTime = time(); while(1) { if (time() - $startTime > 600) { exit; } // ... Do SomeT ...

  9. 虚拟机中安装 centOS,本地安装 SSH 连接 - 01

    下面把自己安装 centOS 的过程记录下,选取的版本是 centOS6.8 ,下载地址在脚本之家 down 的 : 阿里云 x64 http://mirrors.aliyun.com/centos/ ...

  10. PC和FPGA间的串口通信实现

    应用笔记 V1.0 2015/03/26 PC和FPGA间的串口通信实现   概述   本文将介绍PC和FPGA间的串口通信实现的基本思路和Verilog代码,对于通信而言,收发双方都要有相应的控制. ...