安卓逆向|去除APK的包名校验

首先,apk共存之后会打开软件出现以下信息:
图片[1]-安卓逆向|去除APK的包名校验-一一网 图片[2]-安卓逆向|去除APK的包名校验-一一网 

我们不用搜索关键字的方法去找关键代码,因为有的软件会对字符串进行加密 从而无法搜索到

首先,打开需要去除包名校验的App 使用开发者助手或者Activity记录 来记录Activity的类名。
图片[3]-安卓逆向|去除APK的包名校验-一一网 

复制之后 打开MT
图片[4]-安卓逆向|去除APK的包名校验-一一网 
图片[5]-安卓逆向|去除APK的包名校验-一一网 
图片[6]-安卓逆向|去除APK的包名校验-一一网 图片[7]-安卓逆向|去除APK的包名校验-一一网图片[8]-安卓逆向|去除APK的包名校验-一一网 
图片[9]-安卓逆向|去除APK的包名校验-一一网 

转成Java后我们可以看到getPackageName的值赋给了d 
图片[10]-安卓逆向|去除APK的包名校验-一一网 




这时我们返回smali代码 至于为什么要添加代码而不是直接去修改条件语句呢?

答案是完全可以的,只不过这个软件代码混淆了   理解起来有点复杂 直接对d进行赋值操作会简单一点  你们在修改过程中可以对软件进行分析之后 再进行修改操作






为什么要加上一行这样的代码?

const-string v0, "共存前包名"

因为程序是判断当前应用包名与原应用包名是否相当 我们在getpackagename方法下面对 其进行重新赋值 就可以啦(getpackagename方法返回String)

加上之后


注意 有的应用可能是将包名直接赋值给字符串 而不是通过getPackageName等方法去获取 

这时候有小伙伴要问啦,为什么你不直接搜索getPackageName方法呢?
你看下直接搜索这个方法会出现什么图片[11]-安卓逆向|去除APK的包名校验-一一网 图片[12]-安卓逆向|去除APK的包名校验-一一网 
这样会搜出来很多关系不大的代码,这样分析有点浪费时间。

最后保存签名安装
图片[13]-安卓逆向|去除APK的包名校验-一一网 

可见已经是专业版了

标签: 安卓逆向MT教程

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享