UPX脱壳总结

我近期研究了一下UPX壳的脱壳方法,下面给出脱壳示例:

UPX作为一款元老级PE加密壳,在以前的那个年代盛行,著名病毒【熊猫烧香】就是使用这款加密壳。
现在我们一起来脱UPX壳来揭开它的神秘面纱。
首先,PEiD载入含UPX壳的程序,结果如下:

UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo

然后用OD载入,OEP如下:

0040E8C0 >  60              PUSHAD
0040E8C1    BE 15B04000     MOV ESI,UPX.0040B015
0040E8C6    8DBE EB5FFFFF   LEA EDI,DWORD PTR DS:[ESI+FFFF5FEB]
0040E8CC    57              PUSH EDI
0040E8CD    83CD FF         OR EBP,FFFFFFFF
0040E8D0    EB 10           JMP SHORT UPX.0040E8E2
0040E8D2    90              NOP
0040E8D3    90              NOP
0040E8D4    90              NOP
0040E8D5    90              NOP
0040E8D6    90              NOP
0040E8D7    90              NOP

然后单步跟踪……直到大跳转:

0040EA0F  - E9 B826FFFF     JMP UPX.004010CC
0040EA14    0000            ADD BYTE PTR DS:[EAX],AL
0040EA16    0000            ADD BYTE PTR DS:[EAX],AL
0040EA18    0000            ADD BYTE PTR DS:[EAX],AL
0040EA1A    0000            ADD BYTE PTR DS:[EAX],AL
0040EA1C    0000            ADD BYTE PTR DS:[EAX],AL
0040EA1E    0000            ADD BYTE PTR DS:[EAX],AL
0040EA20    0000            ADD BYTE PTR DS:[EAX],AL

跟踪到这里,发现后面均为填充位,于是跟进跳转:

004010CC    55              PUSH EBP
004010CD    8BEC            MOV EBP,ESP
004010CF    83EC 44         SUB ESP,44
004010D2    56              PUSH ESI
004010D3    FF15 E4634000   CALL DWORD PTR DS:[4063E4]               ; kernel32.GetCommandLineA
004010D9    8BF0            MOV ESI,EAX
004010DB    8A00            MOV AL,BYTE PTR DS:[EAX]
004010DD    3C 22           CMP AL,22
004010DF    75 1B           JNZ SHORT UPX.004010FC
004010E1    56              PUSH ESI
004010E2    FF15 F4644000   CALL DWORD PTR DS:[4064F4]               ; USER32.CharNextA
004010E8    8BF0            MOV ESI,EAX
004010EA    8A00            MOV AL,BYTE PTR DS:[EAX]

发现熟悉的Win32API了,程序入口就在这里了。

果断使用OllyDump,

EIP作为OEP,脱壳,

将新PE程序保存为aaa.exe,

然后运行aaa.exe,

结果与脱壳前一样,脱壳成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352867.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

记一次没遇到过的UPX脱壳

关于壳的介绍见CTF-WIKI 这里就不多赘述了 拿到我们的程序,先查看 64位upx壳,首先直接upx -d试一下,结果是失败报错提示下图 (一开始也有怀疑过是不是版本不兼容的问题,后来尝试高版本还是兼容低版本的) …

CTF逆向-Upx脱壳攻防世界simple unpack

