之前有很多小伙伴在问所谓的破解软件是怎么破的,想知道有没有那种没手都能学废的教程
,这次就来给大伙们解解馋。 这些都是有关安卓逆向的内容,一定要记得破解的软件只能用于学习研究,不得将其进行商用,否则就是违法行为。
一般步骤我们想做一件事情肯定先要有个整体思路,蛮干是行不通的,破解软件一般分这几步走: 找壳→脱壳→反编译→修改源文件→重新编译→调试 由于脱壳这部分可能会遇到的情况有很多种,技术上没手搞不定,所以我们暂且跳过
,而且很多手机软件开发者其实都懒得加壳,因为大部分加壳是收费的,感觉好像也没必要掏这笔钱。 教程实操不能实战的理论都是废话,了解完上面这些东西就可以开始来破解我们的第一个软件了,这次的这个方法虽然没办法说对所有软件都通用,但是有很多都是适用的。 本教程所需要用到的软件是MT管理器,免费功能已经够用了,用不到会员功能,这个软件去应用商店下载就有了。 这次就拿我们之前给大家分享过的两个软件来练练手吧,下面有请我们的第一位受害者—轻颜相机
先看看会员界面长什么样,接下来我们用MT管理器打开下载好的安装包。
从图中可以看到软件的加固状态是未加固,也就是说它没有套壳,符合我们本次的教程要求,点击查看可以看到右边这个样子。 其实安卓APK本身就是一种压缩包文件,里面打开后是组成这个APK的各种资源,这里我们所需要用到的是图中这几个dex后缀的文件而已。
随便点一个dex文件后选择Dex编辑器++,勾选全部文件后点击确定(如上图所示),就可以看到右边这个界面。
可以看到有很多个搜索结果,我们随便点第一个带大写字母Z的进来。
长按点进来的这个函数后点击跳转,程序会自动带我们到右图中这个位置,方框框起来的就是我们需要修改的地方。
通过仔细观察可以发现v0的值是影响软件判断VIP的关键,所以我们只需要在它return返回v0的值之前加入这样一串代码(如图箭头所示): const/4 v0, 0x1让v0的值从0变成1,0就是False,1就是True,也就是不管它前面是怎么操作查询的,在最后上报信息给软件的时候我们始终都会是会员。
修改完后保存返回,MT管理器会帮你重新编译,最后回到外边点击修改完的安装包选择功能~APK签名~确定。
记得是点图中这个安装包名称带sign关键字的,这才是你签名后的安装包,安装完后打开发现已经是vip且1970-01-01到期
所有功能也可正常使用,因为都是本地功能无需联网验证。 怎么样?是不是觉得自己学废了?那我们再找个APP来试一下吧,这次就用图中这个浩克下载器吧。
先看看它原版软件的会员提示,只允许会员用户设置自定义储存路径!
同样先打开安装包发现是未加固,符合要求,接下来用Dex编辑器++勾选class.dex文件,搜索只允许会员
随便点一个,我们这里就点第一个进来,看到右边图中又有这个带大写Z的语句,我们依旧是长按它点击跳转。
跳过来的这段代码有点长,还是老方法通过观察可以看出只需要将图中这个v1的值从0改成1就可以了。 这里不知道改哪个可以慢慢试,改完安装发现不行回来重新再改一次别的地方就行,MT管理器在你修改安装包时会自动给你备份的,同目录下apk.bak后缀的文件就是备份文件,将其后缀改回apk就是原来的安装包。
同样修改完后保存退出并确定更新。
再给APK重新签个名后就可以安装了,我们来康康最终结果。
已经没有提示会员才能用了,恭喜你破解成功。 总结 这种方法很简单,即使看不懂代码也没关系,只要知道怎么去寻找你想修改的地方就可以了,无非就是改个数字而已。 但是它也只能用来破解一些简单的安卓软件,相对于那些有代码混淆和加壳软件软件就还需要先脱壳再操作。关于怎么给软件脱壳不是本期教程重点,以后我们有机会再聊。
|