@@ -195,38 +195,38 @@ private void setupButton_Click(object sender, EventArgs e)
195
195
196
196
//PATCHES
197
197
//SAVEDATA LIBRARY PATCHES
198
- ps4 . WriteMemory ( pid , libSceSaveDataBase + 0x32998 , ( byte ) 0x00 ) ; // 'sce_' patch
199
- ps4 . WriteMemory ( pid , libSceSaveDataBase + 0x31699 , ( byte ) 0x00 ) ; // 'sce_sdmemory' patch
200
- ps4 . WriteMemory ( pid , libSceSaveDataBase + 0x01119 , ( byte ) 0x30 ) ; // '_' patch
198
+ ps4 . WriteMemory ( pid , libSceSaveDataBase + 0x00038AE8 , ( byte ) 0x00 ) ; // 'sce_' patch
199
+ ps4 . WriteMemory ( pid , libSceSaveDataBase + 0x000377D9 , ( byte ) 0x00 ) ; // 'sce_sdmemory' patch
200
+ ps4 . WriteMemory ( pid , libSceSaveDataBase + 0x00000ED9 , ( byte ) 0x30 ) ; // '_' patch
201
201
202
202
var l = ps4 . GetProcessList ( ) ;
203
203
var s = l . FindProcess ( "SceShellCore" ) ;
204
204
var m = ps4 . GetProcessMaps ( s . pid ) ;
205
205
var ex = m . FindEntry ( "executable" ) ;
206
206
207
207
//SHELLCORE PATCHES
208
- ps4 . WriteMemory ( s . pid , ex . start + 0xD42843 , ( byte ) 0x00 ) ; // 'sce_sdmemory' patch
209
- ps4 . WriteMemory ( s . pid , ex . start + 0x7E4DC0 , new byte [ ] { 0x48 , 0x31 , 0xC0 , 0xC3 } ) ; //verify keystone patch
210
- ps4 . WriteMemory ( s . pid , ex . start + 0x68BA0 , new byte [ ] { 0x31 , 0xC0 , 0xC3 } ) ; //transfer mount permission patch eg mount foreign saves with write permission
211
- ps4 . WriteMemory ( s . pid , ex . start + 0xC54F0 , new byte [ ] { 0x31 , 0xC0 , 0xC3 } ) ; //patch psn check to load saves saves foreign to current account
212
- ps4 . WriteMemory ( s . pid , ex . start + 0x6A349 , new byte [ ] { 0x90 , 0x90 } ) ; // ^
213
- ps4 . WriteMemory ( s . pid , ex . start + 0x686AE , new byte [ ] { 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 } ) ; // something something patches...
214
- ps4 . WriteMemory ( s . pid , ex . start + 0x67FCA , new byte [ ] { 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 } ) ; // don't even remember doing this
215
- ps4 . WriteMemory ( s . pid , ex . start + 0x67798 , new byte [ ] { 0x90 , 0x90 } ) ; //nevah jump
216
- ps4 . WriteMemory ( s . pid , ex . start + 0x679D5 , new byte [ ] { 0x90 , 0xE9 } ) ; //always jump
208
+ ps4 . WriteMemory ( s . pid , ex . start + 0x01600060 , ( byte ) 0x00 ) ; // 'sce_sdmemory' patch
209
+ ps4 . WriteMemory ( s . pid , ex . start + 0x0087F840 , new byte [ ] { 0x48 , 0x31 , 0xC0 , 0xC3 } ) ; //verify keystone patch
210
+ ps4 . WriteMemory ( s . pid , ex . start + 0x00071130 , new byte [ ] { 0x31 , 0xC0 , 0xC3 } ) ; //transfer mount permission patch eg mount foreign saves with write permission
211
+ ps4 . WriteMemory ( s . pid , ex . start + 0x000D6830 , new byte [ ] { 0x31 , 0xC0 , 0xC3 } ) ; //patch psn check to load saves saves foreign to current account
212
+ ps4 . WriteMemory ( s . pid , ex . start + 0x0007379E , new byte [ ] { 0x90 , 0x90 } ) ; // ^
213
+ ps4 . WriteMemory ( s . pid , ex . start + 0x00070C38 , new byte [ ] { 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 } ) ; // something something patches...
214
+ ps4 . WriteMemory ( s . pid , ex . start + 0x00070855 , new byte [ ] { 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 } ) ; // don't even remember doing this
215
+ ps4 . WriteMemory ( s . pid , ex . start + 0x00070054 , new byte [ ] { 0x90 , 0x90 } ) ; //nevah jump
216
+ ps4 . WriteMemory ( s . pid , ex . start + 0x00070260 , new byte [ ] { 0x90 , 0xE9 } ) ; //always jump
217
217
//WRITE CUSTOM FUNCTIONS
218
218
GetSaveDirectoriesAddr = ps4 . AllocateMemory ( pid , 0x8000 ) ;
219
219
ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr , functions . GetSaveDirectories ) ;
220
- ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x12 , executableBase + 0x81E800 ) ; //opendir
221
- ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x20 , executableBase + 0x81E810 ) ; //readdir
222
- ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x2E , executableBase + 0x81E7F0 ) ; //closedir
223
- ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x3C , libSceLibcInternalBase + 0x8B1A0 ) ; //strcpy
220
+ ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x12 , libSceLibcInternalBase + 0x000B3F40 ) ; //opendir
221
+ ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x20 , libSceLibcInternalBase + 0x000B4CE0 ) ; //readdir
222
+ ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x2E , libSceLibcInternalBase + 0x000B2D20 ) ; //closedir
223
+ ps4 . WriteMemory ( pid , GetSaveDirectoriesAddr + 0x3C , libSceLibcInternalBase + 0x000C0A40 ) ; //strcpy
224
224
225
225
GetUsersAddr = GetSaveDirectoriesAddr + ( uint ) functions . GetSaveDirectories . Length + 0x20 ;
226
226
ps4 . WriteMemory ( pid , GetUsersAddr , functions . GetUsers ) ;
227
227
ps4 . WriteMemory ( pid , GetUsersAddr + 0x15 , libSceUserServiceBase + offsets . sceUserServiceGetLoginUserIdList ) ;
228
228
ps4 . WriteMemory ( pid , GetUsersAddr + 0x23 , libSceUserServiceBase + offsets . sceUserServiceGetUserName ) ;
229
- ps4 . WriteMemory ( pid , GetUsersAddr + 0x31 , libSceLibcInternalBase + 0x8B1A0 ) ; //strcpy
229
+ ps4 . WriteMemory ( pid , GetUsersAddr + 0x31 , libSceLibcInternalBase + 0x000C0A40 ) ; //strcpy
230
230
231
231
232
232
var users = GetUsers ( ) ;
0 commit comments