高中生

- 金币
- 1394
- 好评
- 7
- 信誉
- 100
|
本帖最后由 天堂的风 于 2026-1-31 23:23 编辑
最近在研究抖音模块,逛论坛的时候发现这么一篇帖子,就上手试一试。
原贴:这种需要订阅的抖音模块能反编译吗
1.打开看了下dex,发现是被混淆了的
那我们就用MT的混淆对抗修复一下
然后随便打开一个类再转Java代码,
发现字符串都是加密了的,用的是y.cq类进行解密
那我们就复制y.cq的代码smali代码,使用MT的DEX字符串解密
然后看好到原贴中好多彦祖都用算法助手定位弹窗,但是没有定位到,
这里我们就搜索字符串“确定”
眼尖的彦祖们肯定一眼就看到验证成功这几个字,那我们就点进去
看到bf.a实现了Runnable接口,是一个线程需要执行的代码,
那我们就查找它的调用处,看看哪里在调用它,查找后发现是在ax.a类中
我们再将ax.a类转java后发现,它调用了一个接口,那应该就是获取认证信息的,
我研究了半天,发现它并没有什么卵用,无非就是验证我们是否激活,没激活就给你无脑弹窗,
那我们直接在ax.a类中给他注释掉
再往下面看,发现这是一个弹窗的逻辑,就是你打开抖音的时候弹出的那个窗口,
结合上面的接口调用,这完全就是一个认证用的hook类,所以没啥用,
那我们直接让这个f方法返回g.a,啥也不干就行了
- .method public final f(Ljava/lang/Object;)Ljava/lang/Object;
- .registers 2
- # 1. 获取 g.a
- sget-object v0, Lg;->a:Lg;
- # 2. 直接返回它
- return-object v0
- .end method
复制代码
弹窗这一步我们就搞定了,安装上去确实没有弹窗了,但是该hook的功能没有,
别问我为啥知道,因为我装上去试过了

那就继续,我们再看看ax.a又在哪里被调用了,
然后发现是ax.a --> ax.b --> ax.c --> ax.g
这就是整个调用链路,经过分析我们发现ax.g不就是这个模块的入口嘛,
那我们接着往下跟踪,看看到底是哪里没有启动我们的hook类,
根据观察,最后都调用了ax.c这个类,那我们就进去看看,
上面这个红框中的代码就是读取我们认证信息,
下面这个红框才是关键,它就是启动那些功能的hook类,
那这不是手到擒来,只需要把 if(y.bu(az.a.g, az.a.h)) 这个判断取反就可以了。
好了到这里就算成功了。
总结一下:
成品下载:https://wwboz.lanzouw.com/ijU7z3hh43ch 密码:8bau
1. 修改ax.a类的f方法,让它啥也不干直接返回j.g.a
- .method public final f(Ljava/lang/Object;)Ljava/lang/Object;
- .registers 2
- # 1. 获取 g.a
- sget-object v0, Lg;->a:Lg;
- # 2. 直接返回它
- return-object v0
- .end method
复制代码 2. 修改ax.c类n方法中的判断
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
-
查看全部评分
总评分:好评 +1
金币 +2
|