吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4387|回复: 74
收起左侧

[原创] 某PDF编辑器逆向记录

  [复制链接]
woflant 发表于 2024-3-26 10:39
本帖最后由 woflant 于 2024-3-26 10:41 编辑

前言

本次逆向仅供学习交流,无任何其他意图,如有侵权请联系删除

0x0 所需工具

查壳:die

调试:xdbg

0x1 查壳 & 运行

查壳

直接上die查壳,应该是没有加壳(一般这种软件都不会加壳,会拖慢运行速度,影响用户体验),而且用到了QT

查壳.jpg

没加壳直接运行先看看,加了壳可能就没有这篇帖子了:)

运行

运行图片.jpg

无需多言,逆向目标就是开通会员了

0x2 调试 & 分析

传统字符串搜索大法

先搜索字符串,过滤包含“vip”的字符,有几个可疑点,下断点,如下图

字符串搜索.jpg

这里为甚么要过滤“vip”字符?

像这种软件,常见过滤字符有“pro”、“regist”、“vip”等等,当然有些软件没有相关字符串,一般是在相关提示处回溯堆栈

下完断点直接运行碰碰运气,程序直接结束,应该是有反调试

简单反调试

常规反调试函数有:IsDebuggerPresentCheckRemoteDebuggerPresent,下断重新运行

断在IsDebuggerPresent

IsDebuggerPresent断点.jpg

同时观察右下角堆栈,调用方是不是程序段,简单过掉,返回值的eax改为0x0

继续运行,还是断在IsDebuggerPresent处,调用方是系统dll,略过

断点分析-1

然后会在“isvip”字符处断n次

isvip断点.jpg

观察上下汇编段,没有可疑大跳转,且QT库函数都是字符串处理,此处应该不是关键点,先暂时取消该断点

断点分析-2

继续运行,这次断在“isVipUser”字符处

isvipuser断点.jpg

上下观察,发现调用“QVariant(bool)”(bool型变量)、“QObject::setProperty(char const *, class QVariant const &)”(设置属性)等QT库函数,附近还出现“isVipUser”字符,这个地方很可疑

重点分析 & 尝试修改

call段首下断,重新运行到段首,细细分析

isVipUser属性设置分析.jpg

一顿分析,此处非常可疑,从上图分析可知,关键点在于0x35FB93处的[ebx+0x74],该处初始值为0x0,先更改为0x1,运行看看是否达到效果

逆向成果展示.jpg

到位,逆向结束

结语

这个软件难度不大,虽然也捣鼓了两天:)

无壳、字符串搜索、反调试、汇编代码分析(ida伪代码也能分析,此贴位提及)等,很适合交流学习

还有具体补丁也不详细说明了,分析点后面跳转处可实现补丁

[/md]

免费评分

参与人数 16威望 +1 吾爱币 +34 热心值 +12 收起 理由
笙若 + 1 + 1 谢谢@Thanks!
Wamtar + 1 + 1 用心讨论,共获提升!
freshman9527 + 1 谢谢@Thanks!
pdcba + 1 + 1 谢谢@Thanks!
爱飞的猫 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yxpp + 1 谢谢@Thanks!
clownery + 1 + 1 用心讨论,共获提升!
M778899 + 1 我很赞同!
52pjh + 1 + 1 鼓励转贴优秀软件安全工具和文档!
sivion + 1 + 1 我很赞同!
Issacclark1 + 1 谢谢@Thanks!
rddff236 + 1 + 1 热心回复!
ps122 + 1 + 1 谢谢@Thanks!
Sydyanlei0 + 1 用心讨论,共获提升!
kylee + 1 + 1 谢谢@Thanks!
VnYzm + 1 + 1 用心讨论,共获提升!

查看全部评分

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

byh3025 发表于 2024-3-26 13:56
无敌小儿 发表于 2024-3-26 12:52
已经修改为MOV BYTE PTR [EBX+0x74], 1 不管用,可能是修改的不对

提供一个思路,向下看有一个cmp BYTE PTR [EBX+0x74], 0,然后你改成MOV BYTE PTR [EBX+0x74], 1就行了
爱飞的猫 发表于 2024-3-27 10:19

简单反调试

可以安装 ScyllaHide 自动处理常见的调试器检测哦。


还有具体补丁也不详细说明了,分析点后面跳转处可实现补丁

只修改跳转可能不够完美(例如程序其它地方可能也在检测这个值),如果能找到赋值的地方强制修改,可能会更通用一些。

z87239385 发表于 2024-3-26 10:42
W315557227 发表于 2024-3-26 11:04
看着有难度 支持下
头像被屏蔽
saccsf 发表于 2024-3-26 11:25
提示: 作者被禁止或删除 内容自动屏蔽
onlyougao 发表于 2024-3-26 11:26
学习一下
TheWeiJun 发表于 2024-3-26 11:30
学习了,真不错啊。
bujimo3 发表于 2024-3-26 11:39
跟大佬学习一下思路
Moinul 发表于 2024-3-26 11:50
你是怎么通过exe看到源码的??+
 楼主| woflant 发表于 2024-3-26 12:01
Moinul 发表于 2024-3-26 11:50
你是怎么通过exe看到源码的??+

这软件用了QT库函数,带有函数名称
kelekvc 发表于 2024-3-26 12:22
感谢大佬的精彩分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-22 18:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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