手脱ASProtect v1.23 RC1(无Stolen Code)
1.载入PEID
ASProtect v1.23 RC1
2.载入OD,不勾选内存访问异常,其他异常全部勾选
> 01C04200 push 跑跑排行.0042C001 ; //入口处
E8 call 跑跑排行.0040100B
0040100A C3 retn
0040100B C3 retn
0040100C D6 salc
0040100D push esp
0040100E 4A dec edx
0040100F pushad
push ebp
3.使用最后一次异常法,来到最后一次异常处应该是第16次,第17次就跑飞了
009E2CD1 xor dword ptr ds:[eax],eax ; //落脚点
009E2CD3 :8F05 >pop dword ptr fs:[]
009E2CDA pop eax
009E2CDB 833D 7C6D9E00 >cmp dword ptr ds:[9E6D7C],
009E2CE2 je short 009E2CF8
009E2CE4 6A 0C push 0C
009E2CE6 B9 7C6D9E00 mov ecx,9E6D7C
009E2CEB 8D45 F8 lea eax,dword ptr ss:[ebp-]
009E2CEE BA mov edx,
009E2CF3 E8 54E1FFFF call 009E0E4C
4.往下拉找到最近的一个retn处F2,shift+F9,F2,让程序运行到指定位置
009E2D08 FF75 F0 push dword ptr ss:[ebp-]
009E2D0B FF75 EC push dword ptr ss:[ebp-]
009E2D0E C3 retn ; //F2,shift+F9,F2
009E2D0F 5F pop edi
009E2D10 5E pop esi
009E2D11 5B pop ebx
5.程序到这里有两种方式可以到达OEP:
- 第一种:
打开内存窗口,在00401000处下段然后shift+F9就可以到达OEP
0040A41E push ebp ; //来到OEP
0040A41F 8BEC mov ebp,esp
0040A421 6A FF push -
0040A423 C8CB4000 push 跑跑排行.0040CBC8
0040A428 A4A54000 push 跑跑排行.0040A5A4
0040A42D :A1 mov eax,dword ptr fs:[]
0040A433 push eax
0040A434 : >mov dword ptr fs:[],esp
0040A43B 83EC sub esp,
- 第二种:
找到堆栈窗口第四行(跑跑排行榜.0040000下面两行)的值,也就是”0012FFA4”,然后命令行下硬件断点”hr 0012FFA4”,然后shift+F9运行一次
堆栈窗口:
0012FF5C 009F2BF4 //第一行
0012FF60 跑跑排行.
0012FF64 3D375BA5
0012FF68 0012FFA4 //第四行
0012FF6C 009D0000
0012FF70 009B0000
这里是一个大跳转,也就是指向OEP的关键跳,F8单步一次
009F3457 - FFE0 jmp eax ; //落脚点
009F3459 :8BC4 mov ax,sp
009F345C BD F2E44268 mov ebp,6842E4F2
009F3461 F7D5 not ebp
009F3463 81C5 8039C332 add ebp,32C33980
009F3469 80D2 adc dl,
009F346C BF A1CAF122 mov edi,22F1CAA1
009F3471 C1CF B3 ror edi,0B3 0040A41E push ebp ; //来到OEP
0040A41F 8BEC mov ebp,esp
0040A421 6A FF push -
0040A423 C8CB4000 push 跑跑排行.0040CBC8
0040A428 A4A54000 push 跑跑排行.0040A5A4
0040A42D :A1 mov eax,dword ptr fs:[]
0040A433 push eax
0040A434 : >mov dword ptr fs:[],esp
0040A43B 83EC sub esp,
6.然后依然是LoadPE+ImportREC脱壳,注意使用ImportREC修复的时候等级1+插件修复
7.运行查壳
运行OK,查壳:Microsoft Visual C++ v6.0
手脱ASProtect v1.23 RC1(无Stolen Code)的更多相关文章
- 手脱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.2(无Stolen Code)
1.载入PEID ASProtect v1.2 2.载入OD > 01C04200 push 跑跑赛道.0042C001 ; //入口处 C3 retn AA stos byte ptr es: ...
- 手脱ACProtect V1.4X(有Stolen Code)之补区段
首先需要说的是,这个壳是ximo大神视频教程里的 0041F000 > pushad ; //程序入口点 0041F001 E8 call NgaMy.0041F007 0041F006 E8 ...
- 手脱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.35(有Stolen Code)
1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...
- 手脱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 ...
随机推荐
- LeetCode - 442. Find All Duplicates in an Array - 几种不同思路 - (C++)
题目 题目链接 Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ...
- Python3 Tkinter-Spinbox
1.创建 from tkinter import * root=Tk() Spinbox(root).pack() root.mainloop() 2.参数 from_ 最小值 to 最大 ...
- 【转】Angular.js VS. Ember.js:谁将成为Web开发的新宠?
本文源自于Quora网站的一个问题,作者称最近一直在为一个新的Rails项目寻找一个JavaScript框架,通过筛选,最终纠结于 Angular.js和 Ember.js. 这个问题获得了大量的关注 ...
- Scala快速入门-基础
HelloWorld 从HelloWorld开始,使用scala IDE编辑器. 新建scala project 新建scala object 编写HelloWorld run as scala ap ...
- nuget程序包还原失败:未能解析此远程名称
一个简便的方法就是取消下载缺少的程序包. 步骤如下: 1,工具--NuGet程序包管理器--程序包管理器设置 2,NuGet Package Manager--常规,取消勾选.
- mini2440 Nor Flash工作原理分析
我的mini2440上是只接了一块Nor Flash,型号是S29AL016M90TAI02,这是一块2M Byte,16位宽度的Nor Flash,用于引导扇区的闪存.原理图里面关键的引脚是: 地址 ...
- ManagementClass("Win32_Share")之共享目录
public class ShareFolder { private static readonly Dictionary<uint, string> ReturnDetails = ne ...
- windows与linux下执行.class(包含main方法)
来源:http://blog.csdn.net/hanqunfeng/article/details/4327325 一般来说,执行一个java文件采用执行jar包的方式最为方便(java -jar ...
- java List接口实现类
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...
- java-自定义标签&&JSTL标签库详解
自定义标签是Jav aWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简介: ...