smali插桩(log输出| 匿名管道 )
所需文件crack.smali -->链接:https://pan.baidu.com/s/1LnGoWqAOZNY82lecg37jIA
提取码:wwkm
android逆向助手–>链接:https://pan.baidu.com/s/1gLGRjYDHu_EQCAWMShddvA
提取码:pndx
注意:本篇是接上篇jeb动态调试的
动态调试时 附加断点或者修改type查看值时会造成app崩溃
有一些参数值是在app加载时生成的,采用动态调试需要先把app启动起来,这样这些值我们就调试不到了
调试模式启动(后续会讲)
将apk用压缩文件打开把里面的.dex文件解压出来
找到b.smali文件,其他带$符号的文件是偏向更底层的代码文件、
在开头的网盘链接中下载crack.smali文件,调用方法在调用格式文本中
将crack.smali文件放在classes文件夹中,即跟com是同级目录
然后我们就可以在b.smali中进行相应寄存器的日志输出了
在b.smali中直接搜索b.a()方法,这里的a()方法有一个hashmap类型的参数和string类型的参数
找到a()方法后,拉到方法底部,smali语言中方法结束标识是.end method
修改完保存
然后将classes文件夹重打包为.dex文件
替换之后在模拟器上安装apk
打开apk进行登录
点击登录之后在eclipse的ddms中就可以看到我们打印的相应的寄存器的值了,sign签名的值是如何生成的一目了然