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

  1. 手脱ASPack v2.12

    1.PEID查壳提示为: ASPack 2.12 -> Alexey Solodovnikov 2.载入OD,程序入口点是一个pushad,在他的下一行就可以进行ESP定律,下硬件访问断点然后s ...

  2. 手脱Aspack变形壳1

    1.载入PEID Aspack v2.12 -> www.aspack.com 2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http:/ ...

  3. 手脱ASPack

    ESP定律到达OEP,重新分析代码块 在菜单栏中找到OllyDump插件,该插件的窗口的弹了出来,有一些选项可供我们修改,我们可以对Base of Code进行修改,这里Base of Code = ...

  4. 手脱PEtite v2.1

    1.载入PEID PEtite v2.1 2.载入OD,先F8跟一下 0042C10F > B8 00C04200 mov eax,跑跑排行.0042C000 ; //程序入口点 0042C11 ...

  5. 手脱PECompact v2.xx

    个人认为这个壳对于新手有那么一点点难度,所以用单步和ESP都跑一下,我觉得单步是最最基础的,所以一定要掌握 一.单步 1.PEID查壳 PECompact v2.xx (16 ms) 2.载入OD,除 ...

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

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

  7. 脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律

    脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律 一丶什么是ESP定律 首先我们要明白什么是壳.壳的作用就是加密PE的. 而ESP定律就是壳在加密之前,肯定会保存所有寄存器环境,而出来的时候, ...

  8. 【个人笔记】ximo早期发的脱壳教程——手脱UPX壳

    [个人笔记]ximo早期发的脱壳教程--手脱UPX壳   壳分为两种:压缩壳和加密壳,UPX是一种很简单的压缩壳.   手脱UPX壳: 工具:ExeinfoPE.OD 对象:rmvbfix 方法1:单 ...

  9. 简单脱壳教程笔记(2)---手脱UPX壳(1)

    本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记. ximo早期发的脱壳基础视频教程 下载地址如下: http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7% ...

随机推荐

  1. 特征点检测--基于CNN:TILDE: A Temporally Invariant Learned DEtector

    TILDE: A Temporally Invariant Learned DEtector Yannick Verdie1,∗ Kwang Moo Yi1,∗ Pascal Fua1 Vincent ...

  2. 使用 Mesos 管理虚拟机

    摘要 为了满足渲染.基因测序等计算密集型服务的需求,UCloud 推出了“计算工厂”产品,让用户可以快速创建大量的计算资源(虚拟机).该产品的背后,是一套基于 Mesos 的计算资源管理系统.本文简要 ...

  3. High School: Become Human(数学思维)

    Year 2118. Androids are in mass production for decades now, and they do all the work for humans. But ...

  4. HashMap和HashTable源码分析

    HashMap HashMap是一个实现了Map接口的Hash表.提供所有Map的操作,并且允许null key和null value.HashMap几乎等同于HashTable,只不过HashMap ...

  5. phpMyadmin导入导出数据中出现的错误处理

    1 2

  6. default.properties文件

    在地址栏访问某个 action 之所以能访问到,只因为在 default.properties 配置文件中有一个键值对,key 为struts.action.extension,值为 action,, ...

  7. Java多线程 -sleep 用法详解

    阿里面试官问我这个问题,我仔细总结了一下: 参考:sleep.yield.wait.join的区别(阿里面试) 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确 ...

  8. HSF源码剖析

    前言 HSF是一个分布式的远程服务调用框架,其实我更喜欢把分布式几个字去掉,因为HSF本身并不是一个单独的服务(指一个进程),他是附属在你的应用里的一个组件,一个RPC组件(远程过程调用——Remot ...

  9. postman优缺点

    postman优缺点分析 优点:门槛低,上手快 优点: 脚本语言是js 优点:自带各种代码模块 优点:跨平台 优点: 免费版就已经非常强大了,支持http,https协议 优点:有命令行版本,newm ...

  10. BZOJ 1177 Oil(特技枚举)

    对于三个正方形的位置一共有六种情况. 预处理出(i,j)左上角,左下角,右上角,右下角区域内最大权值的正方形. 枚举分界线更新答案. 刚开始想了一个错误的DP也是蠢啊. #include<set ...