AppTroy 开源项目教程
2024-09-18 22:45:13作者:曹令琨Iris
1. 项目介绍
AppTroy 是一个通用的、细粒度的恶意软件分析系统,专为 Android 平台设计。它方便分析师进行解包、反混淆和监控系统 API。通过 AppTroy,即使是经验不足的分析师也能更好地理解代码的内部逻辑,因为它不需要对打包器有深入的了解。
2. 项目快速启动
2.1 环境准备
确保你的 Android 系统版本 <= 4.4.2,因为 AppTroy 尚未在 ART 运行时环境中进行测试。
2.2 克隆项目
git clone https://github.com/CvvT/AppTroy.git
cd AppTroy
2.3 修改配置
在 jni/dump.cpp 文件中,修改第 13 行的 OFFSET 值。这个值是 gDvm 到其成员变量 useDexFiles 的偏移量,可以通过逆向工程获取。
#define OFFSET 796
2.4 构建项目
使用 NDK 构建项目:
ndk-build
2.5 导入 Android Studio
将项目导入 Android Studio 并进行构建。
2.6 安装 Xposed 框架
安装 Xposed 框架,并将 AppTroy 模块启用。
2.7 推送库文件
adb push /libs/armeabi/libapptroy.so /system/libs/
adb push /libs/armeabi/libluajava.so /system/libs/
2.8 启用模块并重启
在 Xposed 安装器应用程序中启用 AppTroy 模块,并重启系统。
3. 应用案例和最佳实践
3.1 日志输出
使用 Log.d() 输出所有信息:
adb logcat -s cc
3.2 API 监控
AppTroy 可以监控大多数敏感 API。
3.3 解包操作
启动目标应用程序并显示 DexFiles:
am broadcast -a com.cc.dumpapk --es package your/package/name --es cmd '["action":"show"]'
选择一个 DexFile 并进行解包:
am broadcast -a com.cc.dumpapk --es package your/package/name --es cmd '["action":"dump", "cookie": the_value_selected_from_previous_step]'
4. 典型生态项目
AppTroy 可以与其他 Android 安全分析工具结合使用,例如:
- Androguard: 用于静态和动态分析 Android 应用程序。
- APKTool: 用于反编译和重新打包 APK 文件。
- Jadx: 用于反编译 Android Dex 和 APK 文件。
通过结合这些工具,可以更全面地分析和理解 Android 恶意软件的行为。
登录后查看全文
热门项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0235
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0161
kornia🐍 空间人工智能的几何计算机视觉库Python02
PaddleParallel Distributed Deep Learning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)C++02
热门内容推荐
项目优选
收起
暂无描述
Dockerfile
782
5.13 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
892
2.06 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
476
Ascend Extension for PyTorch
Python
763
980
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
712
1.44 K
deepin linux kernel
C
32
16
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
446
159
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.11 K
1.15 K
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.42 K
683
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.05 K
273