0.8.3 • Published 2 years ago
patch-porter v0.8.3
patch-porter
A simple .pchtxt porting tool.
Usage
Install Node.js, then install
patch-porterusing npm:npm install -g patch-porterPort your pchtxt:
patch-porter --from=mainA --to=mainB --input=A.pchtxt --output=B.pchtxt--comment: Add ported address as comment to the output file--arch=arm64: Set the processor architecture for the NSO file (arm/arm64/none), default: arm64
Done!
Tips
- Please keep
@flag offset_shift ...in your pchtxt to helppatch-porterfinding the correct address If your pchtxt doesn't have
@flag offset_shift 0x100, it means that the addresses in your pchtxt are not based on the NSO header offset.\ In this case, you need to decompress your NSO file using hactool, and disable NSO mode inpatch-porter(--no-nso).hactool -t nso --uncompressed mainA.raw mainA hactool -t nso --uncompressed mainB.raw mainB patch-porter --from=mainA.raw --to=mainB.raw --input=A.pchtxt --output=B.pchtxt --no-nsoAfter porting, search for
[x]in new pchtxt to find errorspatch-porterdoes not currently update the assembly code, so some patch may still need to be updated manually
Use in Node.js
import { promises as fs } from 'fs'
import { portPchtxt } from 'patch-porter'
let fileA = await fs.readFile('mainA')
let fileB = await fs.readFile('mainB')
let pchtxtA = await fs.readFile('A.pchtxt', 'utf8')
let pchtxtB = await portPchtxt(fileA, fileB, pchtxtA)
await fs.writeFile('B.pchtxt', pchtxtB)Credits
0.8.1
2 years ago
0.8.0
2 years ago
0.8.3
2 years ago
0.8.2
2 years ago
0.7.0-alpha.7
2 years ago
0.7.0-alpha.1
2 years ago
0.7.0-alpha.3
2 years ago
0.7.0-alpha.2
2 years ago
0.7.0-alpha.5
2 years ago
0.7.0-alpha.4
2 years ago
0.7.0-alpha.6
2 years ago
0.7.0-alpha.0
2 years ago
0.6.1
3 years ago
0.6.0
3 years ago
0.5.0
3 years ago
0.4.5
3 years ago
0.4.4
3 years ago
0.4.3
3 years ago
0.4.2
3 years ago
0.4.1
3 years ago
0.4.0
3 years ago
0.3.1
3 years ago
0.3.0
3 years ago
0.2.0
3 years ago
0.1.3
3 years ago
0.1.2
3 years ago
0.1.1
3 years ago
0.1.0
3 years ago