吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1954|回复: 20
上一主题 下一主题
收起左侧

[原创] PP爆破后遗症的治愈!

  [复制链接]
跳转到指定楼层
楼主
冥界3大法王 发表于 2026-6-25 11:56 回帖奖励
本帖最后由 冥界3大法王 于 2026-6-25 12:01 编辑
https://www.52pojie.cn/forum.php?mod=viewthread&tid=2092640&extra=&highlight=PixPin&page=7使用中有个问题:贴图识别为表格的时候,只能四次,超过就提示,NO_PERMISSION

@koogg  上次坛友回贴说,这个软件爆破之后使用表格识别时有个bug
下面我来治愈它吧。。。

当按完Ctrl+ 1 截图,再按Shift+Q 识别表格,超过4次 ,就会出现:NO_PERMISSION
遇到QT程序这种情况如何修复呢?
首先,根据爆破学重要观点:完成某功能限制的线性区间逻辑中必要有 阻碍型call 或 跳转 或改变寄存器标志的地方,只要找到干掉即可。。。
既然知道是识别表格是触发的,就搜索一下字符串 ,或先用 Qt Linguist 5.5单文件版.exe 打开相关的语言文件,知道确切的关键字 ,或模糊的情况下
搜索一下"表格" (英文)

是不是发现有很多个? 全部下断,这样省心。
断下来之后,就会到达下面的位置

你可以TotalCommander搜索一下: NO_PERMISSION 看它是否存在于文件中? 不在!
或者Alt+M搜索一下内存,并使用硬件断点 ,或内存访问断点下断( 这里后者可以断下,但却很难在出现时再按F8刚好出来)
有经验的看截图会发现上面有JSON(字样,这里暗示着与network有关, 也就是网络来的相关数据)

我们同样知道,如果成功的话,必然来到 .xlsx


所以我们可以来个两头凑,在感兴趣的代码位置上右击  ,代码跟踪=》2字节
并顺手按下F2 下个断点

这样程序就会自动注释上,并标上颜色以示区分



经过几个关键的地方之后 就会出现【认证令牌已过期】的提示了



还等什么直接NOP


000000014025CED8 | 0F84 B3020000           | je pixpin.14025D191                                                       | 正常来过(不放心,可以直接NOP!)

000000014025CF19 | 74 47                   | je pixpin.14025CF62                                                               | 最关键的一个地方,必须NOp了!!!

000000014025CF46 | 75 0C                   | jne pixpin.14025CF54                                                              | 正常来过 (不放心,可以直接NOP!)

至此程序爆破bug成功修复。

我们可以得到两个重要结论:
  • QDialog::exec(void)
  • QtLogOutputMessage

一个与对话框有关, 一个与日志输出有关 , 都是QT程序的重要特征。

免费评分

参与人数 6吾爱币 +8 热心值 +6 收起 理由
Tonyha7 + 2 + 1 用心讨论,共获提升!
springlu + 1 我很赞同!
52pojieplayer + 1 谢谢@Thanks!
koogg + 2 + 1 用心讨论,共获提升!
by、不疼 + 1 + 1 这个断点好粉
610100 + 3 + 1 好文!

查看全部评分

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

推荐
 楼主| 冥界3大法王 发表于 2026-6-26 10:50 |楼主

根据您提供的新线索——“只能正确识别三次数据,之后出现 NO_PERMISSION”——这可以说是软件逆向和验证分析中的教科书级特征

这说明程序内部有一个计数器(Counter)机制或者服务器端有频次/权限限制。配合您之前发出的导出函数表,我们可以立刻把目标收窄。

结合这个现象,以下是最关键的两个突破口和分析思路:


🥇 怀疑点一:本地计数器与 isValid / isExpired 联动

很多程序为了提供“免费试用”或者限制本地频率,会在本地内存或配置文件里维护一个计数。

  1. 工作原理:每次成功识别,计数器 $+1$。当计数器 $> 3$ 时,程序不再去调用网络请求,而是直接在本地把 Token 的状态标记为失效,或者直接返回错误码。
  2. 重点观察函数
    • ?isValid@Token@PixAuth@@QEBA_NXZ (序号 128):请断点拦截这个函数。看在前三次成功时它返回什么(通常是 1),在第四次出现 NO_PERMISSION 时,它是不是提前返回了 0
    • ?isExpired@Token@PixAuth@@QEBA_NXZ (序号 119):同理,第四次时它是否变成了 1(强行让本地 Token “过期”)。

