Commit Graph
60 Commits
Author SHA1 Message Date
Dean 9181b37137 Merge pull request #12624 from rooklz/fix/unwrap-self-output-symlink-loop
fix(tools): report unwrap_self symbolic link loops as usage errors
2026-10-29 23:54:50 +13:00
Dean 01f2868b50 Merge pull request #11407 from veosett/codex/unwrap-self-program-headers
fix(tools): keep SELF PT_PHDR tables in the load image
2026-10-29 17:32:38 +13:00
rooklz eec38c219a fix(tools): report unwrap_self symbolic link loops as usage errors 2026-10-28 23:11:07 +00:00
Dean e550a71043 Merge pull request #11938 from rooklz/fix/unwrap-self-tls-layout
fix(tools): refuse PT_TLS layouts the relinkers reject when unwrapping
2026-10-29 07:24:06 +13:00
Kovalev Vladislav ee785992dd fix(tools): refuse mismatched SELF program header mappings 2026-10-28 19:19:02 +06:00
Kovalev Vladislav 1f21b45361 fix(tools): keep SELF PT_PHDR tables in the load image 2026-10-28 19:11:34 +06:00
MarcZX10 c753d8193c test(tools): unwrap a SELF whose load segments share one file range
The conversion has to be refused with the output-size message and leave no
output file.
2026-10-28 03:05:36 +00:00
rooklz ec90e82931 fix(tools): refuse TLS layouts the relinkers reject when unwrapping 2026-10-27 13:38:43 +00:00
Dean f60e7d052b Merge pull request #10580 from Bram910/fix/unwrap-elf-versions
fix(tools): reject unsupported inner ELF versions
2026-10-28 02:32:34 +13:00
Dean 6b5d9adb27 Merge pull request #11043 from plexerPK/codex/job-reference-finite-timeout
fix(tools): reject NaN JobManager reference timeouts
2026-10-27 18:30:30 +13:00
Dean 95833d842d Merge pull request #10923 from 1whythef2/fix/unwrap-contained-segment-alignment
fix(tools): preserve contained segment alignment when unwrapping SELF
2026-10-27 10:56:22 +13:00
Dean da1d222d52 Merge pull request #10733 from Bram910/fix/unwrap-elf-header-metadata
fix(tools): validate inner ELF machine and header size
2026-10-27 09:03:28 +13:00
plexerPK 4fa1cf0d55 fix(tools): reject NaN JobManager reference timeouts 2026-10-25 15:54:59 +01:00
plexerPK b6f33d10cc fix(tools): preserve recorded SELF segment host mapping 2026-10-25 14:42:02 +01:00
Jade'sG 2a45d721f6 fix(tools): stabilize overlapping SELF region selection 2026-10-25 19:45:03 +08:00
Jade'sG d5635e5728 fix(tools): preserve contained segment alignment when unwrapping SELF 2026-10-25 18:21:54 +08:00
MarcZX10 4f078782a1 test(tools): cover unwrap_self segments with stale offsets that cannot be placed 2026-10-25 06:37:02 +00:00
Bram910 e537509b7d test(tools): resolve JobManager artifact path expectations 2026-10-24 22:42:38 +02:00
Bram910 ee451b5a41 fix(tools): report refused JobManager modules cleanly 2026-10-24 22:24:03 +02:00
Bram910 efc4ed1b7b fix(tools): validate inner ELF machine and header size 2026-10-24 21:56:41 +02:00
Bram910 05bd732eaf test(tools): tighten inner ELF version regressions 2026-10-24 20:38:30 +02:00
Bram910 74285a827e fix(tools): reject unsupported inner ELF versions 2026-10-24 13:09:02 +02:00
Dean 8fc60685a7 Merge pull request #10224 from Project-MOC/codex/fix-unwrap-self-atomic-output
fix(tools): preserve SELF outputs on failed writes
2026-10-24 12:55:33 +13:00
Project-MOC db8785f6ce fix(tools): preserve new SELF output permissions 2026-10-23 18:33:14 +02:00
Project-MOC 1852888af9 fix(tools): preserve SELF outputs on failed writes 2026-10-23 18:20:22 +02:00
emirplus 81820edf30 fix(tools): reconfigure streams with backslashreplace in unwrap_self
Reconfigure sys.stdout and sys.stderr with backslashreplace error handling at the entrypoint of main() so unwrapping reports and error messages do not fail on Windows consoles configured with non-UTF-8 code pages.
2026-10-23 18:48:42 +03:00
Dean 92d5a052eb Merge pull request #8902 from THEBIGTOMMY13DEV/fix/self-program-header-overlap
fix(tools): reject SELF program tables overlapping the ELF header
2026-10-23 14:15:02 +13:00
Dean c9999808e7 Merge pull request #9328 from emirplus/fix/unwrap-self-main-guard
fix(tools): wrap entrypoint in main with stream reconfigure in unwrap_self
2026-10-23 10:43:41 +13:00
emirplus 032344e05a fix(tools): wrap entrypoint in main with stream reconfigure in unwrap_self 2026-10-21 21:35:18 +03:00
Kovalev Vladislav da1d9407ed fix(tools): bound total SELF alignment padding 2026-10-21 23:23:52 +06:00
Dean 26d1065e25 Merge pull request #8803 from AMRYB/fix/self-overlapping-load-regions
fix(tools): preserve load ownership when unwrapping SELF
2026-10-21 21:32:12 +13:00
THEBIGTOMMY13DEV ca376e7545 fix(tools): reject SELF program tables overlapping the ELF header 2026-10-21 01:05:56 -04:00
Dean 7d7b097407 Merge pull request #8543 from tkcm01/fix/unwrap-self-bss-segments
fix(tools): handle zero-size segments in unbacked PT_LOAD ranges in unwrap_self
2026-10-21 17:31:54 +13:00
Dean 2411c6e48b Merge pull request #8532 from valenciana-nc/fix/unwrap-self-minimal-alignment
fix(tools): avoid redundant padding when unwrapping SELF
2026-10-21 17:19:10 +13:00
Amr Yasser ecc88d1494 fix(tools): preserve load ownership when unwrapping SELF 2026-10-21 04:23:27 +03:00
tkcm01 7679fbd657 fix(tools): handle zero-size segments in unbacked PT_LOAD ranges in unwrap_self 2026-10-20 11:59:55 -04:00
Dean f0d8e6924d Merge pull request #6165 from MarcZX10/codex/unwrap-self-truncated-elf
fix(tools): reject unsupported inner ELF encodings
2026-10-21 04:46:15 +13:00
valenciana-nc 85cb95851b fix(tools): avoid redundant padding when unwrapping SELF 2026-10-20 09:15:49 -06:00
Adrià eca8d6cca4 Merge pull request #7820 from parl0v/fix/unwrap-self-segment-align
fix(tools): keep p_align for segments unwrap_self copies outside load segments
2026-10-20 04:18:47 +02:00
xXPBSXxandClaude Sonnet 5.5 360e8bd685 fix(tools): print unwrap_self reports as UTF-8 on every console
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 13:58:16 +02:00
Dean 08a0b7c95b Merge pull request #7702 from vittoriosalvadore/codex/fix-unwrap-empty-load-alignment
fix(tools): preserve empty load segment alignment when unwrapping SELF
2026-10-20 00:51:46 +13:00
Dean b62e0a8a7d Merge pull request #7713 from joedeangelis533-bot/fix/unwrap-file-backed-segments
fix(tools): reject unbacked segment data when unwrapping SELF
2026-10-19 23:51:55 +13:00
Josip Parlov 1e1ce29909 fix(tools): keep p_align for segments unwrap_self copies outside load segments
unwrap_self copied every segment that does not sit inside a PT_LOAD with
alignment 1. On real dumps that puts the comment and version segments
(p_align 0x10) right after the last load segment, at offsets that break
p_offset % p_align == p_vaddr % p_align. Those regions now use the
segment's own p_vaddr and p_align, the same as the load segments, which
is what the module docstring already promises. Load segment placement
and bytes do not change.
2026-10-19 10:52:04 +02:00
Josip Parlov d757b66e9a fix(tools): unwrap SELF dumps that leave out the version segment
unwrap_self reads the vaddr-less segments that follow the recorded
comment segment back to back from right after its data, and refuses the
whole container when one of them runs past the end of the file. Some
dumps end right after the last recorded segment and do not store the
version segment at all. The sce_module/libc.prx of PPSA15552 is one:
its last record, the 0x58-byte comment at 0x13b590, ends at 0x13b5e8,
which is the file size, so the 0x1a-byte PT_SCE_VERSION has no bytes
and the tool failed with "segment 12 does not fit the file" although
every load, dynamic and comment segment is complete.

