[MODULE] Smali Patcher 7.4

Search This thread

BajaBlast4Life

Senior Member
Jul 23, 2016
133
38
If you want to GPS spoof on Android 7, 8, 9, 10, 11, 12, or 13, you can do the LSposed method. If you have a device that was unable to generate the Smali Patcher zip, you can try this guide. There were some people within this thread many months ago that tried the LSposed method with Mock Mock Location or Hide Mock Location module, and it said it didn't work for them. I have good news for all you because it now works on Samsung devices and should work on all other devices. You can see my guide in https://www.reddit.com/r/PoGoAndroidSpoofing/comments/132dkye . I am not an Android coder but more of a game cheating enthusiast who enjoys playing Pokemon Go with a joystick app.
 

alphandi6

Member
Oct 16, 2016
25
7
Yo,

Resources:
LineageOS 20 unofficial for SM-A515F : [ROM][13.0][UNOFFICIAL] LineageOS 20.0 for Galaxy A51 4G | Credit @Royna

Magisk : Github | Credit @topjohnwu
LSPosed (Zygisk) : Github
Hide Mock Locations (Module) : Github | Credit @ThePieMonster

After much effort I have a viable and stable solution to this hide mock location problem without good'ol SmaliPatcher from @f0mey (while he's absent).

Trying to get this to work on a Samsung A51 (SM-A515F). Android 10 stock works perfectly no issues (did a root on it when it was bought to see if the root would work - was unrooted shortly afterwards), but after the phone was updated to Android 13 I couldn't revert back to A10 due to the bootloader being a newer version and samsung not being able to downgrade the BL once you've updated.

So I was stuck on A11,12 or 13 if I wanted to stay stock. Due to SmaliPatcher only working up to A11, I opted for a A11 stock ROM and got to work. Then I realized the mock locations DOESN'T WORK, like at all. Mock apps (I tested as many as I could find - like 15 at least), all of 'em... Crashes the location provider service!!! Android gives a notification (unique to samsung) that the location is being mocked (Sorry I don't have a screenshot now - didn't think to make one during this).

People who have a samsung and tried mock locations is surely to know this issue - for reference:
A11 GPS Joystick issue

Tested this up from last A11 ROM up to latest ROM (A13). This samsung is unable to mock locations on stock ROM.

I then went to LineageOS 20 (A13).
Note: This is hands down the best ROM for this phone - highly recommended. Only issue so far is worse camera quality - due to Samsung implementation of camera hardware.

Will be writing a review for this ROM after a few weeks of testing - but I can tell you now: this one is 'daily-driver' level stable.


Now mock locations was working and I only needed a way to hide the mock location on Android 13.

Install Magisk (Zygisk - so 25+)
Enable Zygisk
Install LSPosed

