手脱ASPack v2.12变形壳2
1.PEID载入
ASPack v2.12
2.载入OD,跟之前帖子的入口特征相同,都是一个pushad,但是请不要怀疑这是同一个壳,绝对不是,pushad下一行ESP定律下硬件断点,然后shift+F9运行一次
0057E001 > pushad ; //程序入口点
0057E002 E8 call memcolla.0057E00A ; //ESP定律
0057E007 - E9 EB045D45 jmp 45B4E4F7
0057E00C push ebp
0057E00D C3 retn
0057E00E E8 call memcolla.0057E014
3.ESP落脚点,删除硬件断点继续F8,注意,普通的aspack壳在注释的地方会跳向OEP,但是这个没有
0057E3B0 / jnz short memcolla.0057E3BA ; //程序落脚点
0057E3B2 |B8 mov eax,0x1
0057E3B7 |C2 0C00 retn 0xC
0057E3BA \ push memcolla.
0057E3BF C3 retn ; //普通壳会在这里跳向OEP
0057E3C0 8B85 mov eax,dword ptr ss:[ebp+0x426]
0057E3C6 8D8D 3B040000 lea ecx,dword ptr ss:[ebp+0x43B]
4.步骤3的retn跳向的位置,到这里继续F8
87C0 xchg eax,eax ; //跳转的位置
FC cld
80EC sub ah,0x0
83F1 xor ecx,0x0
nop
5.这是一个近call,F7跟进,然后继续F8就可以到达OEP了,需要注意的是中间有几个向上跳转,记得在下一行F4
0057D40D E8 call memcolla.0057D424 ; //F7
0057D412 80CA or dl,0x0
0057D415 push eax
0057D416 9C pushfd
0057D417 pop eax
0057D418 F6C4 test ah,0x1
0057D41B - FE jnz short memcolla.0057D41B
6.找到关键跳,F8一下就可以到OEP了
0057D5A3 popad
0057D5A4 BA F8085000 mov edx,memcolla.005008F8
0057D5A9 - FFE2 jmp edx ; //指向OEP的关键跳
0057D5AB add byte ptr ds:[eax],al
0057D5AD add byte ptr ds:[eax],al
7.来到OEP,可以脱壳了
005008F8 push ebp ; //OEP
005008F9 8BEC mov ebp,esp
005008FB 83C4 F0 add esp,-0x10
005008FE push ebx
005008FF push esi
B8 mov eax,memcolla.
E8 665FF0FF call memcolla.
0050090A 8B1D mov ebx,dword ptr ds:[0x504108]
8B35 9C415000 mov esi,dword ptr ds:[0x50419C]
8.运行,查壳
运行OK,查壳:Borland Delphi 4.0
手脱ASPack v2.12变形壳2的更多相关文章
- 手脱ASPack v2.12
1.PEID查壳提示为: ASPack 2.12 -> Alexey Solodovnikov 2.载入OD,程序入口点是一个pushad,在他的下一行就可以进行ESP定律,下硬件访问断点然后s ...
- 手脱Aspack变形壳1
1.载入PEID Aspack v2.12 -> www.aspack.com 2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http:/ ...
- 手脱ASPack
ESP定律到达OEP,重新分析代码块 在菜单栏中找到OllyDump插件,该插件的窗口的弹了出来,有一些选项可供我们修改,我们可以对Base of Code进行修改,这里Base of Code = ...
- 手脱PEtite v2.1
1.载入PEID PEtite v2.1 2.载入OD,先F8跟一下 0042C10F > B8 00C04200 mov eax,跑跑排行.0042C000 ; //程序入口点 0042C11 ...
- 手脱PECompact v2.xx
个人认为这个壳对于新手有那么一点点难度,所以用单步和ESP都跑一下,我觉得单步是最最基础的,所以一定要掌握 一.单步 1.PEID查壳 PECompact v2.xx (16 ms) 2.载入OD,除 ...
- 手脱ACProtect V2.0(无Stolen Code)
1.载入PEID ACProtect V2.0 -> risco 2.载入OD > 00A04000 push ACP_Feed.0040A000 ; //入口点 0B104000 pus ...
- 脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律
脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律 一丶什么是ESP定律 首先我们要明白什么是壳.壳的作用就是加密PE的. 而ESP定律就是壳在加密之前,肯定会保存所有寄存器环境,而出来的时候, ...
- 【个人笔记】ximo早期发的脱壳教程——手脱UPX壳
[个人笔记]ximo早期发的脱壳教程--手脱UPX壳 壳分为两种:压缩壳和加密壳,UPX是一种很简单的压缩壳. 手脱UPX壳: 工具:ExeinfoPE.OD 对象:rmvbfix 方法1:单 ...
- 简单脱壳教程笔记(2)---手脱UPX壳(1)
本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记. ximo早期发的脱壳基础视频教程 下载地址如下: http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7% ...
随机推荐
- HTML5+Bootstrap 学习笔记 4
HTML5 <map> <area> 标签 <map> 标签定义客户端的图像映射.图像映射是带有可点击区域的图像. <area> 标签定义图像映射内部的 ...
- Bean的装配
1.可以从ApplicationContext上下文获取和bean工厂获取容器,bean工厂只建议在移动端应用使用. 2.如果使用的是applicationContext配置的是bean,如果作用域是 ...
- [leetcode-908-Smallest Range I]
Given an array A of integers, for each integer A[i] we may choose any x with -K <= x <= K, and ...
- underscore.js源码解析(四)
没看过前几篇的可以猛戳这里: underscore.js源码解析(一) underscore.js源码解析(二) underscore.js源码解析(三) underscore.js源码GitHub地 ...
- 四则运算3+psp0
题目要求: 1.程序可以判断用户的输入答案是否正确,如果错误,给出正确答案,如果正确,给出提示. 2.程序可以处理四种运算的混合算式. 3.要求两人合作分析,合作编程,单独撰写博客. 团队成员:张绍佳 ...
- Hash开散列 拉链法
#include<iostream> #include<cstdio> using namespace std; const int maxn=1000007; struct ...
- lintcode-420-报数
420-报数 报数指的是,按照其中的整数的顺序进行报数,然后得到下一个数.如下所示: 1, 11, 21, 1211, 111221, ... 1 读作 "one 1" -> ...
- java使用匿名类直接new接口
翻看Vector代码的时候,看到这么一段. /** * Returns an enumeration of the components of this vector. The * returned ...
- DNS缓存服务器的配置步骤
yum安装bind 编辑主配置文件/etc/named.conf 修改全局配置文件段 listen-on port 53 {172.16.19.45;}; //allow-query ...
- MySQL 事物机制
前言:事物:一组原子性的SQL查询,或多个SQL语句组成了一个独立的单元.要么这一组SQL语句全部执行,要么全部不执行 (一)事物日志介绍:管理事物机制的日志 redo日志:记录SQL执行的语句,这些 ...