Mods that both work and do not.

Trusted by over 1.6 million members since 2014 — why not join them?
Log in or Register to join us!

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
With over 14 million different devices running Android OS's from 1-16, it's truly a miracle anything works from device to device. Throw in some modded code and you never know.
It can be very frustrating for modders when a game/app mod works perfectly for them but nobody else, or it works for some devices but not others.

Many gamers are sticking to Android 13 devices especially for modded games as Android 14 began making unwelcomed changes to end modding.
However, some modders are pushing forward.
In the past few months, especially on Android 15 devices, modders have had to change their approach. For some, these changes work well, for others not so much.

I recently encountered a mod, Dan the Man, that works perfectly fine for the modder's Android 15 device, however, failed to work on my Android 13 gaming device.
In this situation, the game works fine, it's just that the mod doesn't work (unlimited coins).
The modder and I worked back and forth.
No save game alteration.
No data injection.
The code looked like it should work.
It uses a simple hook to patch the data.
After many frustrating hours of getting nowhere with the game or OS, it dawned on me that many of the new devices are using similar yet different processors.
I tried several devices until the mod worked on one, Android 13, CM101 Vanguard 64bit aarch64.
1000646352.png


I then tried on another device, very similar, Android 13, M10 Snapdragon 64bit aarch64, and it failed.
1000646325.png


The devices are so close you'd have difficulty telling them apart.

The OS and game are unchanged, yet on one device the mod works and the other it does not.
The CPU or Processor, although similar, do not process code the same way.

This problem is seen in other mods by other modders, and the commonality is the hooking method used for modding the game/app, particularly the use of Frida or Lucky Patcher code injection.

The solution isn't so simple.
Universal compatibility is not rational nor possible given all the mixed hardware and plethora of devices.
However, code modification has been and remains very effective. This requires being able to decompile, modify, and recompile, not something many can do.
It may also be possible to do modding on older devices and have the mod work on newer devices.

This will require more research.
Meanwhile, I thought I'd share my findings.
 

AnnaEnea

♥️Mod LP From Sbennytopia♥️ SB Cartel Max Level ❤
✌️ Community Team
SB Mod Squad ⭐
YouTuber
✔ Approved Releaser
Active User
LP Queen 👑
Member for 6 years
I agree with you because the devices are not all the same but as you could see it worked for you on an Android 13 model and it didn't work on another Android 13 of a different model
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
After wracking my brain on the game, Dan the Man, and comparing processor pneumonics, I hit a dead end as both processors accepted the mod code.

Upon closer investigation, I was able to determine data from the mod IS being stored, just indirectly.
Rather than the mod writing data to the game save (no longer an option since Android 13), the data is stored in the game and the game writes the changes.
On one device that data is written, but not the other, suggesting a read/write issue.
It dawned on me that the two devices did have another difference.
On the device the mod works, the sdcard is external formatted as internal was not allowed. On the device the mod failed the sdcard is formatted internal as it is allowed. This is device dependent as decided by the manufacturer.

On the device the mod failed, with formatted internal sdcard, I reinstalled the game but did not run it. The game installed to the sdcard. I moved it to Internal storage and then ran it. The mod worked!
I then moved it back to external storage which also moved the modded data and the game is still modded.

Upon examining the manifest I found
1000646374.png

I edited the manifest and changed it to Internal only.
1000646375.png

I uninstalled the game and reinstalled with the updated manifest.
The game worked, the mod did not.
Upon checking I discovered the game had still installed externally, having ignored the manifest!

After reading up on this, I found that when a sdcard is formatted internal, the OS ignores the manifest and installs external.

As modern devices of Android 14 up no longer have expandable sdcard storage and all RAM is internal, depending upon how the manufacturer accomplishes the storage, mods may be getting stored external without your knowing.

