2026-09-01 (Injector WebKit Self-Targeting Elimination & Robust Target Resolution) (D301)
Analyzed hardware test logs
(reports/hardware/injector-klog.txt lines 17-116 and
178-181):
- Critical Discovery - Injector was Targeting Its Own WebKit
Container (
NPXS40112):- Path telemetry revealed that PIDs 109, 110, 112, 118, 133, 139, 141,
178 were all
/system/vsh/app/NPXS40112/eboot.bin! NPXS40112is the system WebKit / notification helper container used byelfldrto host the injector.- The injector was previously selecting its own WebKit
container/siblings as the candidate game and attempting to attach to
itself, which caused FreeBSD
sys_ptrace(PT_ATTACH)to reject witherrno=37(EALREADY).
- Path telemetry revealed that PIDs 109, 110, 112, 118, 133, 139, 141,
178 were all
- Why the Real Retail Game was Skipped:
- The candidate loop previously called
is_system_daemon(comm)before reading metadata. - For procs with empty names at legacy offset
0x61E,is_system_daemonreturned true and skipped the process. - PIDs 298 and 297 (the foreground game) were skipped as
(empty)before their Title ID at0x470or path at0x604could be examined.
- The candidate loop previously called
- Remediation:
- Explicit WebKit Container Exclusion
(
src/injector/target.c): Added check ensuring any process withpath,comm, ortitleidmatchingNPXS40112is skipped immediately. - Metadata-First Evaluation
(
src/injector/target.c):titleid(0x470),path(0x604), andname(0x5E4) are read first before any daemon heuristics. - Immediate Retail Game Match: Any process with Title
ID matching
PPSA*orCUSA*, or app path matching/app0/or/user/app/, is immediately returned as the target game PID without being filtered by empty comm checks.
- Explicit WebKit Container Exclusion
(
Verified: make payload injector HARDWARE=1
(9,410,856 bytes) compiles 100% clean with zero warnings
and zero errors.