🥈 怀疑点二:临时 Token(Anonymous/Guest Token)的生命周期

这是更常见的一种设计:程序启动时,服务器会发给未登录/免费用户一个“临时临时凭证”(Guest Token),这个 Token 的权限极其有限,在服务器端就被设置了“只能请求3次”的硬限制。

  1. 工作原理

    • 前三次请求,服务器验证这个 Guest Token 发现次数没超,返回正确数据。
    • 第四次请求时,服务器后端判定该 Token 次数耗尽,直接拒绝并返回 NO_PERMISSION 错误。
  2. 重点观察函数

    • ?value@Token@PixAuth@@QEBA?AVQString@@XZ (序号 241)
      在 x64dbg 中给这个函数下断点。把前三次成功时的 Token 字符串复制保存下来,再看第四次失败时的 Token 字符串。
    • 如果是同个 Token:说明限制在服务器端(服务器记住了这个 Token 的次数),单纯在本地改 value 没用,必须寻找它是从哪里生成的(比如登录或刷新逻辑)。
    • 如果第四次 Token 变了或者没有了:说明是本地逻辑在捣鬼,切断了 Token 的获取。

🛠️ 下一步调试实战建议(如何顺藤摸瓜)

由于您已经能定位到 sigJwtFetchedToken::value,建议您尝试以下“降维打击”的调试步骤:

  1. 监控法(看数据变动)

    • 00007FFDD72A411D(即调用 Token::value 的地方)下断点。
    • 观察前三次和第四次,rax 返回的 QString 内部指针所指向的字符串内容。如果第四次时,获取出来的 Token 变成了空字符串("")或者特定错误字符,那么罪魁祸首就在 Token::value 内部。
  2. 爆破测试法(验证是否为本地限制)

    • 找到 ?isValid@Token@PixAuth@@QEBA_NXZ 的函数入口。
    • 直接将其汇编代码修改为强制返回真:
      
      mov al, 1
      ret

* 找到 `?isExpired@Token@PixAuth@@QEBA_NXZ` 的函数入口。
* 直接将其修改为强制返回假(未过期):
```assembly
xor al, al
ret
  • 修改后看看能不能突破 3 次的限制。如果,说明是本地逻辑锁死了权限;如果不能(依然提示 NO_PERMISSION),则说明这个“3次限制”是服务器端通过网络严格校验的,本地的 Token 已经彻底失效或无权了。
  1. 追踪 fromValue / `fromJson`:
    • 如果证实是服务器限制,可以看 ?fromJson@Token@PixAuth@@SA?AV1@AEBVQJsonObject@@@Z (序号 103)。这里是程序收到服务器发回的新 Token 时据此构造对象的地方,可以观察程序是在什么时候、用什么身份去向服务器申请初始 Token 的。
沙发
zixuan203344 发表于 2026-6-25 12:15
3#
zhanglei1371 发表于 2026-6-25 12:25
据我的经验,法王的教程太玄乎了,大多不具备可重复性,跳跃性太厉害了。
4#
 楼主| 冥界3大法王 发表于 2026-6-25 12:32 |楼主
zixuan203344 发表于 2026-6-25 12:15
没鸟用,excel内容是空的

今天 没机会了,明天对比继续研究。。。
5#
koogg 发表于 2026-6-25 13:05
不明觉厉。
不过,现在已经换pixwit了,可以直接调用百度的表格识别
6#
 楼主| 冥界3大法王 发表于 2026-6-25 13:14 |楼主
应该和token走完的判断有直接关系
7#
zzl0308 发表于 2026-6-25 13:47
好高级的样子
8#
lumiaz7 发表于 2026-6-25 14:02
还有截图翻译也是,四次后就不能使用了。期待大佬作品
9#
twshe 发表于 2026-6-25 14:45
这玩意如果是调用网络验证,要经过服务器验证,是不是就无解了?
10#
axiong 发表于 2026-6-25 15:08
坐等法王下回分解
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-7-10 17:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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