upx脱壳日记[通俗易懂]

upx脱壳日记[通俗易懂]一、静态方法upx-d有时候可能会失败,需要切换使用正确的UPX版本。Windows下内置对各UPX版本的第三方图形化界面UPXShell工具,可以方便的切换版本,通过go按钮,可以切换upx加壳版本与脱壳版本二、动态方法(手脱)虽然UPX本身可以脱壳,但是UPX是基于加壳后可执行文件内存储的标识来查找并操作的,由于UPX是开源的,软件保护者可以随意修改这些标识,从而导致官方标准版本的UPX脱壳失败。因为UPX中可以改动的地方太多,所以人们在这种情况下一般采用动态脱壳x86的..

大家好,又见面了,我是你们的朋友全栈君。

一、静态方法

upx -d

有时候可能会失败,需要切换使用正确的UPX版本。Windows下内置对各UPX版本的第三方图形化界面UPXShell工具,可以方便的切换版本,通过go按钮,可以切换upx加壳版本与脱壳版本

   upx脱壳日记[通俗易懂]upx脱壳日记[通俗易懂]

二、动态方法(手脱)

虽然UPX本身可以脱壳,但是UPX是基于加壳后可执行文件内存储的标识来查找并操作的,由于UPX是开源的,软件保护者可以随意修改这些标识,从而导致官方标准版本的UPX脱壳失败。因为UPX中可以改动的地方太多,所以人们在这种情况下一般采用动态脱壳

x86的汇编指令pushad可以轻松将所有寄存器一次性压入栈,UPX使用了这样的方式,被形象的称为“保护现场”,所以将这里的下一步执行后,在esp下硬件读取断点,再次调用就是esp返回的时候,我们直接就可以回到原来的程序执行流

执行过程:

先F8到pushad的下一步,然后在寄存器那边右键ESP,”HW break [ESP]”下硬件断点

upx脱壳日记[通俗易懂]

设置完成后,F9运行,再次中断到一个地址

upx脱壳日记[通俗易懂]

实际上这是一个将栈空间向上清零0x80长度的循环,并不是程序真实代码,后面有一个向前的大跳转,从0x430638跳到0x404ddc,这样就跳到原程序的位置

upx脱壳日记[通俗易懂]

单击这一按jmp指令,然后F4,使程序跳到此指令上执行,然后F8,此时看起来已经很正常了

upx脱壳日记[通俗易懂]

然后对程序dump。在OD中选择“插件”-“OllyDump”-“脱壳正在调试的进程”,然后单击获取EIP作为OEP,再单击脱壳,保存后可完成脱壳

upx脱壳日记[通俗易懂]

此时IDA中和程序执行都已正常

upx脱壳日记[通俗易懂]

upx脱壳日记[通俗易懂]

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157967.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • LINUX环境tomcat宕机自启

    LINUX环境tomcat宕机自启写一个monitor.sh脚本用于判断tomcat进程是否存在,若不存在则启动tomcat脚本链接https://download.csdn.net/download/qq_41959871/13722321查看定时任务状态systemctlstatuscrond/sbin/servicecrondstart//启动服务/sbin/servicecrondstop//关闭服务/sbin/servicecrondrestart//重启服务/sbin/servicecron

  • 浅析Nginx与Apache的区别[通俗易懂]

    浅析Nginx与Apache的区别[通俗易懂]Nginx:1.轻量级,采用C进行编写,同样的web服务,会占用更少的内存及资源2.抗并发,nginx以epollandkqueue作为开发模型,处理请求是异步非阻塞的,多个连接对应一个进程,负载能力比apache高很多,而apache则是同步多进程模型,只能一个连接对应一个进程,当压力过大时,它是会被阻塞型的。在高并发下nginx能保持低资源低消耗高性能,而apache在PHP处…

  • 高通QXDM工具使用

    高通QXDM工具使用1.连接机器2.打开设备管理器查看端口3.查看调制解调器属性4.打开QXDM运行程序5.连接6.连接成功7.发送AT指令(发送成功会有回显)

  • 牛客网–字符串排序

    牛客网–字符串排序

  • 给定一个ip地址,子网掩码怎么算网络号(如何获取ip地址和子网掩码)

    1.Internet上每一台计算机都有唯一的地址来标识它的身份,即IP地址,使用域名其实也是要转化为IP地址的。2.IP地址分类:A类:000~127,默认子网掩码:255.0.0.0B类:128~191,默认子网掩码:255.255.0.0C类:192~223,默认子网掩码:255.255.255.0D类:224~239E类:240~255 3.假设现有一IP地址180.21…

  • 基于python的安全帽识别安全帽检测可以检测图片,视频流,有界面[通俗易懂]

    基于python的安全帽识别安全帽检测可以检测图片,视频流,有界面[通俗易懂]安全帽识别,安全帽检测yolo可以检测图片,视频流,有界面python识别率99%效果图:效果视频:项目代码下载:链接:https://pan.baidu.com/s/1CpcDb1LHpF84svV66blJSw提取码:86sq复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V1的分享…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号