界面如下
代碼被加殼
要脫殼
然後我的機器是6.0的,跑不了。這個殼不兼容art
所以費勁下載了一個arm的官方模擬器。真的是卡呀。
attach了很久才連上
老步驟。
裝上debug版本
然後打開手機的android server
am shell 進入調試模式
ida attach上去 並在dvmDexFileOpenPartial中打上斷點
jdb命令連接上去
然後f8過了push即可
然後一個知識點是r0到r4寄存器一般是用來存放一個函數的參數值的。
第一個參數是dex內存的起始地址 第二個參數是dex的大小
shift+f2 調出腳本dump數據
static main(void){
auto fp,dex_addr,end_addr;
fp = fopen("g:\\dump.dex","wb");
end_addr = r0+r1;
for(dex_addr = r0;dex_addr<end_addr;dex_addr++){
fputc(Byte(dex_addr),fp);
}
}
dump出來的dex就可以看了
這個地方可以xposed 解 。也可以寫一個項目自己倒包解。也可以網頁解。
<<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
function findMethodName(){
for (var obj in window) {
if ("getClass" in window[obj]) {
return window[obj]
}
}
}
</script>
<script type="text/javascript">
var obj = findMethodName()
obj.showToast()
alert(obj)
</script>
</body>
</html>
文件放到/data/data/包名裏面
xposed解出來是SmokeyBear 我就不解了。懶了。