Kali搭建Android逆向环境

每次都要找教程太累人了,自己写一个记录。

1. Kali基础配置

去Kali官网下载最新版的Kali虚拟机,解压后放入VMware即可,将内存和处理器往高调。默认账户kali,密码kali。

将Kali调成永不熄屏。

修改账户root的密码为toor,重启,使用root用户登录:

1
2
sudo passwd root
reboot

如果Kali里的时间不正确,修改为正确时间:

1
dpkg-reconfigure tzdata

选择Asia -> Shanghai。

检查与更新软件包:

1
2
apt update
apt upgrade

如果在Kali中中文显示乱码,安装中文依赖包:

1
2
apt install xfonts-intl-chinese
apt install ttf-wqy-microhei

将zsh回退到bash,修改完重启Kali:

1
2
chsh -s /bin/bash
reboot

增加HISTSIZE,可以保存更多的命令历史:

1
vim .bashrc

将HISTSIZE和HISTFILESIZE设置大一点:

1
source .bashrc

如果有科学上网,可以设置代理,没有可以不弄:

1
vim /etc/proxychains4.conf

注释掉proxy_dns和socks4,增加socks5 [连接虚拟机网卡的主机IP] [端口]。

2. 实用工具

2.1 htop

安装htop,用来动态查看当前活跃的、占用高的进程:

1
apt install htop

2.2 jnettop

安装jnettop,流量查看工具,可以查看下载和安装速度:

1
apt install jnettop

2.3 010 Editor

安装010 Editor,查看文件格式工具:

1
2
3
wget https://www.sweetscape.com/download/010EditorLinux64Installer.tar.gz
tar zxvf 010EditorLinux64Installer.tar.gz
./010EditorLinux64Installer

2.4 VSCode

安装VSCode,下载.deb包,解压:

1
2
apt install dpkg
dpkg -i code_1.70.1-1660113095_amd64.deb

VSCode在root用户打不开,可在快捷方式右键 -> Edit Application,在Command中修改为以下命令即可:

1
/usr/share/code/code --no-sandbox --unity-launch %F

3. 安卓逆向必备工具

3.1 Android Studio

Android Studio官网下载安装Android Studio:

1
2
3
4
wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.2.1.16/android-studio-2021.2.1.16-linux.tar.gz
tar zxvf android-studio-2021.2.1.16-linux.tar.gz
cd android-studio/bin
./studio.sh

运行AS让它下载SDK,创建一个Empty Avtivity让它下载并初始化一下安卓开发环境。

3.2 Jadx

安装反编译工具jadx,下载最新版:

1
2
3
4
wget https://github.com/skylot/jadx/releases/download/v1.4.3/jadx-1.4.3.zip
7z x jadx-1.4.3.zip
cd bin
./jadx-gui

将其加入系统路径:

1
vim ~/.bashrc

在文件末尾添加一条路径:

1
PATH=$PATH:/root/jadx-1.4.3/bin;export PATH;

保存后source一下,就可以在任意路径中使用jadx了:

1
2
source ~/.bashrc
jadx-gui

3.3 jeb

下载反编译工具jeb到主机,拖进Kali,解压,运行jeb让它初始化:

1
2
3
4
5
7z x JEB-4.16.0.zip
cd JEB-4.16.0
7z x jeb-demo-4.16.0.zip
cd jeb-demo-4.16.0
./jeb_linux.sh

打开写入Key name后,点击Manual Key Generation,复制License data。运行jebKengen.py,输入License data后会输出License key,回填即可。

1
python2 jebKeygen.py

3.4 scrcpy

安装scrcpy,远程桌面,可以将手机界面投屏到电脑上查看实时情况:

1
2
apt search scrcpy
apt install scrcpy

4. Frida版本管理和开发环境

4.1 pyenv

安装pyenv,设置多版本Python环境:

1
2
3
4
5
6
7
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"
sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
source .bashrc

查看当前Python版本,Python2和Python3都有,默认是Python 3.10.5:

1
2
3
4
5
6
7
┌──(root㉿kali)-[~]
└─# python -V
Python 3.10.5

┌──(root㉿kali)-[~]
└─# python2 -V
Python 2.7.18

也可以安装自己喜欢的版本,比如3.8.0:

1
pyenv install 3.8.0

安装完成后切换Python版本:

1
2
pyenv local 3.8.0
pyenv local system

4.2 Frida + Objection

在Python 3.8.0环境下安装对应的Frida和objection版本:

1
2
3
4
pip install --upgrade pip   
pip install frida==12.8.0
pip install frida-tools==5.3.0
pip install objection==1.8.4

4.3 frida-dexdump

安装frida-dexdump:

1
2
3
4
mkdir -p ~/.objection/plugins/
git clone https://github.com/hluwa/frida-dexdump.git ~/.objection/plugins/frida-dexdump

pip install frida-dexdump

4.4 Wallbreaker

安装Wallbreaker插件:

1
2
mkdir -p ~/.objection/plugins/
git clone https://github.com/hluwa/Wallbreaker ~/.objection/plugins/Wallbreaker