泄密无花 发表于 2023-4-28 14:18

【原创】安卓逆向实例 - 配音鸭文字转语音【VIP】

0x00 前言

五一在即,但是还是要继续卷{:5_119:}

0x01 准备

配音鸭文字转语音_1.6.0(20230428)腾讯御安全加固

0x02 脱壳
1、DumpDex
环境:MuMu模拟器Android 12、frida 16.0.18(Python 3.9+)、frida-dexdump
命令:frida-dexdump -U -fcom.android.audio.peiyinya --sleep 10 -d -o (保存dex的文件路径)

2、修复
1)参考帖子:https://www.52hb.com/thread-57970-1-1.html
2)MT去签名:普通版去签即可(加强版会闪退)
3)脱壳之后会有很多体积140B大小的dex,Dex编辑器++打开之后无内容,可以删掉
一键删除命令:find . -type f -size 140c -delete(删除当前目录下所有体积为140B大小的文件)

0x03 逆向思路
1、打开软件

2、过滤“会员”字符串,直奔“超级会员”

3、转为Java,观察判断会员的逻辑

q2等于4,即为终身会员

4、跳转b()赋值

5、在字符串“超级会员”的上方,有getSviptype()、getSvipTime()方法

6、跟进赋值


7、修改成果


0x04 Hook
1、脚本代码
Java.perform(function() {
    var u2 = Java.use('u2.x');
    u2.b.implementation = function() {
      var result = this.b();
      console.log("u2.b() before: ", result);
      result = true;
      console.log("u2.b() after: ", result);
      return result;
    };

});

脚本使用 Java.use() 函数来获取 u2类,然后使用 u2.b.implementation方法来替换原方法的实现,返回想要的值
2、分析
1)单纯Hook u2.b()已经是可以使用导出VIP的主播文字的功能了

2)getSviptype()、getSvipTime()似乎不是参与判断的逻辑

0x05 总结
放假的心总是有点浮躁,节后再来详细研究一下剩下的问题{:5_118:}

dxwoai 发表于 2023-4-28 15:04

有没有成品大哥 啊

sjtkxy 发表于 2023-4-29 05:33

jyjjf 发表于 2023-5-28 16:10

大神,{:5_118:}能不能弄个图文,怎么使用hook代码或者有没有相关图文

泄密无花 发表于 2023-5-29 15:03

jyjjf 发表于 2023-5-28 16:10
大神,能不能弄个图文,怎么使用hook代码或者有没有相关图文

看我之前发的帖子,基本都是frida -U -f <包名> -l <脚本.js>
页: [1]
查看完整版本: 【原创】安卓逆向实例 - 配音鸭文字转语音【VIP】