方案一、安裝python環(huán)境
參考:https://bbs.pediy.com/thread-263852.htm
termux 版本103
下載地址
設(shè)置國內(nèi)源(可以手機(jī)瀏覽器打開此文章,復(fù)制粘貼)
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
可以設(shè)置ssh遠(yuǎn)程操作,(如果只是手機(jī)敲,可以跳過這一步)
手機(jī):
pkg install openssh

從手機(jī)截圖可知 路徑 、用戶名、 和存在.ssh文件夾
因?yàn)閠ermux只支持免密登錄 所以需要傳公鑰。
電腦:(電腦有公鑰,不需要第一條命令)
# 生成公鑰
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
找到手機(jī)ip地址,截圖得知用戶名為 u0_a173
ssh u0_a173@192.168.0.150 -p 8022
就能連上了。
安裝python frida等
我這里是電腦運(yùn)行的下面命令,有點(diǎn)問題,而且還慢。后來重新設(shè)置了上面的國內(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巨慢,最后我給手機(jī)fan 強(qiáng)了。
- 2、不要使用su,那樣就沒有環(huán)境了,相當(dāng)于電腦adb敲命令。 要使用tsu。
- 3、 如果報(bào)了
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 另一個(gè)現(xiàn)成的方案
————————————————更新———————————————
方案三、重打包
就是下面這個(gè)鏈接的方式
http://www.itdecent.cn/p/d2d7da75990a
大概原理就是把a(bǔ)pp重打包,把frida_gadget.so塞到app里,然后會(huì)讀特定一個(gè)目錄里的js腳本
塞入的方式有多種
1、修改small 人話就是:添加一些java層代碼直接加載那個(gè)so(實(shí)際是small代碼,不能直接改java)
2、通過so linker 人話就是: 修改app自己的so,讓那個(gè)so引用frida的so。導(dǎo)致frida的so被加載。
3、xpatch 他是一個(gè)免root使用xposed框架,原理是解包->把xposed、sandkook之類的塞進(jìn)去->保存之前的簽名到一個(gè)目錄->hook簽名驗(yàn)證的方法指向剛才那個(gè)目錄->重打包。能用xposed了,就可以用xposed模塊取加載那個(gè)so,當(dāng)然用原生xposed也中
大概原理是這個(gè)樣子,具體操作可以到那個(gè)鏈接里看