Blutter Termux Guide: Setup, Usage, and Updates π±π»
Blutter is a powerful tool for reverse engineering Flutter apps, and you can run it directly on your Android device using Termux. Here’s a complete guide on how to install, use, and update Blutter in Termux. Let’s dive in!
π₯ Video Guide:
While there are video guides available, they might not be very helpful due to being outdated:
But don’t worry, this text guide will get you up and running smoothly! π
π₯ Requirements:
Make sure you have the following installed in Termux:
pkg i -y git python
π Installation Steps:
-
Navigate to Home Directory:
cd $HOME
-
Clone the Blutter Repository:
git clone https://github.com/dedshit/blutter-termux.git
-
Install Dependencies:
pip install requests pyelftools pkg install -y cmake ninja build-essential pkg-config libicu capstone fmt
-
Enter the Blutter Directory:
cd blutter-termux
β¨ Usage:
-
Navigate to the Blutter Directory:
cd $HOME pwd # To check if you're in the correct directory
If you’re not in the Blutter directory, navigate there:
cd blutter-termux
-
Run Blutter:
python3 blutter.py path/to/app/lib/arm64-v8a out_dir
Or alternatively:
python blutter.py path/to/app/lib/arm64-v8a out_dir
π₯ Example Command:
For example, if you want to extract files from an app:
python3 blutter.py /storage/emulated/0/MT2/lib_edit/ /storage/emulated/0/MT2/lib_edit/blutter-output/
β¨ Important Notes:
-
Enter Commands One by One:
- Press
enter
after each command.
- Press
-
Check Your Home Directory:
- Your
$HOME
directory in Termux should be:/data/data/com.termux/files/home
- Your
-
Fixing Errors:
- If you encounter errors related to
no member named 'format' in namespace std
, run the following command in the Blutter directory:find -type f -exec sed -i 's/std::format/fmt::format/g' {} +
- If you encounter errors related to
π Updating Blutter:
-
Automatic Updates:
Every time you runblutter.py
, it will automatically check for updates and apply them, including the necessary changes tostd::format
. -
Manual Update (if needed): If Blutter isn’t updating or you’ve made manual changes, you might need to reset and pull the latest updates:
git reset --hard && git pull
π₯· Extra: Handling Dart Dev Version Errors π
If you’re dealing with Dart dev version between 3.0.0-30.dev
and 3.0.0-51.dev
, use the following update:
git clone https://github.com/AbhiTheModder/blutter-termux -b 3.0.0-XX.0.dev blutter-termux-dev
This will create a new directory named blutter-termux-dev
in your Termux current directory, specifically for those Dart versions.
π·ββοΈ Quick Tip for Using (b)lutter:
If you’re dealing with Dart versions that share the same snapshots (like Dart 3.4.x), you can avoid recompiling Blutter by using the --dart-version
flag. For instance:
--dart-version 3.4.1_android_arm64
This flag allows you to use a compiled version for other versions like 3.4.2 or 3.4.3 without needing to recompile! π
That’s it! You’re all set to use Blutter in Termux for your reverse engineering needs.
Happy reversing! π§π»