A trailing segment that would run past the end of the file is now
emitted without file bytes, the same way as the PT_NOTE the container
leaves out. The relinker does not read PT_SCE_VERSION
(GuestImageReader skips it). Containers that store the version segment
unwrap byte for byte as before.
2026-10-19 09:09:39 +02:00
Dean b375e11806 Merge pull request #6621 from klosixgaming-arch/fix/unwrap-self-place-by-record-index
fix(tools): read unwrap_self's vaddr-less segments from where the SELF stores them
2026-10-19 16:52:24 +13:00
joedeangelis533-bot 392c947111 fix(tools): reject unbacked segment data when unwrapping SELF 2026-10-18 22:24:06 -04:00
Hotline Messina Dev 02dd083729 fix(tools): preserve empty load segment alignment when unwrapping SELF 2026-10-18 21:25:03 -04:00
Dean 802db07168 Merge pull request #7166 from MrMha/fix/unwrap-preserve-input-20261017
fix: preserve SELF inputs when an output aliases them
2026-10-18 09:47:48 +13:00
MrMha 4618ef679d fix: refuse invalid load segment metadata when unwrapping SELF 2026-10-17 18:41:08 +04:00
MrMha e80d47b7d0 fix: preserve SELF inputs when an output aliases them 2026-10-17 18:40:43 +04:00