吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13731|回复: 33
收起左侧

[原创] 小白初试某贴吧工具UPX脱壳及破解

  [复制链接]
729341299 发表于 2019-12-14 11:17
本帖最后由 729341299 于 2019-12-17 16:35 编辑

很惭愧,注册了吾爱十一年。。。。到现在才第一次想起来学
也是多得最近有软件需求,故提起了尝试破解的心思,大佬勿喷,请多指教

以下正文:

1. PEID查壳:嗯,感觉应该是UPX,直接拖入OD

查壳

查壳


2. 拖入OD,提示分析,点否

不分析

不分析


3. 载入后看到压栈指令pushfd,使用esp定律,F8单步

ESP

ESP


3. 可以看到寄存器窗口ESP产生变化,选中后右键数据窗口跟随,在HEX数据窗口选中一行数据,设置硬件断点

硬件断点

硬件断点


4. 设置断点后F9运行,F8单步步入,发现单步后一直在循环,不死心继续F8,循环大概20次左右自动跳出,找到OEP
(这里个人觉得很奇怪,正常软件F9后肯定运行跑起来,但这里一直循环,也算误打误撞找的oep,希望有大大能给解释下?)

循环

循环


5. 找到OEP,右键脱壳,记住红框处修正地址,不勾选重建输入表,确定导出脱壳程序

OEP

OEP


6. 这个时候还打不开,使用importREC重建,选中调试进程,在OEP处输入刚刚记住的修正地址,记得加上00,然后IAT自动搜索 -- 获取导入表 -- 修正转储 --保存到原目录

重建

重建

顺序如图

重建2

重建2


7. 再查壳,VC++,程序正常运行,但还是好奇为什么EP段显示UPX0?

VC++

VC++


8. 第一次尝试破解
运行程序看看,这是个贴吧发帖工具,本身不收费,但插件收费,随便下个插件,打开发现有注册窗口,随意输入显示激活码无效,就拿这个查询看看

破解尝试1

破解尝试1


9. 拖入OD,右键中文搜索 - 智能搜索,搜索“激活码无效”,还真的有,在附近找的“激活成功”字样,先双击看看“激活码无效”

破解尝试2

破解尝试2


10. 发现其上方有个je跳转,尝试把它改成jmp无条件跳转,运行看看,发现还是显示激活码无效

无效je跳

无效je跳

发现还是显示激活码无效

无效

无效


11. 没有头绪,尝试直接从激活成功入手,je改成jmp,运行看看,

成功je跳

成功je跳

还是显示激活码无效

无效2

无效2


12. 换一种方式,尝试暂停找窗口,载入OD,直接F9跑起,打开程序到注册窗口,OD里点暂停,按K调出堆栈窗口
这里本人不太会看,只能挨个测试,选中最后一个有结构的,右键显示调用

堆栈

堆栈


13. 直接在第一个retn处F2下断,然后F8单步走一遍call到retn,再F7步入

retn下断

retn下断


14. 来到这里,给第一个call下断,F9运行程序,发现程序无法运行

call下断

call下断


15. 2019年12月17日重新编辑更新破解历程
15.1 暂停法是对的,但前面方法有误,其实直接用插件 -- API断点设置工具 -- 常用断点设置,勾选“messagesboxA”下断即可

boxA下断

boxA下断


15.2 此时回到软件,打开界面,点击注册,会自动断下

断点回溯

断点回溯


15.3 进行回溯,F8单步向下,跑到上图第二个call处程序弹出“激活码失效”框,点击确定,回到OD继续单步,retn返回后,直接ctrl+F9,执行到返回,再继续F8单步,到达dll模块

dll模块

dll模块


15.4 找段首下断,取消原messagesboxA断点,在过程中会发现“激活成功”字样,再往上会发现服务器验证链接,从段首F8单步向下,到达验证链接下的第一个call时会卡住
据查询到的资料应该是发验证包,此时可以F12暂停,再F9跑起程序即可成功步过

验证call

验证call


15.5 继续单步,在“激活成功”字样下方发现非常长的一个跳转,直接跳过一大片代码,来到最初验证失败的代码段,这应该就是大佬们常说的关键跳?

关键跳

关键跳


15.6 尝试在寄存器双击Z的1改成0,让跳转失效,F9运行,成功注册

成功

成功


