首页
/ AppTroy 开源项目教程

AppTroy 开源项目教程

2024-09-18 22:51:30作者:曹令琨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 恶意软件的行为。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K