文章目录 前言UPX技术原理应用范围软件使用 CTF实战程序查壳UPX脱壳 总结 前言 加壳软件分两类: 压缩壳:压缩的目的是减少程序体积,如 ASPack、UPX、PECompact 等;加密壳:加密是为了防止程序被反编译(反汇…

UPX脱壳逐一跟踪分析

UPX脱壳逐一跟踪分析 写在前面OD跟踪命令先结合PE知识分析分析“新年快乐.exe” 写在前面 之前看到的UPX脱壳文章都只是教了方法,对UPX的原理少有提及。看了《逆核》的UPX脱壳一章后,俺尝试把UPX脱壳与PE文件结构的知识结合起来整理了一些(也…

逆向:UPX脱壳

2020/05/18 - 引言 本身对加壳这种东西只是知道,只知道可以使用软件进行自动化脱壳,没有具体了解过原理。然后,最近部署的蜜罐经常下载UPX加壳的样本。这次就来分析一下。 学习到的东西 利用vim修改十六进制内容upx脱壳 样本 首先&#xff0c…

对于UPX脱壳的解决

(upx学习ing,不定期更新一些自己遇到的一些关于此的比较好的题目或者感悟) 对于手动脱壳,我们有两种常用的安全工具,一个是od,另一个是ida。两个方法略有不同。对于脱一般的程序壳的时候,我主要用的是ida来脱壳&#…

Linux4.9 Tomcat部署及优化

文章目录 计算机系统5G云计算第六章 LINUX Tomcat部署及优化一、Tomcat概述1.Tomcat核心组件2.什么是 servlet3.什么是 JSP4.Tomcat 功能组件结构5.Container 结构分析6.Tomcat 请求过程7. 配置文件 二、Tomcat 服务部署1.关闭防火墙,将安装 Tomcat 所需软件包传到/…

elf 变异upx 脱壳

题目 是某ctf题 首先使用IDA打开: 函数极少,有壳。 查看函数 这个跳转比较可疑 下面进行IDA动态调试 进入loc_52D516 再进入 直到找到jmp r13 运行到这里,F8跳转 直接retn下断点F9,直接retn下断点F9重复, 直到…

upx手动脱壳

工具 upx:upx是一个开源的压缩壳工具,可以到github下载upxStudy_PE工具,可以到看雪论坛下载 upx简单的用法 upx src.exe命令将src.exe加壳 upx src.exe -o dst.exe命令将src.exe加壳并另存为dst.exe upx手动脱壳 脱壳原理 平衡堆栈法(又…

upx脱壳教程(buuctf逆向题新年快乐)

upx脱壳 脱壳教程步骤:工具: 实际操作OEP导出内存文件(dump)修复 题目链接 脱壳教程 步骤: 1.找到OEP 2.导出内存文件(dump) 3.修复 工具: 吾爱破解OD x32dbg/x64dbg 实际操作 …

微信小程序开发之云函数本地调试

环境 微信开发者工具 Stable 1.06.2303220云开发控制台 v1.5.47 简介 微信云开发提供了云函数本地调试功能,在本地提供了一套与线上一致的 Node.js 云函数运行环境,让开发者可以在本地对云函数调试: 在本地调试时,可以设置断点…

全面的软件测试

1 全过程的软件测试图解 传统的软件测试,开发人员完成任务之后,最后交付给测试人员,这种模式下,测试人员不能及早发现需求阶段的缺陷,同时测试工作的开展也滞后了,产品质量得不到有效的过程控制和分析&…

List of USB ID's

为什么80%的码农都做不了架构师&#xff1f;>>> # # List of USB IDs # # Maintained by Stephen J. Gowdy <linux.usb.idsgmail.com> # If you have any new entries, please submit them via # http://www.linux-usb.org/usb-ids.html # or send entries a…

FastAPi上传文件报错,There was an error parsing the body

问题描述 通过postman调用fastapi编写的文件接口报错&#xff0c;如下图&#xff1a; {"detail": "There was an error parsing the body" } 问题的解决过程 postman本身的问题 postman有个work directory的概念&#xff0c;所以再使用postman上传的文…

Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力

近期&#xff0c;RISC-V SIG 完成了 Arm NN 在 openEuler Embedded 系统的适配&#xff0c;于 2023 年 1 月合入系统构建工程代码库&#xff0c;经测试验证可用&#xff0c;实现了神经网络加速库在 openEuler Embedded 嵌入式系统上的加速和优化。 系统构建工程下载地址&#x…

【数据结构】--单链表力扣面试题⑥链表的回文结构

题述&#xff1a;对于一个链表&#xff0c;请设计一个时间复杂度为o(n),额外空间复杂度为o(1)的算法&#xff0c;判断其是否为回文结构。给定一个链表的头指针A&#xff0c;请返回一个bool值&#xff0c;代表其是否为回文结构。保证链表长度<900 测试样例&#xff1a; 输入…

中医养生APP小程序开发 了解传统文化传承医学经典

中国文化博大精深&#xff0c;中国传统文化更是历史久远&#xff0c;一直到几千年后的今天很多传统文化依然对我们现在的生活有着重大的影响&#xff0c;比如中医。随着人们对健康关注度的提高&#xff0c;很多人把目光投向了追本溯源的中医上&#xff0c;企图通过中医养生达到…

还原SQL Server 2008备份到另一台设备上

打开”SQL Server Management Studio“菜单&#xff0c;右击数据库&#xff0c;选择“还原数据库”&#xff1a; 设置目标目标数据库的名称和选择数据库备份文件的位置&#xff1a; 在"选项"页中&#xff0c;更改数据文件的还原路径为新的位置 &#xff0c;这里…

墨天轮专访TDengine陶建辉:坚持做难而正确的事,三次创业成就不悔人生

导读&#xff1a; 时序数据库&#xff08;Time Series Database&#xff09;在最近几年被越来越多的用户接受并使用&#xff0c;并有广泛的应用场景。云原生时序数据库 TDengine 一直稳居墨天轮时序数据库榜首&#xff0c;其近期的海外发展也初见成效。本期&#xff0c;墨天轮技…

清除 挖矿脚本 攻击

清除 挖矿脚本 攻击 1.查看系统进程,是否有异常: top 发现CPU占用率200%&#xff0c;判定服务器已经被植入木马 2.查看异常进程是哪一个程序造成的 ls -al /proc/14618 发现恶意程序&#xff08;绿色的是可执行文件&#xff09;/etc/lafy 3.删除恶意程序 cd /etc rm -rf …

记一次挖矿病毒应急处置全过程挖矿处置基本操作

记一次挖矿病毒应急处置全过程&挖矿处置基本操作 一、处置过程1.查看第一位的pid号&#xff1a;325352.进入/tmp/.X11-unix目录&#xff0c;其中11文件中写的是32535,01文件中写的是守护进程pid号10092&#xff08;目录里的文件不一定相同&#xff09;。将整个目录删除3.cr…