NoPsmDrm & NoPs1Drm patches for PlayStation Mobile APP for android devices.
Go to file
2024-06-06 02:42:52 +00:00
.idea update native modules and stuff 2024-06-01 20:31:41 +12:00
app update native modules and stuff 2024-06-01 20:31:41 +12:00
gradle/wrapper Change to an android app 2024-04-21 01:57:35 +12:00
libABX supress warnings in gradle 2024-05-20 14:37:18 +12:00
libsuperuser supress warnings in gradle 2024-05-20 14:37:18 +12:00
.gitignore Add NoPs1Drm !! 2024-05-17 17:32:46 +12:00
build.gradle Remove AndroidX 2024-05-19 17:59:42 +12:00
gradle.properties aa 2024-05-19 18:30:52 +12:00
gradlew Change to an android app 2024-04-21 01:57:35 +12:00
gradlew.bat Change to an android app 2024-04-21 01:57:35 +12:00
LICENSE oops forgot this 2024-05-20 09:07:01 +00:00
Modern-Android.md Update Modern-Android.md 2024-05-11 05:16:43 +00:00
readme.md Update readme.md 2024-06-06 02:42:24 +00:00
settings.gradle Create xposed module to hook psm network info 2024-05-24 18:37:11 +12:00

How to use it?

Android 2.3.3+ is required.

Your device must be rooted. If you cannot root your device, you can install the modified version of the PSM apk.

Install the NoPssDrm.apk file; Approve all permissions and grant it root access.

  • If your device is not PlayStation Certified, you will have to "Certify" it first, the NoPssDrm app itself can do this, just press the "PS Certify" button.

  • If you do not have the PlayStation Mobile app installed, you will see a "Install PSM" button. this will download the PSM.apk from psmreborn.com, and then install it onto your phone. (this automatically does the android 14+ --bypass-low-target-sdk-block if needed.)

  • Once both PSM and the PlayStation Certificates are installed, press the "Install NoPsmDrm" button. this will install the actual NoPsmDrm patches to the app, and allow PSM games to be played with it.

You can then just place NoPsmDrm backups of games into /sdcard/data/android/com.playstation.psstore/files/psm ...

the format Vita NoPsmDrm backups come in usually contains an RW/ and RO/ folder, which isn't present on the Android version. you can just move all the files from RO and RW into the games Title ID folder (the NPXAXXXX one..), and that should get it working

"PlayStation Suite" / PSP & PS1 Games

When starting one of these games you'll be given the option to launch either with PlayStation Mobile or NoPs1Drm you just need to select the NoPs1Drm option, both times, and the game should launch assuming you have the correct matching APK & ZPAK pair for the game, and the game can actually run on your device.

Known Issues:

  • Games only run with wifi off .. (i think its trying to check for updates or something..) (fixed with the Xposed module)
  • 8008103F error code when starting -- on some devices, wifi is required to be turned on when starting the app for the first time. this is not actually accessing a server and its just so it can read your Mac Address, which PSM needs for (something???) (fixed with the Xposed module)

What patches there are // what they do

/system files (or the magisk module on android 6+)

Marks your device as "Playstation Certified", allowing the Playstation Mobile application to run.

Patches to the shared_prefs files (SigninInfo.xml , com.playstation.psstore_preferences.xml)

Gets PSM to think that you've already logged in, as well as getting it to not check for updates.

The libdefault.so mod

Does most of the work on the PSM side, allowing the games to run and things like that.

The Xposed module

Patches a couple things, networking checks, and PS1 certification checks.

source code? // external libraries

libdefault.so mod in here is https://silica.codes/Li/libdefault_proxy

libpsmkdc_jni mod is https://silica.codes/Li/libpsmkdc_stub

com.playstation.playstationcertified.jar is taken from an xperia play, however its an empty JAR file with only a class constructor in it and nothing else.

NP Ticket generation is done via a library created by olebeck; see https://github.com/olebeck/npticketjava

Permissions explaination

SuperUser - This app works by modifying the internal data for the PSM application (at /data/data/com.playstation.psstore) so it sees it as if you have already logged into the app and setup an account, then it patches libdefault and libpsmkdc for nopsmdrm-like patches,

there seems to be some obfuscation going on with libdefault that makes it not work correctly on a modified APK, and besides to have the ability to backup already installed games will always require root access.

Storage (read/write) - If you have PSM already installed and activated, the first thing the app will do is backup all your PSM applications internal data files to your SDCard, before modifying any of it, this requires the external storage permission ...

Phone calls - This is litterally, just to read your IMEI number, you see PsmDrm derives a "Console ID" using a bunch of unique identifiers on your phone, one of which, is your IMEI number, and you need the entire Phone permission to read the IMEI on android 2.2.X, for some reason!

com.playstation.psscertified - this is a specical permission given to be able to access the pscertified framework, which is used to check if your device is "PlayStation Certified".

Credits