[原创]MIUI收费主题破解交流
首先声明本人也是菜鸟一个,发出来跟大家共同交流学习,本文也仅供学习交流,禁止商业用途,如果因此而产生的法律责任与本人无关。

MIUI的ROM做的非常不错,在此先赞一下rom的开发团队们。
不知何时起,主题也开始收费了,看着各种漂亮的主题很心动,有木有
?那就自己想想办法吧。
第一种方法:
刚开始考虑,主题他是怎么来做收费认证的呢?想从这里入手,分析了一下ThemeManager.apk,当你使用主题时,会判断/sdcard/MIUI/theme/.data/rights/下是否存在该主题的.mra文件,如果不存在,那么根据你的小米帐号到小米网站确认你是否可以使用该主题,如果可以就下载该主题的rights文件到/sdcard/MIUI/theme/.data/rights/;如果存在.mra文件,那么根据该文件的信息判断你是否可以使用该主题。
本来想通过分析程序判断怎么解析.mra文件,然后根据算法自己生成.mra文件,这条路是正道,但是此条路不好走;
第二种方法:
通过修改ThemeManager.apk,跳过验证.mra文件来使用主题,后来证明这种方法是最省事的。
首先要跳过购买,直接下载主题,通过分析发现在点击购买按钮时,会调用函数notifyBuyEventPerformed()V,如果将该函数直接改为notifyDownloadEventPerformed()V,那么就可以直接下载并使用主题了。

另外还有一个地方也需要修改,reset()V中的的默认返回值改为1

另外再将ThemeManager\res\values-zh-rCN\strings.xml里的购买改为下载

最后重新编译apk文件,复制到/system/app/下即可了

另外,除了米2的rom外,其他的机型的rom好像都没有odex,只有米2需要做odex。
我发现回帖有说设置完成后一会就恢复默认的,是因为miui在其他地方做了检测,如果没有正确的rights文件就会恢复默认主题。本文章只做讨论学习用,不提供相应apk文件。
PS:成为正式会员太麻烦了,好不容易靠在线时间赚的了邀请码
