简单小结解压反汇编反编译实战VIP 用户才能添加 mdx 字典 fixed每月只能下载一本书(似乎不用修)词汇分析(似乎不用修)导出笔记 done(修了,但似乎不 work,好像是本来就不 work)我是傻逼
由于有需求,就简单学了下。目前结论是估计新版也许加了一堆混淆。
经 Q 群某人指点要用,但是一看是闭源 + 付费的,算了.jpg, apktool 又不是不能用()
参考了一下 《Android 软件安全与逆向分析》 这本书。
首先不能直接解压。
简单小结
几条路:
解压
得到 dex 文件, 然后 dex2jar 获得 jar, 再 jd-gui 查看。
反汇编
用 apktool d 会得到很多 Smali 文件。这是安卓虚拟机用的汇编语言。后面改逻辑能用到。
vscode 有插件 ApkLab
反编译
用 jadx-gui 直接操作。可以直接看到 java 文件。
或者 jadx 反编译一步得到伪源文件
实战
看了下 link 里 qq 群的文件,可以找到对应的语句。
但是从 apkpure 里下载的文件,就根本找不到,只能找到一堆常量。
VIP 用户才能添加 mdx 字典 fixed
关键字 0x7f0f0069
发现需要 vip, mdx 定位关键字
这个是判断 vip 的,干掉它。
测试
核心是看上下的标签跳转确定该注释什么范围。
每月只能下载一本书(似乎不用修)
发现
找到
注释掉
词汇分析(似乎不用修)
汇编
找到
找到调用的
干掉
导出笔记 done(修了,但似乎不 work,好像是本来就不 work)
干掉
解决了
小插曲
尝试编译,发现
gradle 支持到 18 ,arch 官方已经 19 了
君生我未生,我生君已老
显然 jadx 反编译的结果是不能生成合法的项目的。但是已经提供了很多参考线索。接下来就是修改汇编的时间了。
随便注释了段代码
build
align
开始试着先签个名。
开始试着签名,结果版本太旧。用这个签新的名。
成功安装。
目前思路:根据反编译结果定位调用并修改逻辑。
然后跑这段测试效果。
这是我学安卓逆向的第 2 天。但是因为之前有 x86 改 galgame 的基础,就顺理成章解决了。
我是傻逼
思考,这些全是判断 vip 的,那我直接把 vip 的函数 return true 不就好了。
伪码:
搜 auth_email, 找到
上面是 virtual method, 不需要改。
成功解决 vip