2026-08-31 - Emulated kernel escape R/W pipe for dynamic symbol resolution (D413)
Disassembly confirmed that the 6-syscall loop is
kernel_copyout walking kernel memory structures
(allproc → struct proc →
dynlib_obj list) to resolve sceKernelDlsym
using its socket (setsockopt 105) and pipe
(read 3) escape primitive.
Implemented crates/orbistoun-fs/src/escape.rs to:
- Capture targeted kernel address in
setsockopt(fd, IPPROTO_IPV6, IPV6_PKTINFO, ...). - Fulfill
read(3)with simulated kernel structures (allproc,proc,dynlib_objforlibkernelhandle0x2001, andRTLD_METAwith NID export tables). - Updated
descriptor::readto route unmapped reads on fd 3 toescape::read_kernel_pipe. - Traversed
p_dynlibas aLIST_HEADpointing to the firstdynlib_objnode and hashed symbol NIDs dynamically withNidHasher::default().