吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4045|回复: 15
收起左侧

[原创] Baymax Patch Tools 大白使用案例之 --- 修改函数返回值

  [复制链接]
wtujoxk 发表于 2023-9-18 18:08
本帖最后由 wtujoxk 于 2023-9-21 10:11 编辑

Baymax Patch Tools 大白修改函数返回值有三种方法
1、保存当前上下文并在返回时修改
2、函数返回时修改上下文
3、函数直接返回修改上下文
这里只讲第三种,并且在函数内部任意一个位置下断。因为第三种懂了,前两种自然就没问题了。

下面使用个软件作为案例。
https://nns.lanzoub.com/iOHLv18ytuad

软件具体分析过程  略……

软件内有一个多通道使用,在压缩包里提供的key中只是单一通道,如果想使用多通道,可以一补丁通杀; 略……
但是这里为了使用大白修改返回值,使用多通道时,只要将SoftDog.dll的GetAppendNum函数返回值修改为对应的通道数即可,
这里以3通道为例。只需将GetAppendNum的返回值修改为3

打开x32dbg.exe加载程序,并在GetAppendNum下断,首先得到GetAppendNum的返回ESP
函数进入的ESP,如下图:
1694574186902.jpg
将函数运行到返回,并查看ESP位置,返回后的ESP是进入时+4,记录下这个位置,后面有用
1694574471534.jpg
重新载入程序,并来到GetAppendNum断点位置,现在在函数内A位置下断进行操作
程序每次载入时,地址会不一样,那个不用管,我们只看ESP的位置就行
1694575550361.jpg
注意这四个值
函数内下断的位置 --> 对应大白偏移值 填A
当前断点ESP的位置  -->  用这个值计算偏移
函数进入时ESP的位置  --> 对应大白返回地址栈偏移 当前的ESP+4
函数返回时ESP的位置  --> 对应大白栈调整 当前的ESP+8

注意:因为在这个位置下断,做修改,破坏了栈平衡,所以要恢复平衡

如下图,恢复栈平衡
1694576881489.jpg

最后,大白补丁设置如下
1694577477670.jpg
1694577802757.jpg

附上软件成功后三通道的截图!
1.jpg

Nisy:
这个玩法在于 任意地址都属于函数内 并且可以返回堆栈的某个地址(直接返回或在返回地址设置中断),可以返回到调用方的调用方,堆栈中有返回地址 就可以指定返回到那,当然堆栈要自己去平衡!


测试返回值案例:https://nns.lanzoub.com/ikbZQ199py2b
1695262068139.jpg

免费评分

参与人数 11吾爱币 +19 热心值 +11 收起 理由
笙若 + 1 + 1 谢谢@Thanks!
guanguanf + 1 + 1 谢谢@Thanks!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
laoxiao414 + 1 + 1 谢谢@Thanks!
610100 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
fangchang819 + 1 + 1 谢谢@Thanks!
wgz001 + 1 + 1 用心讨论,共获提升!
冥界3大法王 + 1 + 1 用心讨论,共获提升!
Tonyha7 + 1 + 1 用心讨论,共获提升!
杨辣子 + 1 + 1 用心讨论,共获提升!
pizazzboy + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

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

liusu277 发表于 2023-9-18 22:03
感谢大牛分享思路
ff963738610 发表于 2023-9-18 22:08
Networktest2022 发表于 2023-9-19 07:50
 楼主| wtujoxk 发表于 2023-9-19 08:43

64位是一样的,只要你在调试时能找到函数的返回值,计算方法一样,
zjy131458 发表于 2023-9-19 08:46
大白补丁是非常强大的工具,楼主的方法值得学习
Owner_Cracker 发表于 2023-9-19 10:27
本帖最后由 Owner_Cracker 于 2023-9-19 10:48 编辑

问个比较小白的问题:CPU中这列是怎么设置的
QQ截图20230919102708.jpg
 楼主| wtujoxk 发表于 2023-9-19 10:50
Owner_Cracker 发表于 2023-9-19 10:27
问个比较小白的问题:CPU中这列是怎么设置的

这个位置鼠标双击

免费评分

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

查看全部评分

andydau 发表于 2023-9-19 18:29
可以负责任的告诉你,不是这么用的。
paulbaby3000 发表于 2023-9-19 21:56
感谢大牛的技术分析
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 10:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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