修改smali文件,重打包实现修改程序流程

来源:互联网 发布:python 转换成字典 编辑:程序博客网 时间:2024/05/22 12:27

0x01:


目的:修改目标程序的smali文件,使得重打包签名之后运行程序时,显示一个crack by lyz

0x02:


得到原有的smali文件:
利用android apktool
然后用Editplus打开:  重点是在onCreate函数中

0x03 :

在onCreate函数的适当位置加入
 Toast.makeText(this, "Cracked by lyz", 1).show(); 这一句话的java 汇编代码:
注:const-string  给VO寄存器赋值一个string类型的字符串
       invoke-static 调用一个静态的方法
       move-result-object 将返回值传给某一个寄存器

0x04 :

重打包
修改了smali文件之后,保存。然后就可以直接用apktool进行”重建APK“。
重建APK之后,生成存放中间文件的文件夹build和存放最后的apk文件的文件夹dist。
在build文件夹下能看到
用apktool可以生成jar包,用jd-gui打开

果然在onCreate函数中加上了那一句代码!
最后能生成一个xxx(未签名).apk

0x05 :


签名

利用apktool对未签名的apk进行签名。得到xxx.apk

0x06 :


重新安装apk

先在模拟器里卸载掉之前安装的xxx.apk

在SDK文件夹下有adb.exe的目录中 打开 cmd

执行:adb install 你的xxx.apk路径
注:apk的路径不能有中文

0x07 :


测试



OK。
       
0 0
原创粉丝点击