-
-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Description
Problem
- Platform: iOS
- Arch: arm64e
- lang: Objective-C
For some obscure reason the upper word of objc2_class_ro_item.base_meths in ktool/src/ktool/objc.py is shift one nibble to the left. This result in an invalid method's pointer.
Example:
BEFORE FIX: objc2_class_ro_item.base_meths: 0x800dc310000678b0 # 0x10000678b0 INVALID POINTER
AFTER FIX: objc2_class_ro_item.base_meths: 0x800dc31000678b0 # 0x1000678b0 VALID POINTER
Temporary fix:
I add a line in ktool/src/ktool/objc.py at line 774, to manually fix the upper word.
objc2_class_ro_item.base_meths = (objc2_class_ro_item.base_meths & 0xffffffff00000000) >> 4| (objc2_class_ro_item.base_meths & 0xffffffff)TODO:
- What's the root cause ?
- Reproduce with other binary
Metadata
Metadata
Assignees
Labels
No labels