Optional: Configure your denylist (keep in mind that the LSPosed module doesn't work with denylist app so keep the app you want to hide the mock locations from off the denylist)

----------
Reboot
----------

Install Hide Mock Locations
Enable the module in LSPosed parasitic manager
Configure it by hiding the mock locations from desired services (System Framework, Google Play, Play Services and any other apps).


----------
Reboot
-----------

This solution requires that the app (or service) that you want to hide mock locations from NOT BE ON THE DENYLIST.

So that means you cannot hide the root Zygisk environment from the app. Currently the apps I needed to spoof doesn't check for Zygisk environment so no problem...yet.

Once apps start checking for Zygisk, this solution might stop working / being viable.


This solution is working perfectly for me
till @fOmey updates his patcher this is the best solution I've found so far.

Hope this helps someone else with a similar samsung problem

Dear sir,

I can not instal Hide Mock Location apk... why is that? always parse error.. do you know how to fix it? or any solution?
 

BajaBlast4Life

Senior Member
Jul 23, 2016
133
38
Dear sir,

I can not instal Hide Mock Location apk... why is that? always parse error.. do you know how to fix it? or any solution?

PieMonster's module only supports Google's Stock Android (like Google Pixel and Motorola devices) and Pixel-like (custom) ROM. LineageOS has hit or miss support with this module, so in your case, it does not work on Samsung's OneUI (stock) rom or the custom rom you are using.

You will need to follow my guide [ROOTED METHOD #1] LSposed Guide for Android 7, 8, 9, 10, 11, 12, and 13. Should now work on Samsung, Xiaomi, and other devices without the need of a Stock Android OS or Pixel-like custom rom! to get to work on your device with either OneUI rom or whatever custom rom. This has tested on Samsung Galaxy S22 on Android 12 running OneUI rom and working great. You can use GPS Joystick app with this method. The instructions for this guide is different from using PieMonster's module.

If you want to use PieMonster's module, you will need to use Fake GPS Joystick & Routes Go app for any non-Pixel stock rom like Samsung's OneUI rom, Xiaomi's MIUI rom, and etc. In my opinion, this joystick app is not very good compared to GPS Joystick.
 

GAGANKXDA

Senior Member
PieMonster's module only supports Google's Stock Android (like Google Pixel and Motorola devices) and Pixel-like (custom) ROM. LineageOS has hit or miss support with this module, so in your case, it does not work on Samsung's OneUI (stock) rom or the custom rom you are using.

You will need to follow my guide [ROOTED METHOD #1] LSposed Guide for Android 7, 8, 9, 10, 11, 12, and 13. Should now work on Samsung, Xiaomi, and other devices without the need of a Stock Android OS or Pixel-like custom rom! to get to work on your device with either OneUI rom or whatever custom rom. This has tested on Samsung Galaxy S22 on Android 12 running OneUI rom and working great. You can use GPS Joystick app with this method. The instructions for this guide is different from using PieMonster's module.

If you want to use PieMonster's module, you will need to use Fake GPS Joystick & Routes Go app for any non-Pixel stock rom like Samsung's OneUI rom, Xiaomi's MIUI rom, and etc. In my opinion, this joystick app is not very good compared to GPS Joystick.
I'm having Motorola Edge 30 Pro rooted with Magisk 26.1 & Lposed, which GPS spoofing app should i use with PieMonster's module..? Please advise.
 

gh0stza

Senior Member
Hey guys i have an Redmi NOTE 10 PRO with A12 installed (V13.0.17.0.SKFEUXM)
its working for me the "normal" method???
Nope, Since android 12 and up the framework patch from Smali doesn't work, so you're going to have to use another mock location spoof fix.
Or patch the framework yourself...

You can use LSPosed. I made a post about my install that worked. Just go back in this thread to find it.

I'm having Motorola Edge 30 Pro rooted with Magisk 26.1 & Lposed, which GPS spoofing app should i use with PieMonster's module..? Please advise.
I tried dozens, no better spoof app then AppNinja's GPS Joystick. If anyone else got a better one I'd love to check it out.

You can find the regular version on playstore which works perfectly fine if you're using mock location. There is also the unlocked version but that is tailored for when you install it as system app (which rubberbands and is very slow - but very safe as there is no way for the android framework to tell the difference between real and fake location information - also works without mock location framework patch) or using the obsolete mock location exploit that hides it in earlier play services version.
 

roberto_1986

Senior Member
Nope, Since android 12 and up the framework patch from Smali doesn't work, so you're going to have to use another mock location spoof fix.
Or patch the framework yourself...

You can use LSPosed. I made a post about my install that worked. Just go back in this thread to find it.
- Ok ty and if i want to patch by my self the framework???
- LSposed version its better then older version yes or no?
 

GAGANKXDA

Senior Member
Nope, Since android 12 and up the framework patch from Smali doesn't work, so you're going to have to use another mock location spoof fix.
Or patch the framework yourself...

You can use LSPosed. I made a post about my install that worked. Just go back in this thread to find it.


I tried dozens, no better spoof app then AppNinja's GPS Joystick. If anyone else got a better one I'd love to check it out.

You can find the regular version on playstore which works perfectly fine if you're using mock location. There is also the unlocked version but that is tailored for when you install it as system app (which rubberbands and is very slow - but very safe as there is no way for the android framework to tell the difference between real and fake location information - also works without mock location framework patch) or using the obsolete mock location exploit that hides it in earlier play services version.
hope rubberbanding won't trigger SafetyNet..?
 

BajaBlast4Life

Senior Member
Jul 23, 2016
133
38
hope rubberbanding won't trigger SafetyNet..?
Rubberbanding may trigger the anti-cheat behavior system leading to a strike because with rubberbanding, you are teleporting between your real and spoofed location back and forth multiple times within a few seconds. No one can travel that fast in real life.

Depending on which Magisk version you are on, you have to add Pokemon Go into Magisk Hide in Magisk Manager app or enable Zygisk with Enforce DenyList & flash the "Univerisal SafetyNet Fix" by kdrag0n. This will allow you to pass SafetyNet. You only need to pass "basic integrity" in order to play the game. If you pass basic integrity but fail "CTS Profile", you can still play the game.

My guide is step-by-step: https://www.reddit.com/r/PoGoAndroidSpoofing/comments/132dkye
 

gh0stza

Senior Member
hope rubberbanding won't trigger SafetyNet..?
It won't trigger safetynet. Remember safetynet is only a check to see if you are running a stock or custom rom. Most custom ROM have built-in safetynet models to prevent just that (Also use USNF). No so worries...If your ROM passes safetynet then rubber-banding won't have any effect.

Rubberbanding may trigger the anti-cheat behavior system leading to a strike because with rubberbanding, you are teleporting between your real and spoofed location back and forth multiple times within a few seconds. No one can travel that fast in real life.

Depending on which Magisk version you are on, you have to add Pokemon Go into Magisk Hide in Magisk Manager app or enable Zygisk with Enforce DenyList & flash the "Univerisal SafetyNet Fix" by kdrag0n. This will allow you to pass SafetyNet. You only need to pass "basic integrity" in order to play the game. If you pass basic integrity but fail "CTS Profile", you can still play the game.

My guide is step-by-step: https://www.reddit.com/r/PoGoAndroidSpoofing/comments/132dkye

So far as the anti-cheat stuff goes...
Let me be clear in that I'm not condoning cheating or promoting it and the information I provide here is strictly educational.
I have done multiple test on Pokemon Go and here is my findings:

1. Rubberbanding does NOT trigger anti-cheat - What does trigger anti-cheat is if you interact with the world in multiple locations within a certain time period and distance.
Note: This does NOT include trading or interacting with your buddy or sending gifts. So you are able to walk around for hours in europe catching pokemon then when your bag is full, come back and trade with another account and then head straight back.

2. The distance you can travel is calculated by time. What I mean by that is:
You are allowed to travel a certain distance in a certain amount of time. I did read the exact figure somewhere a while back and it's supposed to 1000km per hour if I remember correctly but don't take my word for it. Research it or if you don't care about the account, test it.

Safest approach is teleport somewhere, do some stuff, walk a route, catch some pokemon, battle a few raids and gyms and when your done exit pokemon and only relog back after 12 hours with a new location.

3. You don't get "insta perma banned" if you accidentally interact with the world within a certain time. What you do get is what they call a soft-ban. Which means you don't get any notification or anything, and everything looks fine but any pokemon you try to catch will always run away after the first pokeball is thrown and you won't be able to battle gyms etc. If that happens you generally get a soft-ban for 10 min (I think), so basically just give it a few hours and you're good to go (safest approach).

That being said: don't take this as a free pass. I can't be certain of it but, I suspect every soft ban puts you on a watchlist and if you're flagged enough an actual human will investigate your account. At the very least it will draw attention to the account. So avoid soft bans by all means.

Then rubberbanding will also draw attention so don't play if you have rubberbanding. It may not ban you right away, it may not even ban you ever but for anyone looking at your location data in the game it will def look suspicious.
 

GAGANKXDA

Senior Member
It won't trigger safetynet. Remember safetynet is only a check to see if you are running a stock or custom rom. Most custom ROM have built-in safetynet models to prevent just that (Also use USNF). No so worries...If your ROM passes safetynet then rubber-banding won't have any effect.



So far as the anti-cheat stuff goes...
Let me be clear in that I'm not condoning cheating or promoting it and the information I provide here is strictly educational.
I have done multiple test on Pokemon Go and here is my findings:

1. Rubberbanding does NOT trigger anti-cheat - What does trigger anti-cheat is if you interact with the world in multiple locations within a certain time period and distance.
Note: This does NOT include trading or interacting with your buddy or sending gifts. So you are able to walk around for hours in europe catching pokemon then when your bag is full, come back and trade with another account and then head straight back.

2. The distance you can travel is calculated by time. What I mean by that is:
You are allowed to travel a certain distance in a certain amount of time. I did read the exact figure somewhere a while back and it's supposed to 1000km per hour if I remember correctly but don't take my word for it. Research it or if you don't care about the account, test it.

Safest approach is teleport somewhere, do some stuff, walk a route, catch some pokemon, battle a few raids and gyms and when your done exit pokemon and only relog back after 12 hours with a new location.

3. You don't get "insta perma banned" if you accidentally interact with the world within a certain time. What you do get is what they call a soft-ban. Which means you don't get any notification or anything, and everything looks fine but any pokemon you try to catch will always run away after the first pokeball is thrown and you won't be able to battle gyms etc. If that happens you generally get a soft-ban for 10 min (I think), so basically just give it a few hours and you're good to go (safest approach).

That being said: don't take this as a free pass. I can't be certain of it but, I suspect every soft ban puts you on a watchlist and if you're flagged enough an actual human will investigate your account. At the very least it will draw attention to the account. So avoid soft bans by all means.

Then rubberbanding will also draw attention so don't play if you have rubberbanding. It may not ban you right away, it may not even ban you ever but for anyone looking at your location data in the game it will def look suspicious.
Actually my requirement for spoofing location is different than playing some game.... There are some other regional app for which i want to spoof location..... So far only Smali Patcher (years back) could help in spoofing location for said app but now i have rooted my Moto Edge 30 Pro with Android 13 but unfortunately all these joystick apps couldn't hence still in a search......
 

gh0stza

Senior Member
- Ok ty and if i want to patch by my self the framework???
- LSposed version its better then older version yes or no?
I've been wanting to try and patch my own android 13 framework for a while but haven't gotten around to it. If you don't know how to patch the framework and not a developer you shouldn't be messing around with it.

If you are a dev or are really determined then google a bit to see. There is a guy on youtube that made a video about it, start there maybe.

Basically you have to alter some functions in the framework files. So you have to decompile it, then search for the correct funtions, find an acceptable coding workaround, change the function, recompile the dex files and replace the standard framework files with your patched version.

BTW: if you do successfully patch it I would love to hear back from you on what functions you patched and what changes you made to achieve it. Maybe we can stand in for Smali while he's absent and release a patcher for A12, 13 and 14
 

gh0stza

Senior Member
Actually my requirement for spoofing location is different than playing some game.... There are some other regional app for which i want to spoof location..... So far only Smali Patcher (years back) could help in spoofing location for said app but now i have rooted my Moto Edge 30 Pro with Android 13 but unfortunately all these joystick apps couldn't hence still in a search......
The LSPosed workaround should do the trick. As long as you pass the safetynet.

Oh keep in mind the app might be tracking you IP (or even your wifi network or mobile network, so also make sure to disable the google location accuracy setting), not your location so if it doesn't work try a VPN.
 

qetuol

Senior Member
Oct 16, 2010
139
11
I installed the mock locations/providers modules via magisk but mock location is still detected. Is there any other setting i need to do? Maybe I am using the wrong gps spoofer? Any suggestion which gps spoofer app I should use? Thx.
 

BajaBlast4Life

Senior Member
Jul 23, 2016
133
38
It won't trigger safetynet. Remember safetynet is only a check to see if you are running a stock or custom rom. Most custom ROM have built-in safetynet models to prevent just that (Also use USNF). No so worries...If your ROM passes safetynet then rubber-banding won't have any effect.



So far as the anti-cheat stuff goes...
Let me be clear in that I'm not condoning cheating or promoting it and the information I provide here is strictly educational.
I have done multiple test on Pokemon Go and here is my findings:

1. Rubberbanding does NOT trigger anti-cheat - What does trigger anti-cheat is if you interact with the world in multiple locations within a certain time period and distance.
Note: This does NOT include trading or interacting with your buddy or sending gifts. So you are able to walk around for hours in europe catching pokemon then when your bag is full, come back and trade with another account and then head straight back.

2. The distance you can travel is calculated by time. What I mean by that is:
You are allowed to travel a certain distance in a certain amount of time. I did read the exact figure somewhere a while back and it's supposed to 1000km per hour if I remember correctly but don't take my word for it. Research it or if you don't care about the account, test it.

Safest approach is teleport somewhere, do some stuff, walk a route, catch some pokemon, battle a few raids and gyms and when your done exit pokemon and only relog back after 12 hours with a new location.

3. You don't get "insta perma banned" if you accidentally interact with the world within a certain time. What you do get is what they call a soft-ban. Which means you don't get any notification or anything, and everything looks fine but any pokemon you try to catch will always run away after the first pokeball is thrown and you won't be able to battle gyms etc. If that happens you generally get a soft-ban for 10 min (I think), so basically just give it a few hours and you're good to go (safest approach).

That being said: don't take this as a free pass. I can't be certain of it but, I suspect every soft ban puts you on a watchlist and if you're flagged enough an actual human will investigate your account. At the very least it will draw attention to the account. So avoid soft bans by all means.

Then rubberbanding will also draw attention so don't play if you have rubberbanding. It may not ban you right away, it may not even ban you ever but for anyone looking at your location data in the game it will def look suspicious.
The strike system is on a massive delay. You can get flagged now but your strike may appear 2 to 3 months later after Niantic reviews the data being collect through their anti-cheat behavior system. Their anti-cheat is new and was introduced in July 2022. Small groups of cheaters are getting a strike every few months.

Although you say you don't accept cheating, you're a cheater according to Niantic's Terms of Service for Pokemon Go: "Using any techniques to alter or falsify a device’s location (for example through GPS spoofing)". In this case, people who use Smali Patcher or LSposed method with a joystick app for Pokemon Go are cheaters.

When you're on a "cooldown", you're really "soft banned". If you wait 2 hours to change locations, your soft ban is going to expire in 2 hours. By saying, "So avoid soft bans by all means." is impossible to do if you're a cheater because you cannot control the actions of another cheater. The soft ban can only be avoided if the person never changes his or her location. Since people are GPS spoofing, there is a high chance they are going somewhere else to play their game.

I like being upfront about the risks of game cheating because 90% of the spoofers in Pokemon Go don't understand the risk. They see it happen to other people but think it'll never happen to them, but in reality, it could happen to them. A lot of people are not prepared to handle the 1st or 2nd strike. Since you're not a Niantic employee, you do not know if rubberbanding will or will not lead to a strike. I am saying it could lead to a strike. On top of this, Niantic could drop their weak 3-strike system for an instant account ban system whenever in the future, they finish developing their anti-cheat behavior system.
 

gh0stza

Senior Member
I installed the mock locations/providers modules via magisk but mock location is still detected. Is there any other setting i need to do? Maybe I am using the wrong gps spoofer? Any suggestion which gps spoofer app I should use? Thx.
Make sure you don't enforce Magisks' denylist on the same app that you're enabling in the Mock Location app. If you do it won't hide the mock location from that app.
 

qetuol

Senior Member
Oct 16, 2010
139
11
Make sure you don't enforce Magisks' denylist on the same app that you're enabling in the Mock Location app. If you do it won't hide the mock location from that app.
I have the Enforce Denylist option turned OFF in Magisk. Is this okay? Or should i turn on and add the gps spoofer app (but not the mocked app) to the denylist?
 
Last edited:

gh0stza

Senior Member
That's correct.

DON'T add the app you want to hide the mock location from to the Denylist.
Add GMS and play store to the denylist.
DON'T enforce denylist.

Then select the app you want to hide the mock location from to the "Hide Mock Location" app (the app that SHOULDN'T be on the denylist).

Basically, if the app is on the denylist it doesn't want to hide the mock location in the "Hide Mock Location" LSPosed module.

The only drawback here is if the app you want to hide the mock locations from checks for a Zygisk environment this method isn't gonna work. Because it will detect a ROOT environment and then just not work anyway.

And NO, you should have to hide either the Zygisk environment or the mock location from the app used to mock the location (GPS joystick or whatever)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 426
    logo.png

    Smali Patcher


    aoImM4m.jpg



    WHAT THE HELL IS THIS THING? ::
    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.

    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!



    PATCHES ::
    • Mock locations - Hide mock locations status, allowing apps like Pokemon GO to treat them as genuine location updates.
    • Mock Providers: Allow creation of mock providers without mock permissions.
    • GNSS updates: Disable all GNSS (GPS) location updates.
    • Secure flag - Allow screenshots/screensharing in secure apps.
    • Signature verification (as-is, legacy support only) - Disable signature verification allowing modification/execution of signed system apps.
    • Signature spoofing (as-is) - Enable signature spoofing app permission.
    • Recovery reboot - Reboot directly back into recovery from powermenu.
    • Samsung Knox (as-is, legacy support only) - Bypass Samsung Knox trip protection, only confirmed working for secure folder.
    • High volume warning - Disable high volume popup dialog.
    Any patches marked "as-is" are no longer maintained and only kept in for legacy device support only, not recommended to be used on newer android versions (10/11).. use at your own risk.



    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 fusedlocation all the same, meaning you don't need to disable the service.. which means while your not spoofing you still gain the benefit of fusedlocation which is all around more accurate location updates!



    REQUIREMENTS ::


    INSTRUCTIONS (ADB METHOD/AUTOMATED - RECOMMENDED):
    COMPATIBLE WITH BOTH ODEX & DEODEXED ROMS! WILL AUTOMATICALLY DEODEX REQUIRED FILES IF NECESSARY.
    1. Backup device.. safety first kids.
    2. Enable USB debugging in developer settings on your device and connect via USB to your PC.
    3. Authorise USB debugging connection on your phone.. example of popup.
    4. Run "SmaliPatcher.exe", First startup will automatically download the latest necessary binary's.
    5. Select your desired patches.
    6. Hit "ADB PATCH" button (yes without browsing for a .jar file).
    7. Once the process has completed, magisk module will be generated in the same directory as "SmaliPatcher.exe" named: "[email protected]".
    8. Install the generated magisk module either in recovery mode or from the magisk app.
    9. Enable smali patcher module in magisk.



    INSTRUCTIONS (ALTERNATIVE METHOD - FOLLOW ONLY IF ADB METHOD FAILS) ::

    1. Backup device.
    2. Enable USB debugging in developer settings on your device and connect via USB to your PC.
    3. Authorise USB debugging connection on your phone.. example of popup.
    4. Run "SmaliPatcher.exe", First startup will download the latest necessary binary's.
    5. Browse to your "/system/framework" directory. Easiest way to obtain these files is from your rom img/zip.
    6. Select your desired patches.
    7. Hit the "PATCH" button.
    8. Once the process has completed, magisk module will be generated in the same directory as "SmaliPatcher.exe".
    9. Install the generated magisk module either in recovery mode or from the magisk app.
    10. 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.
    A ADB DEVICE IS REQUIRED TO EXTRACT CDEX FILES.. IF YOU'RE PARANOID/SAVY ENOUGH, YOU CAN USE A ANDROID EMULATOR.





    BEFORE REPORTING ANY ISSUES ::
    1. You have tried running the patcher as administrator.
    2. You have accepted the USB debugging connection & ticked "Always allow from this computer".
    3. You have tried running the patcher with phone booted in recovery mode with /system mounted.

    Adb method works flawlessly on android 8.1 for Sony AOSP roms on X and XZ premium. The trick is to run the program in recovery (with system mounted obviously), to avoid permission issues.
    Awesome tool!



    UPDATING MODULE INSTRUCTIONS:
    Disable/uninstall any active smali patcher modules before generating a new one! If you generate a module with a 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.



    CHANGELOG ::

    7.4
    • Modified patch - GNSS updates: now correctly handles protected methods.
    7.3
    • First pass of android 11 patch updates: mock provider, gnss update & secure flag patch updated.

    7.2
    • Modified patch - Secure flag: revert a change I made, should solve issues on some devices.. hopefully.

    7.1
    • New patch - GNSS updates: Disable all GNSS (GPS) location updates.
    • Modified patch - Secure flag: tested & working on Samsung devices running android 10.

    7.0
    • New patch - Mock Providers: Allow creation of mock providers without mock permissions.

    6.9
    • Allow devices booted in recovery mode through ADB check.

    6.8
    • Made patches "compatible" with the latest android 11 beta (pixel).. none of which have been tested on android 11. BACKUP! BACKUP! BACKUP!

    6.7
    • Removed "magisk-module-template" dependency.

    6.6
    • Fixed patch - Magisk reboot: was not being applied when selected.
    • "Magisk reboot" patch renamed to "Recovery reboot".

    6.5
    • Updated patch - Magisk reboot: now compatible with Samsung One UI 2.0 (android Q).

    6.4
    • New patch - Samsung Knox: Bypass samsung knox trip protection, only confirmed working for secure folder.

    6.3
    • ADB error checking: require a ADB device to be present even while patching "browsed" for framework dumps.
    • Framework error checking: display an error if no odex, vdex or oats are found.. incomplete framework dump.
    • Display hints for common mistakes made by users, hopefully reduces the amount of "error" reports by people that don't follow instructions.

    6.2
    • ADB error checking: unauthorized ADB device check.

    6.1
    • Error handling - Verify required files are found during deodex process.

    6.0
    • Fixed index out of bounds crash.
    • Revert mock location patch to the original.

    5.9
    • Mock location patch updated. Reverted patch back to the original, new patch failed.
    • Adapted back end functions to support multi-file patches.
    • Browse for .jar has now been changed to browse for "/system/framework" directory.. no longer requires a deodexed file to be targeted, will deodex necessary files if required.

    5.8
    • Check if patcher is being ran with administrator privileges, otherwise display a warning.
    • Fixed a possible false positive error during cdex extraction.

    5.7
    • Error handling - verify classes.dex is found during cdex extraction.
    • Added few more status updates to assist error checking.

    5.6
    • Changed binary download percentage behaviour: avoid users reporting false "stuck on XYZ percent".
    • Updated mock location patch to support android 10/Q.
    • Updated reboot behaviour patch to support android 10/Q.
    • Save/restore selected patches when browsing for a JAR.

    5.5
    • Fixed force close during vdex extraction.

    5.4
    • Modified secure flag patch - need testing & feedback.
    • Modified java detection to allow more runtime environments.

    5.3
    • Suppress false positive "magisk download failed" errors.
    • Verify patched APK's have been generated before creating module.

    5.2
    • Modified secure flag patch.
    • Added paypal donation button.

    5.1
    • Removed signature verification "class not found" error report, false positive on legacy android versions.

    5.0
    • Adapted backend functions to support multi-file patches.
    • Require at least one patch to be enabled before proceeding.
    • Fix download percentage status updates.
    • Popup explorer window to output directory on completion.
    • Modified signature verification patch (android P).
    • When browsing for a JAR only display compatible patches (preparation for multi-file patches, services.jar must be named "services.jar" from this point onward for verification purposes.. otherwise no patches will be displayed).
    • New patch - disable high volume warning popup.. this has annoyed me so much recently! I was only able to test this on android P, if you find the patch does not work on your device please supply a deodexed services.jar so I can investigate further.

    4.9
    • Fixed a crash when applying magisk reboot patch to a already patched target.
    • Improved magisk reboot patch, removed the potential to not reboot back into magisk.
    • Redirect output for certain binary functions with working status indicators.
    • Fix mock location patch that I broke in the most stupid way possible.. if you're updating from 4.8, make sure you disable/remove any installed smali patcher magisk modules before updating.

    4.8
    • Display command line window until inbuilt patcher status updates are fixed to prevent user confusion.

    4.7
    • Secure flag patch update (based off 9.0).
    • Signature verification patch update (based off 9.0).

    4.6
    • Dynamically calculate base directory.
    • Modify output loop to ensure all output is displayed.
    • Magisk reboot patch (Galaxy S10 only).

    4.5 [UNTESTED - I OWN A S10 WHICH CURRENTLY IS NOT MAGISK COMPATIBLE.. USE AT YOUR OWN RISK]
    • Force unix config formatting.

    4.4 [UNTESTED - I OWN A S10 WHICH CURRENTLY IS NOT MAGISK COMPATIBLE.. USE AT YOUR OWN RISK]
    • Magisk "installation failed" fix.. (I shouldn't have been lazy and read all the module documentation.. probably could of avoided this).

    4.3 [UNTESTED - I OWN A S10 WHICH CURRENTLY IS NOT MAGISK COMPATIBLE.. USE AT YOUR OWN RISK]
    • Magisk v19.0 compatible (magisk template download failed fix).

    4.2 [TESTING]
    • Potential slowdown fix?

    4.1
    • Allow the patcher to run without having any patches selected for testing purposes.
    • Force a single classes.dex to be generated when applying signature spoofing patch.. (potential slowdown fix?)
    • Remove irrelevant debug output.

    4.0
    • Modified ADB error checking function to fix false error reports.

    3.9 ::
    • ADB error checking: verify a single ADB device is connected before proceeding.
    • Added few more status updates to assist error checking.
    • Updated magisk template & URL.

    3.8 [TESTING] ::
    • Potential slowdown fix?

    3.7 ::
    • Modified java detection.

    3.6 ::
    • Added some more error checking.

    3.5 ::
    • Verify Java is installed & detected before proceeding.

    3.4 ::
    • Amend legacy dummy file to generated magisk module config.sh.

    3.3 ::
    • Create dummy file in magisk module (legacy devices).

    3.2 ::
    • Fixed a issue calculating file paths on legacy devices.

    3.1 ::
    • Added "/system/system" path to dumping functions.
    • Added output filter to avoid user confusion when spitting out harmless errors.

    3.0 ::
    • Updated dependencies.
    • Reworked some core functions to attempt to fix unknown caused crash for certain users.

    2.9 ::
    • Reworked some functions, made them dynamically detect file names to avoid potential issues.

    2.8 ::
    • Verify dexpatcher patches are found, otherwise re-download.
    • Change patch button text to indicate patching mode.
    • Error handling - verify classes.dex is found before recompiling.
    • Error handling - verify services.jar is found before recompiling.
    • Error handling - verify input files are not dummy's.
    • Conditional dead end bug fix while patching multi-class jar's.

    2.7 ::
    • Re-added signature spoofing patch.
    • Added dexpatcher as a dependency.

    2.6 ::
    • Added support for Android P.
    • Modified binary download function to prevent crashes.

    2.5 ::
    • Added support for multi-classes.dex.

    2.4 ::
    • Improved binary download function - verify binary size, will attempt to re-download if necessary.
    • Improved binary URL grabber function - should now fetch correct address.

    2.3 ::
    • Improved de/odex detection function - should now allow generating a module with no mods selected (debugging purposes)
    • Improved error checking & reports.

    2.2 ::
    • Android 8.0-8.1 compatibility.

    2.1 ::
    • Corrected missing variables in config.sh for magisk module (lollipop bootloop fix) - full credit to @Eng.Raman

    2.0 ::
    • Prevent false "detected api" message.
    • Play's nice with android lollipop - full credit to @Eng.Raman

    1.9 ::
    • Potential fix for random crash aka. dumping framework freeze/crash.

    1.8 ::
    • Handle "permission denied" error when pulling build.prop.

    1.7 ::
    • Improved framework base directory detection.

    1.6 ::
    • Framework base directory detection.

    1.5 ::
    • Improved error checking - added more debug info which hopefully will make diagnosing bugs a little easier.
    • Proper API detection using rom build.prop.
    • Improved a search function used for locating framework files.

    1.4 ::
    • Improved error checking - verify's services.odex size detecting if module already active.
    • Potential fix for "magisk download failed" that certain user's are experiencing.

    1.3 (BETA) ::
    • Added in ADB libary which allows us to now pull/push files to the device.
    • Added in smali & baksmali which allows us to now deodex.
    • One click function to pull all the required files from the device, deodex (if necessary), patch and finally generate a magisk module! (I plan to code in a function that pushes the module to the device upon completion in the future - fully automated baby woohoo)
    If you would like to use the adb method of patching, make sure you have "USB debugging" enabled in developer options otherwise it simply won't work.. you obviously need to plug in your phone to the PC and authorize the USB connection on your device.

    1.2 ::
    • Updated to Magisk v15.
    • Improved error checking & reports.

    1.1 ::
    • Removed signature spoofing for the time being - causing bootloop for some users, need to rework the patch when I have time.

    1.0 ::
    • Improved patching function: should now be compatible with even more unique service.jar's.
    • Improved patching function: now reports errors for each independent patch, should make diagnosing patch errors a little easier.
    • Fixed some debug code I left from previous release which may have prevented patch process from completing. (whoops.. sorry about that!)

    0.9 ::
    • Added new patch: signature spoofing.

    0.8 ::
    • Improved patching function.

    0.7 ::
    • Merged projects together - Mock locations, secure flag & signature verification.
    • Assembly version used as module version and in generated module zip name.
    • Fixed minor bug when selecting a JAR named something other than "services.jar".

    0.6 ::
    • Error handling for failed downloads of magisk module template.
    • Updated to Magisk v14.0.

    0.4 / 0.5 ::
    • Potential spaces in file path error fix - unsure as I have been unable to reproduce this issue, so it's been very difficult to fix.

    0.3 ::
    • Increased default Java memory heap size - fixes "out of memory" error on lowend PC's.

    0.2 ::
    • Simplified patching process.
    • Fixed reboot issue with certain GPS spoofers.
    • Verify's target JAR is deodexed before proceeding with patch.

    0.1 ::
    • Initial release


    Cheers,

    Honorable 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!


    PRECAUTIONS / TERMS OF USE ::
    You must backup your device prior to flashing the module, I am not responsible or providing support to recover any devices stuck in bootloops.. if for what ever 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 then 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 MIRRORS
    82

    FAQ

    HELP! I'M STUCK IN A BOOTLOOP, HOW DO I UNINSTALL ::
    1. Boot into TWRP
    2. Advanced -> File Manager
    3. 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 administrator, may not have read / write access to drive.
    • Verify you have a active internet connection.
    • Verify firewall is not blocking the patcher.
    • Verify your not running a outdated .NET framework.


    MOCK LOCATION RUBBER BANDS TO REAL LOCATION ::


    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.. a 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 ::
    • The patch is most likely not compatible with your android version/device, if a patch is marked "as-is" no further support is provided.
    • 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 patcher folder (upload this directory to google drive).
    30
    17
    Deodexing Services.jar For Android 8.1
    Full Step By Step Guide

    1. Download "Batch ApkTool 3.7.0" by BurSoft from the official site or 4pad link. (Thanks:good:to burSoft for this amazing tool).
    BatchApkTool370.7z ( for 64-bit Windows ).
    BatchApkTool370_32bit_and_XP.7z ( for 32-bit Windows and Windows XP ).

    2. Download the plugin named vdex2dex which will be used with Batch ApkTool ( vdex2dex1.0.2.zip )
    (alternative 4pda link ).

    3. Extract Batch ApkTool to any where on your PC then extract and move vdex2dex plugin folder to
    ( X:\BatchApkTool\bin\plugins\ ).

    4. Go to ( X:\BatchApkTool\_system\ ) and create 4 empty folders named "framework", "arm64", "oat" and another "arm64" arranged as follows:
    ( X:\BatchApkTool\_system\framework ).
    ( X:\BatchApkTool\_system\framework\arm64 ).
    ( X:\BatchApkTool\_system\framework\oat\arm64 ).

    5. Copy the following 3 files from your phone to the PC:
    "services.jar" from ( /system/framework/ ) to ( X:\BatchApkTool\_system\framework ).
    "boot.oat" from ( /system/framework/arm64 ) to ( X:\BatchApkTool\_system\framework\arm64 ).
    "services.vdex" from ( /system/framework/oat/arm64 ) to ( X:\BatchApkTool\_system\framework\oat\arm64 ).

    6. Run Batch ApkTool and select your language then hit the no. "7" plugins.

    7. Hit the no. next to vdex2dex then will tell you to press any key to continue and after a few seconds will see "Done", now press any key to return to the main menu and exit.

    8. Now you have a deodexd services.jar created in ( X:\BatchApkTool\_system\framework\ ) move or copy it to the smali patcher tool folder and generate the magisk module zip.

    9. Done.
    16
    CHANGELOG ::

    6.7
    • Removed "magisk-module-template" dependency.


    Merry Christmas & happy new year.. hope you all have been enjoying the holidays!