MODDERSU
Just Crazy
Introduction
RKPairip is a Termux-based APK reverse-engineering tool developed by Techno India.It provides multiple modes for decompiling, merging, repairing, and fixing Android
.dex files, with easy command-line options.Ideal for developers who work with APK editing, dex repair, or string translation workflows.
Installation Method
Prerequisites
Before installation, make sure you have Python installed:
Code:
termux-setup-storage && pkg update -y && pkg upgrade -y && pkg install python -y
Option 1 – Install from PyPI (Testing)
Code:
pip install Pairip
Option 2 – Install from GitHub (Latest Commit)
Download from Main Branch (ZIP or TAR.GZ):
Code:
[hide]pip install --force-reinstall https://github.com/TechnoIndian/RKPairip/archive/refs/heads/main.zip[/hide]
Code:
pip install --force-reinstall https://github.com/TechnoIndian/RKPairip/archive/refs/heads/main.tar.gz
Code:
curl -Ls https://github.com/TechnoIndian/Tools/releases/download/Tools/RKPairip.sh | bash
Option 3 – Git Clone Method
Code:
pkg install python git
pip install --force-reinstall git+https://github.com/TechnoIndian/RKPairip.git
Uninstall RKPairip
To remove RKPairip from your system:
Code:
pip uninstall Pairip
Usage Guide
Basic Command
Run RKPairip using the following format:
Code:
RKPairip -i YourApkPath.apk
Available Modes
| Mode | Description | Example |
|---|---|---|
-i | Default APKEditor Mode | RKPairip -i app.apk |
-a | Decompile with ApkTool | RKPairip -i app.apk -a |
-s | Merge Skip (separate last dex) | RKPairip -i app.apk -s |
-a -s | Decompile + Merge Skip | RKPairip -i app.apk -a -s |
-r | Dex Repair (after translating strings to MT) | RKPairip -i app.apk -r |
-x | Hook CoreX (Unity/Flutter/Crash Fix) | RKPairip -i app.apk -x |
-a -x | Decompile + Hook CoreX | RKPairip -i app.apk -a -x |
-m | Anti-Split (Merge Only) | RKPairip -m app.apk |
-C | Show Credits & Info | RKPairip -C |
Fix Dex Regex (Manual Repair)
If you encounter dex errors, you can manually apply the following regex patches.
Patch 1
Find (Regex):
Code:
(# direct methods\n.method public static )FuckUByRK\(\)V([\s\S]*?.end method)[\w\W]*
Code:
$1constructor <clinit>()V$2
Patch 2
Find (Regex):
Code:
sget-object.*\s+.*const-string v1,(.*\s+).*.line.*\n+.+.*\n.*invoke-static \{v0\}, LRK_TECHNO_INDIA/ObjectLogger;->logstring\(Ljava/lang/Object;\)V
Code:
const-string v0,$1
Patch 3
Find (Regex):
Code:
invoke-static \{\}, .*;->callobjects\(\)V\n
(empty)
Patch 4
Find (Regex):
Code:
(\.method public.*onReceive\(Landroid/content/Context;Landroid/content/Intent;\)V\s+\.(registers|locals) \d+)[\s\S]*?const-string/jumbo[\s\S]*?(\s+return-void\n.end method)
Code:
$1$3
Patch 5
Step 1: Search for
Code:
pairip
Code:
invoke.*pairip/(?!licensecheck/).*
(empty)