发布网友 发布时间:2022-04-19 10:01
共1个回答
热心网友 时间:2022-05-13 22:36
在破解app的时候,我们现在几乎都是在PC端进行操作,但是之前bin神的MT管理器,可以在手机端直接破解,不过也有很大的局限性,但是对于一些简单的app破解没问题的。这个工具其实原理也很简单,就是解析apk中的dex,arsc等文件,然后支持修改其中的类方法信息和资源信息,然后在二次打包签名即可。其实把这部分功能移到了移动端做了,不过值得佩服的是这个app从整体效果来说,非常的赞,非常佩服这个工具的作者。
二、逆向分析
但是今天我们的主题是破解这个工具内部的收费功能,而用这个工具进行破解教程后续再给出文章,今天我们就来爆破这个app的收费功能。不多说了,
我们在查看arsc文件的一部分功能的时候,就出现这个提示了,好的,直接用这个提示信息作为突破口,使用apktool工具反编译apk,然后查看他的:
看到这里,就很懵*了,而且你会发现apk内部的所有资源都是这种格式定义,到这里可以猜想apk做了资源混淆,我们用Jadx打开apk之后,全局搜索这个name值,是找不到的,会发现全是这样的定义,所以这个作者是为了防护apk做的一种策略。不过不要紧更恶心的防护还在后面。看我分析再说。不过在怎么资源混淆,最终在smali代码中都必须用int值0x7FXXXX来进行操作,所以我们可以在smali代码目录下全局搜索包含0x7f08009e值的文件,这里需要借助Window中的命令findstr了:
命令很简单,在当前目录下查找所有文件中包含指定字符串内容的:findstr /s /i “需要查找的内容”
我们可以看到总共就这么几个文件,这里我不会对每个文件进行查找,然后在确定是否是这个文件了,大家自己操作,可以依次顺序进行查看定位即可。最终我定位到了这个文件。我们打开这个文件查看:
记住在代码的157行调用这个字符串信息了,然后我们在Jadx中进行类查找即可