Swift Mangling vs ObjC methname: Recovering Names After Strip

Lab Swift class LabVault: $s… mangled names, xcrun swift demangle, nm before/after strip, the one @objc method that survives in __objc_methname. class-dump, lldb, ASAN. cryptid=1 stops the lab.

March 21, 2025 · 7 min · 1369 words · Jose Adalberto Gutierrez Ochoa

Symbolicating a Lab Crash When UIKit Lives in the dyld Shared Cache

Lab crash on a self-signed LabSession: dwarfdump -u, atos against the dSYM, why UIKit frames are not in nm of the app, crash report with [REDACTED] paths. No DSC extraction. cryptid=1 stops the lab.

August 19, 2024 · 6 min · 1184 words · Jose Adalberto Gutierrez Ochoa

Entitlements and the Simulator Sandbox on a Lab iOS App

codesign -d –entitlements on a self-signed LabSession: get-task-allow, redacted application-identifier, container paths on the simulator, sandbox-exec, deny logs when a file read walks outside the container. cryptid=1 stops the lab.

April 6, 2023 · 7 min · 1336 words · Jose Adalberto Gutierrez Ochoa

Reversing objc_msgSend on a Self-Signed arm64 Mach-O

otool load commands, class-dump selectors, lldb break on objc_msgSend, recover IMP for -[LabSession startWithToken:], redacted argument log. FairPlay-encrypted App Store bins are out of scope.

October 27, 2021 · 5 min · 958 words · Jose Adalberto Gutierrez Ochoa

Walking Mach-O Load Commands on a Self-Signed arm64 Lab Binary

Full otool -l walk of a self-signed LabSession: mach_header_64, LC_SEGMENT_64 __TEXT/__DATA, LC_LOAD_DYLIB, LC_CODE_SIGNATURE, LC_ENCRYPTION_INFO_64 cryptid=0. size -x, nm, class-dump, lldb. cryptid=1 stops the lab.

January 16, 2020 · 7 min · 1387 words · Jose Adalberto Gutierrez Ochoa