安装pyenv

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec "$SHELL"

安装pyenv版本

pyenv install 3.8.0
pyenv local system 让python变成系统版本
(安装失败)
apt update
apt install -y libbz2-dev libreadline-dev libssl-dev zlib1g-dev
查看版本
pyenv versions

安装frida

pip install frida==12.8.0
pip install frida-tools==5.3.0
pip install objection==1.8.4
frida --version
frdia-ps --version
objection version
直接安装最新的
pip install objection

将jadx加入环境

打开文件
nano ~/.bashrc
echo 'export PATH=$PATH:/root/桌面/jadx/bin' >> ~/.bashrc
source ~/.bashrc

使用命令将手机中的apk放到虚拟机

adb pull /sdcard/Android/data/com.coolapk.market/files/Download/鸿蒙智行-1.2.4.310-120403100-941817.apk

连接到目标应用,启动交互式通话

objection -g app.huawei.motor explore

推送 frida-server 到 Android 设备

adb push /root/下载/frida-inject-12.11.8-android-arm64 /data/local/tmp

设置权限并启动 frida-server,一定一定要给权限,否则会报错误ProcessNotFoundError: unable to find process with name ‘system_server’

adb shell "chmod 755 /data/local/tmp/frida-server-12.8.0-android-arm64"
adb shell "su -c '/data/local/tmp/frida-server-12.8.0-android-arm64 &'"
使用以下命令检查正在监听的端口
adb shell netstat -an | grep 27042
通过 ps 命令列出所有进程,并手动查找可能占用端口的进程
adb shell ps | grep frida-server
一旦找出占用端口的进程 PID(假设是 1234),可以终止它:
adb shell su -c 'kill -9 1234'

特别注意下,objection -g app.huawei.motor explore没反应的原因是Objection依赖有问题

pip install --upgrade objection

列出所有activity

android hooking list activities

启动某个activity

android intent launch_activity app.huawei.auto.im.ui.chat.SearchChatRecordActivity

配置dexdump

git clone https://github.com/hluwa/FRIDA_DEXDump ~/Downloads/FRIDA-DEXDump

安装vscode

dpkg -i /root/下载/code_1.92.1-1723066302_amd64.deb
处理依赖问题
apt-get install -f
以root用户运行
code --no-sandbox --user-data-dir=/root/.vscode-data

使用frida-dexdump

frida-dexdump -FU

打开当前目录

thunar .

搜索

grep -ril "MainActivity"

读文件大小

du -h 0xc18a0000.dex
解释命令部分
du:du(disk usage)是一个用于显示文件和目录的磁盘使用情况的命令行工具。它可以计算和显示指定文件或目录的磁盘使用空间。

-h:这是一个选项,表示“human-readable”(人类可读的格式)。它使 du 以易于阅读的格式显示文件或目录的大小(例如,使用 KB、MB、GB 等单位)。

0xc18a0000.dex:这是一个文件名。在这个例子中,0xc18a0000.dex 是你想要检查其大小的文件。