吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1450|回复: 7
收起左侧

[新手问题] 无法手脱upx

[复制链接]
15360438 发表于 2022-9-29 15:45
48吾爱币
本帖最后由 15360438 于 2022-9-29 15:51 编辑

来吾爱一年多了,前面一直在学习汇编/C++,最近一时兴起想学习手脱UPX壳

这里将自己学习到的东西和遇到的问题抛出,如果有什么写的不对的地方欢迎批评
C++写了一个简单的程序并加壳,然后来手脱

直接使用UPX进行加壳



成功加壳之后,在b站看了一个教程,使用IDA Pro进行动态调试跟进到真实代码处,然后再进行反汇编

他的思路就是在入口打上断点,然后一直F7单步执行(遇到call就F8不进入),直到遇到retn汇编代码直接F4运行retn

一直这么单步之后就遇到了syscall或者endbr64,就是程序的源码了

我在调试时遇到的问题:F7或者F8单步执行,没有遇到retn汇编代码(我认为此处可能是因为教程中调试的是elf,而我的是exe)

于是我就搜索了几个教程,好像大部分都是OD进行脱壳的,IDA Pro脱壳教程比较少

然后我就在吾爱搜索到了几篇手脱UPX壳的教程
https://www.52pojie.cn/forum.php?mod=viewthread&tid=593356&highlight=upx%2Besp

我这使用的是吾爱破解工具包中的OD,系统是Windows7 64位
我把加壳的UPX拖进OD中进行调试
F8单步执行,执行一步之后,右边的寄存器栏ESP变红,其他的变白

此时点击选中ESP寄存器→右键→ HW break [ESP[]
然后F9运行,就跳转到了这一步


此时遇到问题,会一直在这三行代码死循环
选中循环下面的一行汇编,按F4,直接运行这行汇编,就可以跳出循环
然后再F8单步执行,就跳转过来

根据这篇文章https://www.52pojie.cn/forum.php?mod=viewthread&tid=593356&highlight=upx%2Besp
圈起来的应该就是OEP吧
我这里是选中这个push ebp,然后右键点击"用OllyDump脱壳调试进程"
然后这里我根据前辈的文章,记下了这个数值,点击脱壳


这里就直接错了




点击确定之后,就提示这个,然后就跟文章不一样了




求助~

最佳答案

查看完整内容

给你的建议: 1、用xp虚拟机里操作,win7有aslr,可能对你脱壳有一些阻碍。 2、不要用od的脱壳插件,问题太多,用lordpe去dump,然后再修复iat。 https://www.52pojie.cn/thread-349073-1-1.html 建议看下第一课,作业讲解我当时说了类似问题。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2022-9-29 15:45
给你的建议:
1、用xp虚拟机里操作,win7有aslr,可能对你脱壳有一些阻碍。
2、不要用od的脱壳插件,问题太多,用lordpe去dump,然后再修复iat。

https://www.52pojie.cn/thread-349073-1-1.html 建议看下第一课,作业讲解我当时说了类似问题。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
HUAJIEN + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| 15360438 发表于 2022-9-29 15:49
scncrenyong 发表于 2022-9-29 18:49
 楼主| 15360438 发表于 2022-9-29 20:06
Hmily 发表于 2022-9-29 18:07
给你的建议:
1、用xp虚拟机里操作,win7有aslr,可能对你脱壳有一些阻碍。
2、不要用od的脱壳插件,问题 ...

谢谢老师,今天是第一次上吾爱,才把老师的课保存到网盘打算与c++共同学习,我也下载了吾爱定制的xp,但是我用vs2019编写的x86 c++可执行程序在xp上无法运行,基本功不扎实,还需要潜心学习

点评

了解了,那你先按后面说的,不要用od插件去dump,这个bug太多。  详情 回复 发表于 2022-9-29 21:31
 楼主| 15360438 发表于 2022-9-29 20:08
scncrenyong 发表于 2022-9-29 18:49
CALL 00F81644 才是OEP吧!

师傅你好,应该如何确定OEP是哪行汇编指令,是看寄存器栏,跟ESP一样变红吗
scncrenyong 发表于 2022-9-29 20:36
15360438 发表于 2022-9-29 20:08
师傅你好,应该如何确定OEP是哪行汇编指令,是看寄存器栏,跟ESP一样变红吗

通常jmp大跳之后就是OEP
Hmily 发表于 2022-9-29 21:31
15360438 发表于 2022-9-29 20:06
谢谢老师,今天是第一次上吾爱,才把老师的课保存到网盘打算与c++共同学习,我也下载了吾爱定制的xp,但 ...

了解了,那你先按后面说的,不要用od插件去dump,这个bug太多。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 23:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表