手脱UPX壳

调试工具是PEID和OD

脱壳工具为OllyDbg,在oep处右键,用ollydump脱壳调试进程。

单步跟踪

单步调试,向上的跳转不让其实现,向下跳转可以实现。(F8单步调试)
当遇到向上的跳转的时候可以在其下一行,右键,断点,运行到选定位置即可。当碰到向上跨度很大的跳转时,考虑跳到oep。

ESP定律法

F8单步调试,ESP突变。右键,在数据窗口跟随。

ESP定律法.png

也可以用dd XXXXX或hr XXXXX
然后在下面数值处设置硬件访问断点,然后运行,在单步即可进入oep。
注意每设置一次硬件断点运行后都删除,以免出现错误
硬件访问

2次内存镜像法

首先进入内存窗口,然后找程序段的.rsrc,下断点,然后运行。


2次内存镜像法
2次内存镜像法

然后在进入内存窗口,找程序段的upx0,一般为Exeinfo显示的第一个,下断点,运行。然后单步调试到大的向上跳转出,即可进入oep。

一步直达法

适用于大部分的UPX壳和aspack壳
进入程序时为pushed进栈命令,需要查找对应的出栈命令。
CRRL+F查找popad出栈命令,然后运行到该位置。单步进入跳转位置。


Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,916评论 25 709
  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 3,365评论 0 10
  • 概念:继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使...
    没说再见阅读 275评论 0 0
  • 相信别人往往比相信自己更简单,是恐于未知,还是惧于无力 即使只能孤独的在黑暗中等待,我也相信,下一秒你就会出现在我...
    东坝先生阅读 227评论 0 0
  • Cascading | Cascadinghttp://www.cascading.org/projects/ca...
    葡萄喃喃呓语阅读 390评论 0 1