Welcome, ladies and gentleman!
As of today, only having uploaded a mod out of the 3 required to become an Approved Modder, you may think I have little to no experience at modding. Let me tell ya, I'm just waiting to be truly advanced, so I'm a box full of surprises
I recently learnt the easiest way to bypass every pairip protection. And it's dead easy.
What's pairip?
Pairip, better known as the feared and improved signature and license verification protection, is a Google's creation that assures the APK / XAPK files from recent apps suffer no modification. It's often encountered in apps and games from the Play Store. It's probably a (bad) attempt to stop us, the modders, from creating MOD APK files.
There's not much information regarding all the protections, but it removes some parts of the game if a modification is detected (that's why you suffer black screen crashes and at the logcat they're produced by memory access violations) and it tries to safeguard certain libs' data by removing and restoring that data in real time as you play or use the app, thus creating another layer of protection and making it harder to make any modification attempts.
You can check if your game has pairip protection by extracting or decompiling the APK (or the APK that has the libs, extracting it first from the XAPK), then look at the "lib/architecture" folder. You should find a lib called "libpairipcore.so".
This little mf and its smali buddies are responsible for your failed attempts to merge your XAPK file to an APK, crashes every time you patch the libs, add new files or lines of code, etc.
It took me a while until I noticed pairip was the responsible for all of my failed attempts at modding an il2cpp game, so I took my time to figure a bypass that turned out to be too easy.
And as some people here really wanted to know how I do it, I'm creating a tutorial for you all
Requirements:
-A functional brain
-Some basic modding knowledge
-Your game or app APK/XAPK file
Disclaimer:
By now, you may have thought that it's something complicated to do, like changing smali files, patching the coreip lib... Nothing like that, my fella!
When I say it's easy, it's that it really is TOO EASY. It will make you feel dumb if you have tried to bypass it in hard ways
Anyways. You just need notions about modding. I don't teach you everything, this is not a tutorial for people with no experience.
If you guys want, I can create a little video tutorial with the steps, so let me know if you want it, but the procedure with text and images on spoilers should be more than enough.
Procedure:
First of all, grab your APK file and decompile it.
In the case of it being an XAPK, make it an APK file using the following methodology. Works like a shot (it will crash if you test the merged APK, you need to make the pairip bypass first, so once you merge it, decompile it):
Once you'd have got your decompiled APK, make sure to make a backup of the original, unmodified APK. You're gonna need it. (In the case of the XAPK, make a backup of the base.apk / your.app.name.apk)
Then open the AndroidManifest.xml file from the decompiled APK with a text editor. I recommend Notepad++
After that, search for "pairip". You should find a single coincidence located at the first <application> line.
As you see, the path to the main pairip smali file is there: "com.pairip.application.Application" This is because the main pairip smali file gets called from the AndroidManifest.xml...
Y'know where this is going
Now that we have the path com/pairip/application/Application.smali, let's locate it at one of the smali_classes folder.
In my case, it was located at smali_classes2.
We simply open it and look at the first lines of code.
You see now that pairip main call from AndroidManifest.xml is inherited from Landroid/app/Application; which is the main game/app smali file. So to prevent pairip from being called and thus making it completely useless, we're going to change that line from the AndroidManifest file.
Pay closer attention now, because in this step it's easy to do it wrong, it happened to me 2 times in a row.
Go to the same pairip line at the AndroidManifest, and replace the pairip path by the one you found at the Application.smali file. In this case, "LAndroid/app/Application".
BUT, you have to change it, to make sure it's readable by the Manifest, so you have to add dots instead of "/" and remove the L. Just look at the example to see what I mean:
Now, save the changes.
Wait! We're not done yet.
Compile the APK. When it's done, move the compiled APK and the backed up unmodified APK to your android device or android emulator of your preference.
To finish our bypass, we need to change the compiled APK CRC32 signature. Don't ask me why or how, but it's needed, and it's easier than coming up with a bypass of the CRC32 checker.
Download below a handy tool called Apkanalyzer+ that's useful to patch APK files, as we're going to use it to easily replace the CRC32 by the original and culminate this bypass.
Free Download:
Download and install the Apkanalyzer+ APK in the android device or emulator. Then open it and accept the permissions.
Locate the compiled APK. Tap on it, then choose the option "Modify New Apk Old set Entry"
After that, select the unmodified APK, because it's the one we're going to copy the CRC32 from.
Then, deselect "set old time" and leave only "set old crc32" enabled. Then press PATCH. Wait until it's finished, and you're done!
Install the new APK file that has "Edit_Sign" at the end, then try it out! The app or game will work perfectly fine, with no trace of the pairip protections and crashes.
If you had to merge the XAPK to make it an APK, then you'll see your merged APK finally works now after this bypass.
Just repeat the CRC32 step every time you compile the APK with your modifications, and you're good to go.
Nothing's stopping you now
Enjoy Platinians!!
Any questions? Just leave them here in the thread and I'll try to help you. Though, I won't help you with obvious modding questions. Modding knowledge is already waiting for you, right here on this forum, so go learn it.
As of today, only having uploaded a mod out of the 3 required to become an Approved Modder, you may think I have little to no experience at modding. Let me tell ya, I'm just waiting to be truly advanced, so I'm a box full of surprises
I recently learnt the easiest way to bypass every pairip protection. And it's dead easy.
What's pairip?
Pairip, better known as the feared and improved signature and license verification protection, is a Google's creation that assures the APK / XAPK files from recent apps suffer no modification. It's often encountered in apps and games from the Play Store. It's probably a (bad) attempt to stop us, the modders, from creating MOD APK files.
There's not much information regarding all the protections, but it removes some parts of the game if a modification is detected (that's why you suffer black screen crashes and at the logcat they're produced by memory access violations) and it tries to safeguard certain libs' data by removing and restoring that data in real time as you play or use the app, thus creating another layer of protection and making it harder to make any modification attempts.
You can check if your game has pairip protection by extracting or decompiling the APK (or the APK that has the libs, extracting it first from the XAPK), then look at the "lib/architecture" folder. You should find a lib called "libpairipcore.so".
This little mf and its smali buddies are responsible for your failed attempts to merge your XAPK file to an APK, crashes every time you patch the libs, add new files or lines of code, etc.
It took me a while until I noticed pairip was the responsible for all of my failed attempts at modding an il2cpp game, so I took my time to figure a bypass that turned out to be too easy.
And as some people here really wanted to know how I do it, I'm creating a tutorial for you all
Requirements:
-A functional brain
-Some basic modding knowledge
-Your game or app APK/XAPK file
Disclaimer:
By now, you may have thought that it's something complicated to do, like changing smali files, patching the coreip lib... Nothing like that, my fella!
When I say it's easy, it's that it really is TOO EASY. It will make you feel dumb if you have tried to bypass it in hard ways
Anyways. You just need notions about modding. I don't teach you everything, this is not a tutorial for people with no experience.
If you guys want, I can create a little video tutorial with the steps, so let me know if you want it, but the procedure with text and images on spoilers should be more than enough.
Procedure:
First of all, grab your APK file and decompile it.
In the case of it being an XAPK, make it an APK file using the following methodology. Works like a shot (it will crash if you test the merged APK, you need to make the pairip bypass first, so once you merge it, decompile it):
How to merge split APK's into standalone APK - Platinmods.com - Android & iOS MODs, Mobile Games & Apps
APKEditor is a powerful that can merge split APK's (Directory, XAPK, APKM, APKS...) into standalone APK very fast. I still recommended to check Apkcombo, see whether standalone APK is available or not. See: How to download single APK with lib folder on Apkcombo.com - Platinmods.com - Android &...
platinmods.com
Once you'd have got your decompiled APK, make sure to make a backup of the original, unmodified APK. You're gonna need it. (In the case of the XAPK, make a backup of the base.apk / your.app.name.apk)
Then open the AndroidManifest.xml file from the decompiled APK with a text editor. I recommend Notepad++
After that, search for "pairip". You should find a single coincidence located at the first <application> line.
As you see, the path to the main pairip smali file is there: "com.pairip.application.Application" This is because the main pairip smali file gets called from the AndroidManifest.xml...
Y'know where this is going
Now that we have the path com/pairip/application/Application.smali, let's locate it at one of the smali_classes folder.
In my case, it was located at smali_classes2.
We simply open it and look at the first lines of code.
You see now that pairip main call from AndroidManifest.xml is inherited from Landroid/app/Application; which is the main game/app smali file. So to prevent pairip from being called and thus making it completely useless, we're going to change that line from the AndroidManifest file.
Pay closer attention now, because in this step it's easy to do it wrong, it happened to me 2 times in a row.
Go to the same pairip line at the AndroidManifest, and replace the pairip path by the one you found at the Application.smali file. In this case, "LAndroid/app/Application".
BUT, you have to change it, to make sure it's readable by the Manifest, so you have to add dots instead of "/" and remove the L. Just look at the example to see what I mean:
Code:
Example:
DON'T REPLACE IT LIKE THIS: "Landroid/app/Application"
REPLACE IT LIKE THIS: "android.app.Application"
Now, save the changes.
Wait! We're not done yet.
Compile the APK. When it's done, move the compiled APK and the backed up unmodified APK to your android device or android emulator of your preference.
To finish our bypass, we need to change the compiled APK CRC32 signature. Don't ask me why or how, but it's needed, and it's easier than coming up with a bypass of the CRC32 checker.
Download below a handy tool called Apkanalyzer+ that's useful to patch APK files, as we're going to use it to easily replace the CRC32 by the original and culminate this bypass.
Free Download:
Hidden content
Locate the compiled APK. Tap on it, then choose the option "Modify New Apk Old set Entry"
After that, select the unmodified APK, because it's the one we're going to copy the CRC32 from.
Then, deselect "set old time" and leave only "set old crc32" enabled. Then press PATCH. Wait until it's finished, and you're done!
Install the new APK file that has "Edit_Sign" at the end, then try it out! The app or game will work perfectly fine, with no trace of the pairip protections and crashes.
If you had to merge the XAPK to make it an APK, then you'll see your merged APK finally works now after this bypass.
Just repeat the CRC32 step every time you compile the APK with your modifications, and you're good to go.
Nothing's stopping you now
Enjoy Platinians!!
Any questions? Just leave them here in the thread and I'll try to help you. Though, I won't help you with obvious modding questions. Modding knowledge is already waiting for you, right here on this forum, so go learn it.