破解软件指的是 研究软件的激活机制后,通过修改内存或者程序文件、或者写注册机(keygen)程序并随机产生有效的序列号注册码,来达到免费使用该软件、或者突破其功能限制的目的的过程。
手机,全称为移动电话或无线电话,通常称为手机,原本只是一种通讯工具,早期又有“大哥大”的俗称[1],是可以在较广范围内使用的便携式电话终端,最早是由美国贝尔实验室在1940年制造的战地移动电话机发展而来。
必备材料和工具:MT管理器。
1、首先需要打开【mt管理器】,如图所示。
2、接下来需要点击【data】文件夹,如图所示。
3、接下来需要点击【选择游戏】安装包,如图所示。
4、接下来需要点击【files】,如下图所示。
5、接下来需要点击输入数值修改【游戏数据】,如下图所示。
在破解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中进行类查找即可