Another frida-gadget injector for APK:
environment
Path
and click Edit...keytool
into path:C:\Users\User\AppData\Local\build-tools\x.y.z
bin
, e.g. C:\Program Files\Java\jdk-22\bin
pip install git+https://github.com/commonuserlol/fgi
zipalign
and apksigner
or Android SDK installed, if not:
~/Android/Sdk/build-tools/x.y.z
to path if you're using Android SDKpip install git+https://github.com/commonuserlol/fgi
--break-system-packages
if pip refuses to install~/.local/bin
to pathNOTE: On linux if you're using /tmp
for temp files and working with large APK, remount tmpfs using mount -o remount,size=4G /tmp
Run fgi -h
to get options
These configs are taken from Frida website
If you need to use other configuration options, such as using v8 runtime, consider using the --config-path
option
fgi -i target.apk
- inject frida-gadget for existing architectures into target.apk with listen mode
-a
flagfgi -i target.apk -o out.apk
- same as 1 + ready APK will be named out.apk
instead of target.patched.apk
fgi -i target.apk -a arm64 --offline-mode
- inject ONLY arm64 frida-gadget into target.apk with listen mode and skip frida-gadget & APKEditor update check
fgi -i . -t script -l index.js -a arm64 arm
- inject ONLY arm64 and arm frida-gadget into split APKs in currect directory with index.js
as script
fgi -i . -c myconfig.json -r .
- inject frida-gadget for existing architectures into split APKs in currect directory with myconfig.json config and current directory as parent temporary directory (DANGEROUS, current directory will be filled with temp files)
fgi
will check does config require script and raise exception if no -l
option providedfgi -i target.apk -t script -n libnotafrida.so -s libnotascript.so
- same as 1, but use script type + rename frida-gadget into libnotafrida.so
and script into libnotascript.so
lib
and end with .so
fgi -i target.apk --config-type listen --no-cleanup -v
- same as 1 + do NOT remove temporary directory and enable debug logs
Decoding APK to /tmp/whatever...
~~~~~~~~~~~~~
Here
objection - smali injector & manifest stuff
This repository is licensed under a GNU General Public v3 License.
See LICENSE file for details