Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ARTist — 开源Android应用和Java中间件插桩框架,通过ART编译器在设备端编译时修改代码。保留应用签名,支持基于模块的安全分析。 | Kitploit
工具/GitHubGitHub/project-artist/artist
Android安全逆向工程移动安全二进制分析论文与研究学习与教育
GitHubproject-artist/artist

ARTist

开源Android应用和Java中间件插桩框架,通过ART编译器在设备端编译时修改代码。保留应用签名,支持基于模块的安全分析。

查看仓库
1182737年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

ARTist - Android运行时(ART)插桩与安全工具包

Gitter

ARTist 是一个灵活的开源插桩框架,用于Android应用及Java中间件。它基于Android运行时(ART)的编译器,在设备端编译过程中修改代码。与现有插桩框架不同,它保留应用的原始签名,并在指令级别上操作。

本仓库是ARTist生态系统的核心,即插桩框架的实际实现。它被集成到AOSP的Android运行时(ART)项目中,以创建设备端 dex2oat 编译器的专用版本,并为开发者提供一套Module API,使其能够全面控制目标的完整Java源代码(以编译器的中间表示形式呈现)。ARTist允许最终用户使用已有的Module,开发者自行创建针对应用和Android系统的插桩,研究人员分析和扩展应用及系统行为。

ARTist可通过两种方式部署:其一,作为常规应用,使用我们的ArtistGui项目,在已root设备上进行非侵入式应用插桩;其二,作为自定义ROM的系统编译器,此时还能额外插桩系统服务(Package Manager Service、Activity Manager Service等)以及Android框架类(boot.oat)。它支持Android 6.0 Marshmallow 及之后的版本。

有关ARTist生态系统的详细教程和更深入的信息,请参阅我们的官方文档并加入我们的Gitter聊天室。

版本无关性

你可能会在代码中发现检查特定Android版本的守卫,因为我们内部使用的一些API可能随版本变化。ART项目在不断变化,因此我们尝试将所有版本相关代码隔离到我们的ART分支中,或将其隐藏在更便捷的版本无关API之后。总体目标是让Module开发者无需关心版本依赖,从而使生成的Module兼容ARTist支持的所有Android版本。

编写Module

在当前pre-beta版本中,Module在modules文件夹下创建,并与ARTist一起编译。然而,即将推出的beta版本(见下文)将包含一个专用SDK,允许独立于ARTist源码开发Module,因此不再需要AOSP,也无需硬编码Module,而是可以动态选择针对特定目标使用哪些Module。

构建ARTist

如果你只想创建自己的插桩,无需关心构建ARTist。请遵循上述说明即可。但如果你希望参与插桩框架本身的开发,以下内容将帮助你入门:

ARTist是ART编译器 dex2oat 的扩展,因此它作为子模块嵌入在我们的定制ART分支中。要构建ARTist,你需要将ART分支作为AOSP的一部分进行构建。我们所说的ARTist版本的 dex2oat 实际上是 dex2oat 二进制文件加上多个库(例如 libart-compiler),它们共同构成了我们的插桩编译器。ArtistGui 项目提供了现成的脚本,用于构建ART和ARTist,并将生成的二进制文件及库复制到ArtistGui的正确目录中,以便分发到设备进行测试。

即将推出的Beta版本

我们即将进入beta阶段,这将给整个ARTist生态系统带来许多变化,包括用于简化Module开发的专用ARTist SDK、基于语义化版本的发版和版本命名方案、改进和更新的在线文档、出色的新Module以及更多改进。然而,尤其是在过渡期间,某些信息(如仓库中README.md文件的内容以及 https://artist.cispa.saarland 上的文档)可能略有不同步。对于由此带来的不便,我们深表歉意,并欢迎在Gitter上提供反馈。要了解当前进展,请关注Project: ARTist仓库的beta里程碑,并查看 https://artist.cispa.saarland 上的新博客文章。

贡献

我们希望在Project ARTist周围建立一个活跃的开发者、研究人员和用户社区,因此非常欢迎各种形式的贡献和反馈。参与并帮助项目的方式有很多,例如测试和编写Module、提供关于哪些功能是关键或缺失的反馈、报告bug和其他问题,或者一般性地分享你的经验。团队正在积极监控Gitter和仓库,我们很高兴与大家联系并讨论。目前我们还没有完整的贡献指南,但很快就会推出(见上面的beta公告)。

学术界

ARTist基于一篇名为ARTist - The Android Runtime Instrumentation and Security Toolkit的论文,发表于第二届IEEE欧洲安全与隐私研讨会(EuroS&P'17)。全文可在此处获取:PDF。如果你在研究论文中引用ARTist,请使用以下参考文献条目:

root@kitploit:~
@inproceedings{artist,
  title={ARTist: The Android runtime instrumentation and security toolkit},
  author={Backes, Michael and Bugiel, Sven and Schranz, Oliver and von Styp-Rekowsky, Philipp and Weisgerber, Sebastian},
  booktitle={2017 IEEE European Symposium on Security and Privacy (EuroS\&P)},
  pages={481--495},
  year={2017},
  organization={IEEE}
}

还有一篇后续论文,我们利用ARTist从第三方应用中裁剪出广告库,将该库移动到一个专用应用(独立的安全主体),并通过自定义Binder IPC协议重新连接两者,同时通过将远程广告显示为浮动视图来保持视觉保真度。完整论文The ART of App Compartmentalization: Compiler-based Library Privilege Separation on Stock Android发表于2017年ACM SIGSAC计算机与通信安全会议(CCS'17),可在此处获取:PDF。

下载工具