### Added - `.gitignore` for kpatch output - Auto detect console type and firmware in `config.mjs` - Used elsewhere to determine which offsets/patches/ROP chain are used - WIP: Add 8.50-9.60 support - All offsets found - Running into some issue here. Wiped out my JOP chains to redo them... ### Fixed - Call `lapse.mjs` rather than `code.mjs` - Makefile for kpatch builds all currently available ### Changed - Use relative locations rather than absolute - Changed kpatch binaries to just be shellcode vs full ELFs - 5,216 bytes to 257 bytes. - Build kpatch binaries with `-Os` rather than `-O` - 257 bytes to 233 bytes. - Renamed/Formatted `CHANGELOG.md`, `README.md`, and `LICENSE`
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
/* Copyright (C) 2025 anonymous
|
|
|
|
This file is part of PSFree.
|
|
|
|
PSFree is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU Affero General Public License as
|
|
published by the Free Software Foundation, either version 3 of the
|
|
License, or (at your option) any later version.
|
|
|
|
PSFree is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU Affero General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Affero General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
|
|
|
// 8.52
|
|
|
|
export const pthread_offsets = new Map(Object.entries({
|
|
'pthread_create' : 0xebb0,
|
|
'pthread_join' : 0x29d60,
|
|
'pthread_barrier_init' : 0x283d0,
|
|
'pthread_barrier_wait' : 0xb8c0,
|
|
'pthread_barrier_destroy' : 0x9c10,
|
|
'pthread_exit' : 0x25320,
|
|
}));
|
|
|
|
export const off_kstr = 0x7da91c;
|
|
export const off_cpuid_to_pcpu = 0x1cfc240;
|
|
|
|
export const off_sysent_661 = 0x11041b0;
|
|
export const jmp_rsi = 0xc810d;
|
|
|
|
export const patch_elf_loc = './kpatch/850.bin'; // Relative to `../../lapse.mjs`
|