欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

利用ESP定律脱 UPX 0.89.6 – 1.02 / 1.05 – 1.24 壳实例

来源:本站整理 作者:佚名 时间:2014-09-09 TAG: 我要投稿

 利用ESP定律不仅使得脱压缩壳变得非常简单,而且可以应付不少加密壳。
简单地说,ESP定律就是利用了堆栈平衡的原理。
可以把壳假设为一个子程序,当壳把代码解压前和解压后,必须要做的是遵循堆栈平衡的原理。
让ESP执行到OEP时,使ESP和壳初始入栈时的ESP相一致。
ESP定律的使用方法:载入加壳程序,当ESP中的值第一次改变时记下这个值。
对这个值下的硬件访问断点,运行程序后,一般的压缩壳都会停在待转向OEP的那条语句上。
利用ESP定律脱 UPX 0.89.6 – 1.02 / 1.05 – 1.24 壳实例
1.OllyDbg打开加了UPX壳的Crackme.exe
地址 HEX数据 反汇编 注释
00457B40 60 PUSHAD 程序的入口点
寄存器 ( FFU )
EAX 00000000
ECX 0012FFB0
EDX 7C92EB94 ntdll.KiFastSystemCallRet
EBX 7FFDD000
ESP 0012FFC4
EBP 0012FFF0
ESI FFFFFFFF
EDI 7C930738 ntdll.7C930738
EIP 00457B40 Crackme.<模块入口点>
C 0 ES 0023 32位 0(FFFFFFFF)
P 1 CS 001B 32位 0(FFFFFFFF)
A 0 SS 0023 32位 0(FFFFFFFF)
Z 1 DS 0023 32位 0(FFFFFFFF)
S 0 FS 003B 32位 7FFDF000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -UNORM BCE0 01050104 00000000
ST1 empty 0.0
ST2 empty 0.0
ST3 empty 0.0
ST4 empty 0.0
ST5 empty 0.0
ST6 empty 0.0
ST7 empty 0.0
3 2 1 0 E S P U O Z D I
FST 0000 Cond 0 0 0 0 Err 0 0 0 0 0 0 0 0 (GT)
FCW 027F Prec NEAR,53 掩码 1 1 1 1 1 1

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载