To fix this, modders should add a detection code.
Otherwise, now knowing this, gamers may be able to fix a non-working mod by following the above steps.
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
This is the code injected by Lucky Patcher relevant to the mod failing
Code:
/* compiled from: CustomPatchApplier */
public class murizvuyatupljyrtt extends MortarApplication implements InvocationHandler {
    private static String appPkgName = "";
    public static String assetFileName = "### asset file ###";
    public static String encodedSignature = "### Signatures Data ###";
    private static Signature[] signatures;
    private Object base;
    private File fileStreamPath = null;
    private String file_for_save = "danmanuserProfile.json:/data/data/com.halfbrick.dantheman/files/Dan_The_Man/userProfile.json%LP_Splitter%";
    private String prefs_edit_data = "### preferences edit data ###";
As one can see, the path is absolute instead of relative and makes no test for internal or external installation of the game.
It only works internally.
 

AnnaEnea

♥️Mod LP From Sbennytopia♥️ SB Cartel Max Level ❤
✌️ Community Team
SB Mod Squad ⭐
YouTuber
✔ Approved Releaser
Active User
LP Queen 👑
Member for 6 years
So you have discovered something interesting, very interesting 😍 I have always had the SD but I haven't put it in 2 years because my phone has 265 gb of memory, @Snailsoft you're a Magician 🧙 ♂
 

AnnaEnea

♥️Mod LP From Sbennytopia♥️ SB Cartel Max Level ❤
✌️ Community Team
SB Mod Squad ⭐
YouTuber
✔ Approved Releaser
Active User
LP Queen 👑
Member for 6 years
I decompiled with Apktool my LP Merge Magic Mod I was prompted to update it works perfectly and often to have performed correctly

I: Attendere prego...
I: Utilizzo di Apktool M 2.4.0-251021 su base
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes8.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes6.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes4.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes2.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes7.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes5.dex file...
I: Copying /storage/emulated/0/Download/AM_AntiSplit_1762933587237/base classes3.dex file...
I: Checking whether resources has changed...
I: Building resources...
I: Using aapt2 (64bit)
I: Copying libs... (/lib)
I: Copying libs... (/kotlin)
I: Copying libs... (/META-INF/services)
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk...
I: Sign File (V1 + V2): /data/user/0/ru.maximoff.apktool/cache/APKTOOL_M8094550758133728872.tmp
I: La firma è completa e il file di output è '/storage/emulated/0/Download/Merge Magic!_v9.1.0(503)_antisplit.apk'.
I: Eliminazione /storage/emulated/0/Download/AM_AntiSplit_1762933587237
I: Tempo trascorso: 00:03:33.407
 

Sbenny

A crazy scientist
Staff Member
Admin
SB Mod Squad ⭐
✔ Approved Releaser
Active User
I'm often forced to say gamers to try playing on Android Emulators for this specific reason. As devices have many "variables" in place, once you install a specific Android Emulator and the mod is proven to be working fine on there, it'll also work fine on everyone else using that emulator (unless additional/specific instructions are needed).
 

AnnaEnea

♥️Mod LP From Sbennytopia♥️ SB Cartel Max Level ❤
✌️ Community Team
SB Mod Squad ⭐
YouTuber
✔ Approved Releaser
Active User
LP Queen 👑
Member for 6 years
I'm often forced to say gamers to try playing on Android Emulators for this specific reason. As devices have many "variables" in place, once you install a specific Android Emulator and the mod is proven to be working fine on there, it'll also work fine on everyone else using that emulator (unless additional/specific instructions are needed).
Thank you very much Sbenny anyway I have Android 15 and until now no one has written to me that there are problems with free purchases, but as you rightly said the phones are different from each other
Good evening 😊
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
In the case if Dan, the issue is three part.

1.) The LP code injection method to get around the Android 13+ restrictions using absolute internal Data folder location without checking for external installation, and

2.) Devices with external RAM formatted as internal, and

3.) Android forcing installing to external even if the manifest says Internal Only.

The result is the apk being installed external while the mod data is stored internal.
It is the recent change with manufacturers eliminating owner ability to upgrade/expand storage and instead force the purchase of larger storage devices.
These new devices without sdcard expansion are using a set amount of storage. In many cases the manufacturer is simply formatting an external storage as internal. Prior to this it was rare for the LP mod code to fail as most device owners don't add expansion RAM and format it internal, however, this is a manufacture change that is being forced as a standard.

An emulator won't reveal the issue as emulators do not emulate external storage formatted as internal.

The solution is best resolved by LP developers updating the injection code to test for internal/external installation.
Meanwhile, moving the app from external to internal after installation but before running it will allow the mod to function.
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
Along a similar line of mods that both work and do not work is an issue with Frida created mods. I've done some research and posted findings over on Sub7's release. Scroll down the posts for details.

 

AnnaEnea

♥️Mod LP From Sbennytopia♥️ SB Cartel Max Level ❤
✌️ Community Team
SB Mod Squad ⭐
YouTuber
✔ Approved Releaser
Active User
LP Queen 👑
Member for 6 years
With different chipsets, OS versions, and new security layers in Android 14/15, a mod that works on one device can fail completely on another—even when the code itself looks correct.


