于是今天看到有人在问使用 THEOS 来 hook 带有汉字的 Objective-C 的方法时会有类似如下的报错。
$ make > Making all for tweak UnicodeHook… ==> Preprocessing Tweak.xm… ==> Compiling Tweak.xm (armv7)… Tweak.xm:3:1: error: missing context for method declaration - (id)中文方法名 { ^ 1 error generated.
于是研究了 THEOS 的源代码,给出了一个简单的解决办法,不仅可以 Hook 带有汉字的方法,带有日文、阿拉伯文等等的方法 / Objective-C 类,只要这些 identifier 在 Objective-C 的语法规则中被认可,那就都可以被 Hook。而且在写 %group 的时候也可以使用除 ACSII 以外的文字了。
Continue reading Theos Hook Objective-C classes / methods with Unicode Characters