Table Of Contents
- 1 What is Smali Patcher?
- 2 GPS SPOOFERS / FUSEDLOCATION / RUBBERBANDING NOTICE
- 2.1 REQUIREMENTS
- 2.2 INSTRUCTIONS (ADB METHOD/AUTOMATED – RECOMMENDED)
- 2.3 INSTRUCTIONS (ALTERNATIVE METHOD – FOLLOW ONLY IF ADB METHOD FAILS)
- 2.4 BEFORE REPORTING ANY ISSUES
- 2.5 UPDATING MODULE INSTRUCTIONS
- 2.6 PRECAUTIONS / TERMS OF USE
- 2.7 DOWNLOAD Smali Patcher
- 2.8 Credits
- 2.9 FAQ
- 2.9.1 HELP! I’M STUCK IN A BOOTLOOP, HOW DO I UNINSTALL
- 2.9.2 MAGISK TEMPLATE DOWNLOAD FAILED
- 2.9.3 MOCK LOCATION RUBBER BANDS TO REAL LOCATION
- 2.9.4 INVALID OR CORRUPT JAR FILE BIN
- 2.9.5 HOW DO I CLEAR A MOCK LOCATION WHILE USING A GPS SPOOFER
- 2.9.6 MAGISK TEMPLATE FAILED TO DOWNLOAD
- 2.9.7 UNSUPPORTED MAJOR.MINOR VERSION XX.X
- 2.9.8 W: COULD NOT FIND RESOURCES
- 2.9.9 !!! ERROR: BASE DIRECTORY NOT FOUND
- 2.9.10 !!! ERROR: XYZ CLASS NOT FOUND
What is Smali Patcher?
To sum things up this is an application I developed that pulls the android framework from your device, applies what I (or other users) consider useful patches to the sourced files and then finally generates a magisk module applying the patches system-lessly.
The unique thing about Smali Patcher is it sources the framework files from your device, in an attempt to provide maximum compatibility across the entire android device family. The project has evolved over time, originating from very humble roots.
My main goal behind this project was to make this thing as user-friendly as possible, considering the circumstances and the hoops I’ve had to jump through I think I’ve done an O.K job at accomplishing that goal.. while I have your attention I wanted to throw out a massive thank you to all the people who have provided support to the project and the thread over the years, you guys are absolute champions. I can’t thank you enough and couldn’t have done it without you, here’s to ya!
CERTAIN PATCHES WILL NOT WORK WITH ANDROID 10, ANDROID 10 SUPPORT IS CONSIDERED ALPHA.. YOU HAVE BEEN WARNED.
PATCHES
- Mock locations – Hide mock locations status, allowing apps like Pokemon GO to treat them as genuine location updates.
- Secure flag – Allow screenshots/screensharing in secure apps.
- Signature verification – Disable signature verification allowing modification/execution of signed system apps.
- Signature spoofing – Enable signature spoofing app permission.
- Recovery reboot – Reboot directly back into recovery from the power menu.
- Samsung Knox – Bypass Samsung Knox trip protection, only confirmed working for secure folder.
- High volume warning – Disable high volume popup dialog.
GPS SPOOFERS / FUSEDLOCATION / RUBBERBANDING NOTICE
FusedLocation API GPS spoofers are NOT compatible with the mock location patch.. your required to use a traditional GPS spoofer! Spoofed location updates will be fed into fused location, all the same, meaning you don’t need to disable the service.. which means while your not spoofing you still gain the benefit of fused location which is all around more accurate location updates!
REQUIREMENTS
- PC with at least 3GB+ of RAM.
- .NET Framework 4.7.1 or later installed.
- Java installed.
- Android device running 6.0 or above.
INSTRUCTIONS (ADB METHOD/AUTOMATED – RECOMMENDED)
SMALI PATCHER COMPATIBLE WITH BOTH ODEX & DEODEXED ROMS! WILL AUTOMATICALLY DEODEX REQUIRED FILES IF NECESSARY.
- Backup device.. safety first kids.
- Enable USB debugging in developer settings on your device and connect via USB to your PC.
- Authorise USB debugging connection on your phone.. example of popup.
- Run “SmaliPatcher.exe”, First startup will automatically download the latest necessary binary’s.
- Select your desired patches.
- Hit “ADB PATCH” button (yes without browsing for a .jar file).
- Once the process has completed, SMALI PATCHER magisk module will be generated in the same directory as “SmaliPatcher.exe” named: “[email protected]”.
- Install the generated magisk module either in recovery mode or from the magisk app.
- Enable smali patcher module in magisk manager app.
INSTRUCTIONS (ALTERNATIVE METHOD – FOLLOW ONLY IF ADB METHOD FAILS)
- Backup device.
- Enable USB debugging in developer settings on your device and connect via USB to your PC.
- Authorise USB debugging connection on your phone.. example of the popup.
- Run “SmaliPatcher.exe”, First startup will download the latest necessary binary’s.
- Browse to your “/system/framework” directory. The easiest way to obtain these files is from your ROM img/zip.
- Select your desired patches.
- Hit the “PATCH” button.
- Once the process has completed, magisk module will be generated in the same directory as “SmaliPatcher.exe”.
- Install the generated magisk module either in recovery mode or from the magisk app.
- Enable smali patcher module in magisk.
YOU ARE STILL REQUIRED TO HAVE A DEVICE CONNECTED TO YOUR PC IF YOU USE THIS METHOD.. THE PATCHER WILL NOT PROGRESS OTHERWISE.
An ADB DEVICE IS REQUIRED TO EXTRACT CDEX FILES.. IF YOU’RE PARANOID/SAVY ENOUGH, YOU CAN USE A ANDROID EMULATOR.
BEFORE REPORTING ANY ISSUES
- You have tried running the patcher as administrator.
- You have accepted the USB debugging connection & ticked “Always allow from this computer”.
- You have tried running the smali patcher with phone booted in recovery mode with /system mounted.
UPDATING MODULE INSTRUCTIONS
Disable/uninstall any active smali patcher modules before generating a new one! If you generate a module with an older version active there’s a chance the outdated patches will carry over to the new module. I do my best efforts to prevent this, but it may still happen. Before reporting issues, make sure you have tried this.
PRECAUTIONS / TERMS OF USE
You must back up your device prior to flashing the module, I am not responsible or providing support to recover any devices stuck in bootloops.. if for whatever reason you find yourself in this situation, simply uninstall magisk and reinstall.. doing this will reset your installed modules.
PLEASE READ FAQ IN POST 2 & SEARCH THE THREAD BEFORE ASKING QUESTIONS, CHANCES ARE THEY HAVE BEEN ANSWERED ALREADY AND YOU CAN FIND YOUR ANSWER IMMEDIATELY.
Rather than making mirrors of the download link, please redirect traffic to this thread to ensure they are always using the latest version! Oh hi, Reddit.
DOWNLOAD Smali Patcher
Credits
Honourable mention to @Eng.Raman & @A30NI_Y, who has been kind enough to patch service.jar’s for tons of users who lack the knowledge to deodex (despite my best efforts of writing out clear instructions!)… the smali patcher user base thanks you for your service!
FAQ
HELP! I’M STUCK IN A BOOTLOOP, HOW DO I UNINSTALL
- Boot into TWRP
- Advanced -> File Manager
- Navigate to: data -> adb -> modules -> select the module directory (in this case “fomey.smalipatcher”) -> Folder icon (bottom right of screen) -> Delete
Alternatively, you can just uninstall/reinstall magisk to clear all your modules.
MAGISK TEMPLATE DOWNLOAD FAILED
- Run the patcher as an administrator, may not have read/write access to drive.
- Verify you have an active internet connection.
- Verify the firewall is not blocking the patcher.
- Verify your not running an outdated .NET framework.
MOCK LOCATION RUBBER BANDS TO REAL LOCATION
- Set device only in location method settings (Settings -> Location -> Location method).
- Disable improve location accuracy settings (Settings -> Location -> Improve accuracy).
- If you are still experiencing rubber banding after trying everything above, try a different spoofer.
INVALID OR CORRUPT JAR FILE BIN
- Delete the “bin” directory and restart the patcher to re-download the binary files.
- Corruption is caused by a unreliable internet connection.
HOW DO I CLEAR A MOCK LOCATION WHILE USING A GPS SPOOFER
- Exit the app by pressing the “back” key, you may have to press this a few times. Any good spoofer should clean up after itself, by removing any mock providers on exit.
MAGISK TEMPLATE FAILED TO DOWNLOAD
- Make sure you’re using the LATEST release of the patcher.
- If you are using the latest version already.. an update will be available shortly to fix this issue.
UNSUPPORTED MAJOR.MINOR VERSION XX.X
- Use the Java Uninstall Tool to clean up out-of-date java versions and reinstall the latest java release.
W: COULD NOT FIND RESOURCES
- This is a harmless warning, you can safely ignore it.
!!! ERROR: BASE DIRECTORY NOT FOUND
- You did not accept the USB debugging permission popup on your phone.. the patcher can’t do anything without this permission (example of popup).
- The permission popup should be displayed after hitting the “ADB PATCH” button.. or as soon as you connect your phone to your PC.
- If you can’t see the permission popup: go to settings -> developer options -> revoke usb debugging authorisations.. disconnect and reconnect your phone and try again.
- Make sure you tick “always allow from this computer”.. otherwise you may have to confirm the popup multiple times during a single patch.
!!! ERROR: XYZ CLASS NOT FOUND
- If you are browsing for a services.jar – it’s most likely not deodexed.. try the “ADB METHOD”.
- If you are using the “ADB METHOD” and you receive this error, post a reply to this thread including as much information as you can. Useful information: android version, patcher log and the directory named “adb” in the smali patcher folder (upload this directory to google drive).
How long time to recompiling?
I’m using alternate option cause ADB is failed
where is the source code of your smaili patcher? Why don’t you publish the source code of the application. Virus total has detected it as Trojan.
(WARNING: could not detect administrator privileges) 😭
why i get out immidetly when i open smali patcher i hope solve this issue
No se puede descargar el modulo directamente por magiks
Still not available for Android 10?
Cant download. Broken link. Please update
Updated.
It seems like the download link fro the smali patcher is pulling the magiskroot APK instead?
Thank you. Fixed it now.
i dont know what do more every time install module smalipatcher my phone froze n miui screen 🙁
You mention that some patches don’t work for Android 10. Which ones? And does this also not work for Android 11?
fOmey @ XDA
Patcher version: 0.0.7.3
==> Detected java: 15.0.1
==> Dumped framework
==> Processing framework
I: Using Apktool 2.5.0 on services.jar
I: Baksmaling classes.dex…
I: Baksmaling classes2.dex…
I: Baksmaling classes3.dex…
I: Copying assets and libs…
I: Copying unknown files…
I: Copying original files…
!!! ERROR: Knox patch class not found.
ROOTED SM-G991B with Magisk Stock OS
have you found the solution
fOmey @ XDA
Patcher version: 0.0.7.4
==> Binary download complete
==> Unpacked binarys
==> Detected java: 1.8.0_341
==> Dumped framework
==> Processing framework
==> Detected API: 31
I: Using Apktool 2.6.1 on services.jar
I: Baksmaling classes.dex…
I: Baksmaling classes2.dex…
I: Baksmaling classes3.dex…
I: Copying assets and libs…
I: Copying unknown files…
I: Copying original files…
!!! ERROR: Knox patch class not found.
==> Detected java: 1.8.0_341
!!! ERROR: No ADB devices found.
==> Detected java: 1.8.0_341
==> Dumped framework
==> Processing framework
==> Detected API: 31
I: Using Apktool 2.6.1 on services.jar
I: Baksmaling classes.dex…
I: Baksmaling classes2.dex…
I: Baksmaling classes3.dex…
I: Copying assets and libs…
I: Copying unknown files…
I: Copying original files…
!!! ERROR: Knox patch class not found.
Rooted SM-G973N with Magisk
smali patcher is the best :D. I wish it had support for android 12 onwards.