Your example with Dan the Man shows it perfectly: the mod wasn’t the issue, the hardware/OS combo was. Sometimes the only way to troubleshoot is literally testing across multiple devices until one lines up with the patch method.
I made this Mod with Android 15 and it works great not only for me but also for others who have downloaded it, Yesterday I did the update and it works great but anyway there are mobiles that have problems with any type Mod
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
Some additional information.

While researching Frida mods and PairIP bypassed mods, I finally found a common link.
Modded apk's made with these tools work on newer devices but not on older ones.

I finished the debug and found several issues all related.

1000747384.jpg


It looks like Frida is using a data injection method with an API call not found on some devices.

When I tested the PairIP bypass tool that uses libpairipx.so, I found a similar API call, thus explaining why even though these are two highly different modding tools they have a similar issue whereby they work fine on the latest devices but not some earlier ones.

As the API calls are Android ROM related, there is no simple solution.
Even rooting and upgrading the ROM may not help if the Processor doesn't recognize the code.

Basically, these new tools are exploiting a bug introduced into new devices while the absence of the bug on older devices break the exploit.

At this time, I know of no tool to test if a device can be exploited to use the mod other than a live test of the modded app.

I don't think there is a way to use another API for the non-working devices.
The exploit simply exists on newer devices.

I will continue to work on a resolution, otherwise, the apps modded with these methods simply won't be available to some devices.

@Sub7
@Sbenny
 

Sub7

Veteran Lv7️⃣
Member for 7 years
Some additional information.

While researching Frida mods and PairIP bypassed mods, I finally found a common link.
Modded apk's made with these tools work on newer devices but not on older ones.

I finished the debug and found several issues all related.

View attachment 105670

It looks like Frida is using a data injection method with an API call not found on some devices.

When I tested the PairIP bypass tool that uses libpairipx.so, I found a similar API call, thus explaining why even though these are two highly different modding tools they have a similar issue whereby they work fine on the latest devices but not some earlier ones.

As the API calls are Android ROM related, there is no simple solution.
Even rooting and upgrading the ROM may not help if the Processor doesn't recognize the code.

Basically, these new tools are exploiting a bug introduced into new devices while the absence of the bug on older devices break the exploit.

At this time, I know of no tool to test if a device can be exploited to use the mod other than a live test of the modded app.

I don't think there is a way to use another API for the non-working devices.
The exploit simply exists on newer devices.

I will continue to work on a resolution, otherwise, the apps modded with these methods simply won't be available to some devices.

@Sub7
@Sbenny
Nice catch
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
I have done some further research and find evidence to support the issue.

This issues report covers how r25b has broken many API features and when used on apps prior to 2022 will cause issues.
1000747408.png


When examining both pairipcorex.so and frida-gadget.so, we find both use r25b.
1000747409.png


1000747410.png


The only way to fix the problem is to have a new device running the latest Android, or, the developers should fall back to r22 which supports Android 4-16.
 

Snailsoft

∞ and beyond!
Staff Member
Moderator
SB Mod Squad ⭐
✔ Approved Releaser
Active User
Member for 2 years
While I await my new tablet and my current one limps along on its last moments of functionality (GPU failing), I have been doing some research.

@Sub7
I have found a work-around for Frida!

👉 First, get the latest apktool and replace Frida's old and known to be buggy version. You may have to change the name.


That should resolve the corrupted DEX files after recompile.

👉 Second, to fix the mod compatibility issue, change the SDK to Android 10.
I know we discussed this earlier and dismissed it due to it not resolving the issue.
It didn't work because there is another component that also needs to be changed in the AndroidManifest.

Search
Code:
android:extractNativeLibs="true"
Replace value with
Code:
false
After making those two simple changes to the AndroidManifest, I was able to run Idle Planet Miner on the same devices it failed on previously!
 

Sub7

Veteran Lv7️⃣
Member for 7 years
While I await my new tablet and my current one limps along on its last moments of functionality (GPU failing), I have been doing some research.

@Sub7
I have found a work-around for Frida!

👉 First, get the latest apktool and replace Frida's old and known to be buggy version. You may have to change the name.


That should resolve the corrupted DEX files after recompile.

👉 Second, to fix the mod compatibility issue, change the SDK to Android 10.
I know we discussed this earlier and dismissed it due to it not resolving the issue.
It didn't work because there is another component that also needs to be changed in the AndroidManifest.

Search
Code:
android:extractNativeLibs="true"
Replace value with
Code:
false
After making those two simple changes to the AndroidManifest, I was able to run Idle Planet Miner on the same devices it failed on previously!
well done ! will try this asap
 
The Cursed Castle - Online RPG on Google Play
Top