Android SDK - Tools for developing and building Android applications;
Apktool - Tool for reverse engineering Android apk files;
Backsmali - Assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation;
Jadx - Dex to Java decompiler;
ReFlutter - Framework for reverse engineering Flutter apps using the patched version of the Flutter library which is already compiled and ready for app repacking;
Frida - Dynamic instrumentation toolkit for developers, reverse-engineers, and security researchers.
Krakatau - Assembler and disassembler for Java bytecode, which allows you to convert binary classfiles to a human readable text format, make changes, and convert it back to a classfile, even for obfuscated code.
To build the default container image, use the command:
docker build -t andrev .You can specify addition build arguments. For example:
docker build --build-arg JDK_VERSION=11 --build-arg ANDROID_VERSION=29 -t andrev .Note
The list of all available arguments below.
| Name | Description |
|---|---|
| JDK_VERSION | Version of Open JDK |
| ANDROID_VERSION | Version of Android SDK |
| BUILD_TOOLS_VERSION | Version of Android Build tools |
| APKTOOL_VERSION | Version of Apktool |
| BACKSMALI_VERSION | Version of Backsmali |
| JADX_VERSION | Version of Jadx |
| REFLUTTER_VERSION | Version of ReFlutter |
| FRIDA_VERSION | Version of Frida |
| FRIDA_ARCH | Architecture of system for Frida |
| KRAKATAU_COMMIT_HASH | Commit hash of Krakatau |
To run the default container from image, use the command:
docker run --name andrev -ti andrevYou can resolve addresses in your local network. Specify host argument:
docker run --name andrev --net=host -ti andrevNote
It's nessary for ADB, Fastboot, Frida, etc.
Also, we can run container in detached mode:
docker run --name andrev --net=host -dti andrevThen to connect to the container, the command can be used:
docker attach andrevor
docker exec -ti andrev /bin/bashNote
attach connects to your primary terminal session. When this session stops the container will be stopped also. exec creates new secondary terminal session. This session will be automatically closed after closing of primary session.