taibeihacker
Moderator
通过编译DART AOT运行时,Flutter移动应用程序逆向工程工具
目前,该应用程序仅支持Android libapp.so(仅ARM64)。此外,该应用程序目前仅针对最近的DART版本。
对于高优先级缺少功能,请参阅todo
我建议使用Linux OS(仅在Deiban SID/Trixie上测试),因为它易于设置。
build-essential pkg-config libicu-dev libcapstone-dev
PIP3安装Pyelftools请求
python3 blutter.py路径/to/app/lib/am64-v8a out_dir the blutter.py将自动检测到颤音引擎的飞镖版本,并调用blutter的执行,以从libapp.so中获取信息。
如果不存在所需的DART版本的Blutter执行,则脚本将自动查看DART源代码并对其进行编译。
python3 blutter.py path/to/app/lib/arm64-v8a out_dir --rebuild
python blutter.py path\to\lib\arm64-v8a build\vs --vs-sln
目前,该应用程序仅支持Android libapp.so(仅ARM64)。此外,该应用程序目前仅针对最近的DART版本。
对于高优先级缺少功能,请参阅todo
Environment Setup
此应用程序使用C ++ 20格式库。它需要最近的C ++编译器,例如G ++=13,Clang=15。我建议使用Linux OS(仅在Deiban SID/Trixie上测试),因为它易于设置。
Debian Unstable (gcc 13)
安装构建工具和依赖项APT安装Python3-Pyelftools Python3-重新questers git cmake cmake ninja-build \build-essential pkg-config libicu-dev libcapstone-dev
Windows
Install git and python 3 Install latest Visual Studio with 'Desktop development with C++' and 'C++ CMake tools' Install required libraries (libcapstone and libicu4c) python scripts\init_env_win.py Start 'x64 Native Tools Command Prompt'macOS Ventura (clang 15)
安装Xcode安装clang 15和必需的工具brew brew llvm@15 cmake ninja pkg-config icu4c capstonePIP3安装Pyelftools请求
Usage
提取'lib'目录从APK文件python3 blutter.py路径/to/app/lib/am64-v8a out_dir the blutter.py将自动检测到颤音引擎的飞镖版本,并调用blutter的执行,以从libapp.so中获取信息。
如果不存在所需的DART版本的Blutter执行,则脚本将自动查看DART源代码并对其进行编译。
Update
您可以使用git rupt更新和运行blutter.py。python3 blutter.py path/to/app/lib/arm64-v8a out_dir --rebuild
Output files
asm/*libapp assemblies with symbolsblutter_frida.jsthe frida script template for the target applicationobjs.txtcomplete (nested) dump of Object from Object Poolpp.txtall Dart objects in Object PoolDirectories
bin包含“ blutter_dartvmver_os_arch”格式中每个DART版本的Blutter可执行文件blutter包含源代码。需要在DART VM库中建造build包含建筑项目,可以在完成构建过程后可以删除该项目dartsdk包含DART Runtime的结帐,可以在完成构建过程的构建过程external包含Windows的3rd Party库后可以删除,Windows仅适用于Windowspackages,仅包含DART RUNTIMEscriptsCORNON for DART TIMET TIMER CORTINE CORTITION DART TIMET TIMER CONNON,Generating Visual Studio Solution for Development
我使用Visual Studio在Windows上使用Visual Studio进行Delevlop Blutter。 -VS-SLN选项可用于生成Visual Studio解决方案。python blutter.py path\to\lib\arm64-v8a build\vs --vs-sln