吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 993|回复: 4
收起左侧

[Android 原创] 破解伪装聊天HYB APP的VIP功能,学习flutter下的so修改

[复制链接]
verber34 发表于 2026-4-8 09:00
本帖最后由 verber34 于 2026-4-10 11:48 编辑

前几天网上看到一款HYB的伪装聊天APP,功能比之前发的那个多了很多,增加了禁止对方截屏、阅后即焚、定时删除信息、双向删除信息、随时更换伪装外壳等功能。感兴趣的可以下载看一看。
此版非VIP的限制为:只能发送80条信息后弹窗提示购买,视频音频通话、禁止对方截屏、阅后即焚、定时删除信息、双向删除信息 功能都无法使用,需要付费。
本人也是第一次学习修改so文件,一边查资料,一边实践操作,作个记录以后回顾参照:
1.开始直接看的dex文件,但打开后搜索不到任何信息,怀疑它的代码在so中。
2.查看lib文件夹,发现有一个libapp.so,感觉这个应该是放核心代码的地方,用IDA打开libapp.so后,函数名全是sub_XXXXX这样的,无法下手,搜索无用。网上倒有一些显示本函数名的脚本,但使用后无效果。一度停滞。
3.无意间看到一篇帖子,稍后放。讲的是用Flutter框架写的APP的反编译过程,突然想起,这个APP中好像也有个flutter的字样的文件和文件夹。
4.然后得知:此APP使用的是Flutter框架,所以在dex中没有任何关键信息。关键代码全在 libapp.so中。
5.帖子中详细记录了反编译libapp.so的过程,包括使用的工具,命令行、运行时的界面,非常详细了。照着从头开始操作了一遍。嗨~成功了。
6.帖子在这里: https://www.52pojie.cn/thread-1951619-1-1.html
7.在操作过程中,也遇到到一些问题,主要有二:
        (1)因为本人的初次安装python,有两次命令执行后显示错误,经查,python的两个库没有安装(一个是requests,还有一个叫啥来...),安装后即可
       (2)有些命令执行错误,原因是网络需要tizi,芳强。作者也提示了。在确保tizi可用的情况下,多运行几次。
8.整个过程运行成功后,我使用了生成后的以下几个文件:
       (1)一个脚本,一个IDA中使用的脚本,可以把 类似sub_XXXXX的 函数名 变成 userinfo_isvip 类似的脚本。你说搜索关键函数是不是挺有用
       (2)一个asm文件夹,里面全是dart格式的文本文件,后面要用到。
9.修改过程:
(1)想找到哪个位置是判断是不是 VIP的。我先搜索了”vip“碰个运气, 发现有一个isvip的函数。
1.png
其函数代码是这样的:
2.png
这样的代码我是读不来的,扔到豆包里解释了一下,豆包解释代码还是很厉害的,基本看懂了。
意思就是 这一段最终返回 的是 x0的值, 中间那一句  csel  x0,x16,x16,GT, 原来是 csel  x0,x16,x17,GT,意思就是要么 x0=x16的值并返回,要么x0=x17的值并返回。我的思路是不管上面怎么判断,要么x0=x16,要么x0=x17,肯定有一个值是VIP的,试了两次,发现 x0=x16的时候,VIP的设置就生效了。所以就改成了上面的样子,实际上,可以有很多种修改方法。豆包也给出了好几种修改方法,都是可行的。



(2)在实际运行过程中,发现除了设置已生效外,试用的80条信息还存在,超过80弹出试用结束弹窗。说明VIP改的不彻底。用Notepad++的搜索asm文件内容,对这个文件夹所有文件内容进行了搜索,发现dart里面的汇编代码是显示汉字的,比如”试用结束....""不是会员“。这样,根据dart文件就可以定位到是哪个函数,同时根据显示的地址,你在IDA中对应的函数中去找,地址一一对应上看,就能看出IDA中应该要如何修改跳转,这个跳转跳还是跳,也能判断出来。
比如:修改试用结束的弹窗:
用notepad++搜索ams内文件。发现在OutCallUtils中的0x85c9dc位置
3.png
然后,在IDA中搜索OutCallUtils,定位到0x85c9dc中
4.png
通过对比就知道。要想不出现弹窗,程序是不能运行到0x85c9dc这个位置的。那就往上走一走,直接把0x85C9C8处的跳转改成了:   B    loc_85CA24,之前是什么跳也忘了,反正B是直接跳转。
有些时候,你改了一个跳转发现还不行,那说明前面可能还有跳是需要判断的,用IDA中的函数引用查看功能,看哪些地方引用了它,如果不想让它跳就把那一句改成NOP,如果必须要跳,就改成B跳。这样改是不会破坏程序流程的,不会引起闪退啥的


(3)单独收费功能“双向删除聊天记录”的破解

今天又看了下,修改了几个跳,功能可使用。基本步骤与(2)相同,主要还是看跳转。
用Notepad++查找,既然是双向删除,估计会有“对方的聊天记录”这样的提示,搜“对方“,找到如下内容:
2.png
然在IDA中定位到相应的地址:

3.png

定位到警告出现的地方,向上翻代码,你就把握 一点,程序要运行到这个位置(为什么?因为不购买点击按钮时出现的是支付宝、微信的支付链接,如果出现警告提示,那就是购买后的流程了),中间是不能有B跳的,要么把这个B跳NOP掉,要么根据跳转引用改跳(我选的后者)。

同时中间也不要出现RET,有RET的必须让它跳过RET,否则程序就提前返回结束了。修改完这后的效果就出来了,测试功能正常了。

4.png QQ截图20260410111542.png

最后这个软件是这样的子:
你可以随时伪装成其它的软件,且伪装后的软件功能正常使用,看新闻、背单词、当计算器使用。当你在输入框输入设定的密码后,会跳到聊天界面。
紧急情况,你可以1秒内返回到伪装的界面(翻转手机返回、点击一键返回按钮等)
当然,密码只能你知道。
聊天界面功能也还可以,删除、引用、表情、发图片、发视频、音频视频聊天、发位置、转发等都有。一般聊天也够了。
当然,这是我给一个朋友破解的。
6.png

需要解决的问题:
1.修改聊天界面的布局颜色。因为背景是白色,晚上屏幕有些亮。想改成黑色。(难道在so中修改??)
2.伪装时的界面颜色调整,同样,也想自己调整成暗黑色。 以前修改过的方法现在没效果(我感觉这个估计不太好弄,比如伪装的浏览器打开调用的是百度的页面,软件内的颜色代码控制不了百度的页面吧)

  以上两个问题,如有哪位懂点,或者有其它的途径。比如说能不能通过加代码强制变成深色模式这类的。。可给我说一说。


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

 楼主| verber34 发表于 2026-4-8 19:55
原来那篇帖子的作者是版主啊,嘿嘿。
Cayenne2018 发表于 2026-4-9 14:05
 楼主| verber34 发表于 2026-4-9 15:25
myjx11233 发表于 2026-4-9 16:06
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-4-21 20:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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