-
Notifications
You must be signed in to change notification settings - Fork 142
Open
Description
Body
Summary
Upgrading from 0.3.4 to 0.3.6 causes the emulator to crash when invoking KWOpenSecureSignatureComponent → atlasSignPlus: / atlasSafeEncrypt:.
The same project runs without errors on 0.3.4.
Environment
- Chomper: 0.3.6 (works on 0.3.4)
- Python: 3.9
- OS: macOS 15 (Apple Silicon)
- Using iOS rootfs shipped with the repo (
rootfs/ios) - Unicorn: 2.1.4, Capstone: 5.0.6, LIEF: 0.17.0
Repro Steps
- Install chomper 0.3.6 (
python3 -m pip install chomper==0.3.6) - Load the target Mach-O (
gifCommonFramework) withChomper(arch=ARCH_ARM64, os_type=OS_IOS, rootfs_path="rootfs/ios") - Instantiate
KWOpenSecurityGuardParamContext,KWOpenSecureSignatureComponent,KWOpenAtlasEncryptComponent - Call
objc.msg_send(component, "atlasSignPlus:", context)(similar foratlasSafeEncrypt:) - During
_objc_msgSend, the emulator crashes withUcError: Invalid memory read (UC_ERR_READ_UNMAPPED)
Logs / Crash
The failing address changes slightly run‑to‑run, but the crash is always inside libobjc.A.dylib after _objc_autoreleasePoolPush/_Pop.
Additional Notes
- Wrapping Objective-C calls in
autorelease_pool()and usinggetBytes:length:forNSDatadidn’t resolve the crash on 0.3.6. - Downgrading to 0.3.4 (no other code changes) makes the same sequence succeed.
- During module loading on 0.3.6, there are repeated warnings like
readClass failed: "NSATSGlyphStorage",readClass failed: "UIWebPlugInView".
Could you advise how to stabilize this call sequence on 0.3.6, or if there is a known workaround?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels