Commit Graph
16 Commits
Author SHA1 Message Date
Momoko-Ayase ea92d26d28 fix(windows): support legacy PE32 payload layouts
Handle fully encrypted PE32 payloads and compact shell, stage, and metadata layouts. Trial-decrypt each table candidate before selecting it, restoring the header and stage ciphertext between attempts.

Add synthetic regressions for full and prefix encryption, false table candidates, rollback, metadata placement, and malformed ranges. Preserve existing corpus outputs.
2026-10-24 20:40:23 +08:00
bfloat16 6e233bbf18 fix(windows): preserve companion export tables
Guard PE32 export copies when the companion omits plaintext stub data. Reserve the complete export directory during compaction and validate file backing before overlaying it to prevent writes into the next section.

Add regression coverage for zero-filled export space, invalid directory ranges, and truncated source or destination sections.
2026-10-08 23:49:36 +08:00
y52 7728c6e7c2 refactor(android): remove sample-specific runtime fingerprint 2026-09-27 13:52:44 +08:00
y52 921cd4bfb4 fix(android): address runtime restoration review gaps 2026-09-27 13:52:44 +08:00
y52 53f31d2210 fix(android): restore newer runtime protection profiles 2026-09-27 13:52:44 +08:00
y52 9083c60d45 fix(android): restore protected runtime ELF state 2026-09-27 13:52:44 +08:00
Momoko-Ayase 2501aabc57 Merge PR #6: support SysV-only ELF hash tables 2026-09-20 10:04:23 +08:00
y52 539861acbd fix(elf): relocate crowded program header tables 2026-09-18 19:36:03 +00:00
y52 d4613305fd fix(android): support SysV-only ELF hash tables 2026-09-17 18:12:36 +00:00
Momoko-Ayase 9b8024b132 fix(windows): re-arm neutralized TLS field relocations for PE32 DLLs
The packer demotes the four base-relocation entries covering the TLS
directory's VA fields to IMAGE_REL_BASED_ABSOLUTE padding, because its
own loader fixes TLS up by hand. Restored verbatim, a DLL mapped off its
preferred base keeps stale VAs in its TLS directory and the OS loader
faults in LdrpAllocateTlsEntry while writing the TLS slot index through
the unrelocated AddressOfIndex (observed as a 0xc0000005 startup
failure).

Walk the restored BaseReloc blocks and promote those entries back to
IMAGE_REL_BASED_HIGHLOW, gated on is_dll so EXE output stays
byte-identical.
2026-09-10 20:42:39 +08:00
bfloat16 ed2731f8e0 fix(windows): restore managed companion DLLs 2026-09-07 21:43:54 +08:00
bfloat16 53ef36c837 build: require Rust 1.98.1 2026-09-07 21:43:15 +08:00
bfloat16 6250ca4e98 refactor: align platform crate boundaries 2026-09-07 19:29:54 +08:00
bfloat16 aa1bcaa2eb fix(android): support compact ELF dynamic table layouts 2026-09-07 16:31:38 +08:00
bfloat16 2d92360d87 fix(elf): validate section names from ELF string table 2026-09-07 13:23:16 +08:00
bfloat16 d436a200ba refactor: consolidate platform engines into senbei-engine 2026-09-06 19:31:19 +08:00