3 #include <mach/shared_region.h>
12 #define str2(x) str(x)
19 ".globl _OBJC_CLASS_$_Super \n"
20 ".section __DATA,__objc_data \n"
22 "_OBJC_CLASS_$_Super: \n"
23 PTR "_OBJC_METACLASS_$_Super \n"
25 PTR "__objc_empty_cache \n"
26 PTR "__objc_empty_vtable \n"
29 "_OBJC_METACLASS_$_Super: \n"
30 PTR "_OBJC_METACLASS_$_Super \n"
31 PTR "_OBJC_CLASS_$_Super \n"
32 PTR "__objc_empty_cache \n"
33 PTR "__objc_empty_vtable \n"
46 PTR "L_evil_methods \n"
48 PTR "L_good_methods \n"
65 PTR "L_evil_methods \n"
67 PTR "L_good_methods \n"
74 ".globl _OBJC_CLASS_$_Sub \n"
75 ".section __DATA,__objc_data \n"
77 "_OBJC_CLASS_$_Sub: \n"
78 PTR "_OBJC_METACLASS_$_Sub \n"
79 PTR "_OBJC_CLASS_$_Super \n"
80 PTR "__objc_empty_cache \n"
81 PTR "__objc_empty_vtable \n"
84 "_OBJC_METACLASS_$_Sub: \n"
85 PTR "_OBJC_METACLASS_$_Super \n"
86 PTR "_OBJC_METACLASS_$_Super \n"
87 PTR "__objc_empty_cache \n"
88 PTR "__objc_empty_vtable \n"
89 PTR "L_sub_meta_ro \n"
101 PTR "L_evil_methods \n"
103 PTR "L_good_methods \n"
120 PTR "L_evil_methods \n"
122 PTR "L_good_methods \n"
134 PTR str2(SHARED_REGION_BASE+SHARED_REGION_SIZE-0x1000) " \n"
144 "L_super_name: .ascii \"Super\\0\" \n"
145 "L_sub_name: .ascii \"Sub\\0\" \n"
146 "L_load: .ascii \"load\\0\" \n"
149 ".section __DATA,__objc_classlist \n"
151 PTR "_OBJC_CLASS_$_Super \n"
154 PTR "_OBJC_CLASS_$_Sub \n"
157 ".section __DATA,__objc_nlclslist \n"
159 PTR "_OBJC_CLASS_$_Super \n"
162 PTR "_OBJC_CLASS_$_Sub \n"