安卓逆向——基本逆向环境配置

使用虚拟机

优点:与系统隔绝,快照功能,不受平台的限制

  • 虚拟机具有良好的跨平台特性
    • 环境迁移:培训后可将完整虚拟机打包发送,确保学员获得与讲师完全一致的环境
    • 多平台支持:VMware系列产品支持Windows/Linux/macOS全平台部署
  • 虚拟机具有良好的隔离特性
    • 沙盒保护:所有测试操作都在虚拟环境中进行,不会污染真实主机系统
    • 安全测试:特别适合进行各类危险性测试和逆向分析工作

使用Kali Linux配置环境示

  • 下载验证:

    • 从官网获取VMware镜像torrent文件
    • 使用certutil工具校验文件SHA256值
    • 确保文件完整性后再进行解压操作
  • 配置建议:

    • 内存分配:建议配置为物理机内存的50-70%
    • 处理器核心:根据主机配置分配适当核心数(示例配置:4核)
    • 3D加速:建议关闭图形加速功能
    • 网络适配器:默认NAT模式即可
  • 使用注意:

    • 默认登录账号:kali/kali(US键盘布局)
    • 不建议直接使用root权限操作
    • 首次登录后建议立即修改密码

Kali Linux环境配置

时区设置

  • 设置方法:使用命令dpkg-reconfigure tzdata选择Asia→Shanghai时区后重启
  • 常见问题:Kali时间不对通常只是时区问题,不是系统时间错误
  • 注意事项:Arch Linux和Debian的时区调整方法可能不同

系统更新与工具安装

  • 基础配置:
    • root登录:Kali默认以root用户运行,避免权限问题
    • 历史记录:修改.bashrc中HISTSIZE=1000和HISTFILESIZE=2000
  • 实用工具
    • htop
      加强版top工具,可以查看当前活跃的、占用高的进程。在编译安卓源码时很好用。Uptime是开机时间,Load average时平均负载。
    • jnettop
      流量查看工具,在安装和使用软件的过程中,可以查看其下载和安装的进度,甚至在AOSP编译时,仍然在连接国外的服务器下载依赖包等等行为一览无遗,如果速度过慢可以及时将其掐断,换上科学上网工具继续安装或编译。还有就是在抓包时往往有奇效,比如实时查看对方IP等。
    • tree
      实时查看当前网卡流量及IP。文件名搜索工具,在解包apk后,搜索文件的名字非常好用。如果想把路径全部打印出来,可以加上一些选项及配合过滤工具grep。如果要搜索文件内容,则使用grep -ril “xxxx”。
    • tmux
      复用神器,可以在一个终端屏幕上管理多个终端(准确来说是伪终端),使用该工具,用户可以连接或断开当前会话,而保持终端在后台运行,管理VPS非常方便,可以保持当前会话永不断开(除非重启)。

配置科学上网

必要性: Android Studio初始化时需要科学上网才能下载组件

redsocks科学上网配置方法

下载和安装Android Studio

在主机找到官网linux版本下载右键复制下载链接。

在linux内路径~/Desktop下,输入命令行:wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2025.1.4.8/android-studio-2025.1.4.8-linux.tar.gz

需要解压最新版Android Studio(使用zxvf命令)

运行方法: 直接进入bin目录运行studio.sh

指路Gradle加载失败、超时等问题的总结_gradle下载超时-CSDN博客

  • 设置连接手机的路径

    • 先找到adb的路径输入命令行验证查看是否真的存在。

      /root/Android/Sdk/platform-tools

    • 验证真实存在后把这个路径加入系统就可以了。然后输入命令行nano ~/.bashrc

      Linux PATH 作用以及查看和修改方法_linuxenv中path-CSDN博客

    • 最后输入source adb即可

    • 出现 “修改 .bashrc 后配置环境变量没效果” 的情况

      • Android SDK 的 platform-tools 未正确安装

        如果 /root/Android/Sdk/platform-tools 目录本身不存在,或里面没有 adb 文件,说明 Android SDK 的平台工具(platform-tools)未安装 / 安装失败。这种情况下,手动配置路径也没用,建议通过系统包管理安装(更简单可靠):

        1
        apt install google-android-platform-tools-installer

        安装后,系统会自动配置 adb 到环境变量,无需手动改 .bashrc

      • 在安装 google-android-platform-tools-installer 时,需要选择一个镜像源来下载 Android 相关包。

        由于谷歌官方源(https://dl.google.com/android/repository)在国内访问可能存在速度慢、不稳定的问题,而 ** 腾讯云镜像(https://mirrors.cloud.tencent.com/AndroidSDK)** 是国内源,下载速度通常更快、更稳定。

        因此,建议选择 **https://mirrors.cloud.tencent.com/AndroidSDK**,然后按 <Ok> 确认即可。

  • 安装远程桌面的软件scrcpy

    • apt search apt scrcpy
    • apt install scrcpy

实用动静态分析工具

Java反编译神器:jadx

  • 核心功能:将安卓项目反编译成Java源码,支持APK、DEX、JAR等格式的反编译

  • 搜索功能:可以sign为关键字搜索整个APK,方便查找签名算法

  • 类名复制:在类标题栏右键可直接复制类名,便于在Frida中使用Java.use调用

  • 下载网址:GitHub - skylot/jadx: Dex to Java decompiler

    • 操作步骤:
      • 终端路径~/Desktop下输入命令行git clone https://github.com/skylot/jadx
      • 从release页面下载最新版解压7z x jadx-1.5.3.zip
      • 进入解压文件,命令行
        • cd jadx-1.5.3/
        • cd bin/
        • 运行./jadx-gui
      • 注意不要关窗口关了,就没了
  • 功能:

    • 使用关键字搜索功能定位关键代码
    • 右键查看类/方法的调用关系
    • 在code和smali视图间切换分析

二进制查看修改神器:010Editor

Python版本管理器:pyenv

管理多个 Python 版本的工具,可方便切换不同 Python 版本,隔离项目环境

  • 下载地址:pyenv/pyenv: Simple Python version management

    注意添加环境配置还有前置编译包

  • 使用技巧

    • 快速查看可用版本pyenv install --list 列出可安装的 Python 版本,加 grep 筛选:pyenv install --list | grep "3.11"

    • 安装指定版本pyenv install 3.11.4(安装后需执行 pyenv rehash 刷新命令)

      • 灵活切换版本
        • 全局默认:pyenv global 3.11.4(影响整个系统)
        • 项目局部:pyenv local 3.9.16(仅当前目录生效,生成 .python-version 文件)
        • 临时会话:pyenv shell 3.8.18(仅当前终端生效)
    • 查看版本状态pyenv versions 列出所有已安装版本(带 * 为当前使用版本);pyenv version 显示当前版本

    • 卸载无用版本pyenv uninstall 3.7.17 清理不再需要的版本

    • 配合插件增强:安装 pyenv-virtualenv 插件,可创建隔离虚拟环境:pyenv virtualenv 3.11.4 myproj-env

  • 手动下载:

    • 文件放到 ~/.pyenv/cache/ 目录
    • 然后Installing Python-版本

Jeb环境

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2025 唐小唐
  • 访问人数: | 浏览次数: