方案一、安裝python環(huán)境
參考:https://bbs.pediy.com/thread-263852.htm
termux 版本103
下載地址
設置國內(nèi)源(可以手機瀏覽器打開此文章,復制粘貼)
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
pkg update -y
可以設置ssh遠程操作,(如果只是手機敲,可以跳過這一步)
手機:
pkg install openssh
從手機截圖可知 路徑 、用戶名、 和存在.ssh文件夾
因為termux只支持免密登錄 所以需要傳公鑰。
電腦:(電腦有公鑰,不需要第一條命令)
# 生成公鑰
ssh-keygen -t rsa
adb push ~/.ssh/id_rsa.pub /sdcard/
adb shell
su
mv /sdcard/id_rsa.pub /data/data/com.termux/files/home/.ssh/
cat ./id_rsa.pub >> authorized_keys
找到手機ip地址,截圖得知用戶名為 u0_a173
ssh u0_a173@192.168.0.150 -p 8022
就能連上了。
安裝python frida等
我這里是電腦運行的下面命令,有點問題,而且還慢。后來重新設置了上面的國內(nèi)源和pkg update -y
就好了
過程中可能有問題,文章下方有說明。
安裝
pkg update -y
pkg install -y python
pkg install -y tsu
pkg install -y root-repo
cp /data/data/com.termux/files/usr/bin/pip3.9 /data/data/com.termux/files/usr/bin/pip3.8
pkg install -y frida-tools
tsu
# 此文件夾自己建的
cd /sdcard/LocalFrida/
unset LD_PRELOAD
frida -f app包名 -l 你自己寫的腳本.js --no-pause --runtime=v8
可能出現(xiàn)的問題:
- 1、安裝frida-tools巨慢,最后我給手機fan 強了。
- 2、不要使用su,那樣就沒有環(huán)境了,相當于電腦adb敲命令。 要使用tsu。
- 3、 如果報了
CANNOT LINK EXECUTABLE "/data/local/tmp/frida-xxxxx/frida-helper-32": "/data/data/com.termux/files/usr/lib/libtermux-exec.so" is 64-bitFailed to spawn: unexpectedly timed out while spawning helper process
的話。就敲一下unset LD_PRELOAD
就好了exit
方案二、frida-inject
https://github.com/iGio90/FridaAndroidInjector 現(xiàn)成的方案
https://github.com/langgithub/FridaInject 另一個現(xiàn)成的方案
————————————————更新———————————————
方案三、重打包
就是下面這個鏈接的方式
http://www.lxweimin.com/p/d2d7da75990a
大概原理就是把app重打包,把frida_gadget.so塞到app里,然后會讀特定一個目錄里的js腳本
塞入的方式有多種
1、修改small 人話就是:添加一些java層代碼直接加載那個so(實際是small代碼,不能直接改java)
2、通過so linker 人話就是: 修改app自己的so,讓那個so引用frida的so。導致frida的so被加載。
3、xpatch 他是一個免root使用xposed框架,原理是解包->把xposed、sandkook之類的塞進去->保存之前的簽名到一個目錄->hook簽名驗證的方法指向剛才那個目錄->重打包。能用xposed了,就可以用xposed模塊取加載那個so,當然用原生xposed也中
大概原理是這個樣子,具體操作可以到那個鏈接里看