轉(zhuǎn)載請(qǐng)標(biāo)明出處http://www.reibang.com/p/e19c566736fb ??
接著前面的文章搭建好frida的環(huán)境之后牙寞,我們來嘗試Android手機(jī)app的操作耘沼。
1. 在確保手機(jī)和電腦都已經(jīng)配置好Frida的情況下,以及手機(jī)和電腦已經(jīng)連接正常的情況下顽腾。
????執(zhí)行adb shell su -c '/data/local/tmp/frida-server' 。運(yùn)行手機(jī)的frida-server。(已經(jīng)開啟運(yùn)行的就跳過這步吧)
2. 現(xiàn)在棒卷,一切環(huán)境準(zhǔn)備完畢,為了測試Frida是否準(zhǔn)備正常
????執(zhí)行:frida-ps -U
????如果出現(xiàn)進(jìn)程列表祝钢,就表示準(zhǔn)備正常了比规。
3. 嘗試 : 跟蹤App里的Open()函數(shù)
? ? 在我們的Android手機(jī)上啟動(dòng)我們要操作的APP,之后在電腦輸入指令
????frida-trace -U -i open xxx(后面這個(gè)是你要操作的app的包名)
會(huì)看到如下圖輸出:
到此為止你可以任意的在App里面操作了拦英,可以看到主控端的命令行關(guān)于 open() 的輸出了
現(xiàn)在可以實(shí)時(shí)的修改JavaScript腳本蜒什,并且在Android的App里面深挖了。
????3.1 frida出現(xiàn)的問題
? ? ? ? ? ? 這里我就遇到了:
????????????Failed to attach: unexpected error while attaching to process with pid 19267疤估。
????????????這里我們還需要對(duì)selinux(完全不知道什么情況但是還好找到了辦法解決)操作一下灾常。
????????????adb shell su,進(jìn)入到root權(quán)限之后铃拇,輸入getenforce我們看到的是Enforcing钞瀑,這里我們需要輸入echo 0 > /sys/fs/selinux/enforce。
????????????之后再輸入getenforce就會(huì)出現(xiàn)Permissive慷荔,問題就解決了雕什。如下圖(下圖是我修改之后的所以是Permissive):
????????????
4. 原文檔提到:
????像是 Frida,F(xiàn)rida-trace 等這些工具確實(shí)很有用,但是有時(shí)候你會(huì)發(fā)現(xiàn)你還是需要定制自己更加個(gè)性化的功能贷岸,那就最好去讀一下 Functions 和 Messages 這兩章壹士,比如當(dāng)你使用到 frida.attach() 的時(shí)候,其實(shí)底層調(diào)用的就是 frida.getusbdevice().attach()凰盔。
最后墓卦,很感謝看雪大神翻譯的Frida中文文檔,感謝户敬!