15.7 至此,把je改为jnz,保存dll文件,替换程序插件目录文件,打开可顺利注册

16. Q&A:

Q1:至此又尝试换了其他几个堆栈显示调用,发现都无法找到注册框,小白不知应如何进行下一步,请大佬们指教?
A1:感谢@朱朱你堕落了 耐心教导!多得有大佬协助,勉强算挤进脱破门缝

Q2:上方第四点找OEP的问题,为何循环了几十次才出来OEP?是不是方法有问题?
A2:感谢@Ps出来的小赵 大佬解答,快捷键F4直接可以运行到指定位置
Q3:上方第七点提到的查壳问题,脱壳后查壳EP段显示UPX,是什么原因导致?程序可以正常运行,会影响后续破解?
A3:目前仍不知是否会有影响,但暂时判定为应该是手动脱壳拖不干净,使用脱壳机后脱壳检测为.text


Q4:关于15.4,“此时可以F12暂停,再F9跑起程序即可成功步过”其原理本人仍不清楚,@朱朱你堕落了 大佬解释也可以点T恢复线程,但仍不能理解,希望大佬们指教
A4:待解答


最后附上程序,感谢吾爱的大佬们教导,之后也会继续学习!
链接: https://pan.baidu.com/s/1J1fhbbxpx0kpmbWkCiwSNQ 提取码: 17xs


免费评分

参与人数 4吾爱币 +9 热心值 +4 收起 理由
Hmily + 6 + 1 用心讨论,共获提升!
ybjyzgj + 1 + 1 谢谢@Thanks!
HardyDragon + 1 + 1 用心讨论,共获提升!
play.1122 + 1 + 1 我很赞同!

查看全部评分

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

 楼主| 729341299 发表于 2019-12-14 13:35
朱朱你堕落了 发表于 2019-12-14 13:28
虽然出来提示让注册的框了,但是这个插件也没发现,不注册就不让使用啊。。

软件可以弹出,但实际功能是无法使用的,你看这是个简单的去重工具
但每点一次插件功能都会提示注册框
而且功能不生效

image.png
默之然i 发表于 2019-12-15 16:12
破解这个收费插件的话,在我看来,不应该从exe下手,因为收费插件是外部下载的,即那个dll文件。exe文件只是调用这个dll,收不收费的和exe没什么关系。所以我觉得应该从DLL破解入手,而不是在exe那边绕。同为萌新,互相学习一下
花好s月圆 发表于 2019-12-14 12:09
像upx这类的压缩壳,有现成的脱壳器。像se的加密壳,就带壳破解吧。
wasdzjh 发表于 2019-12-14 12:14
有时间我也研究研究,简单的壳子用脱壳机。既然可以运行,应该不会影响破解。不知道你的od是什么版本,可以用自带的插件断点,bp消息框。然后在试试。不要着急!慢慢来
Ps出来的小赵 发表于 2019-12-14 12:31
楼主不知道有个东西叫F4吗- -。。。
zcz00 发表于 2019-12-14 12:43
我以为说的是upx浏览器
朱朱你堕落了 发表于 2019-12-14 13:28
虽然出来提示让注册的框了,但是这个插件也没发现,不注册就不让使用啊。。

QQ截图.png

哪里不能使用,说明一下,截个图啥的。总得让人知道软件限制所在吧。
 楼主| 729341299 发表于 2019-12-14 13:33
wasdzjh 发表于 2019-12-14 12:14
有时间我也研究研究,简单的壳子用脱壳机。既然可以运行,应该不会影响破解。不知道你的od是什么版本,可以 ...

嗯嗯,我也还在尝试,问下大佬,bp是什么。。。
 楼主| 729341299 发表于 2019-12-14 13:33
Ps出来的小赵 发表于 2019-12-14 12:31
楼主不知道有个东西叫F4吗- -。。。

F4是在哪一步使用?
Ps出来的小赵 发表于 2019-12-14 13:38
729341299 发表于 2019-12-14 13:33
F4是在哪一步使用?

4. 设置断点后F9运行,F8单步步入,发现单步后一直在循环,不死心继续F8,循环大概20次左右自动跳出,找到OEP

单步的时候一般向上回跳的直接下面F4……不要傻傻的一直F8 - -。。。

免费评分

参与人数 1热心值 +1 收起 理由
我是山姆 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 16:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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