請原諒我,如果這是一個明顯的問題或者是否有任何錯誤。我對Objective-C非常陌生,並且已經深陷其中。反編譯Objective-C預處理器語句
我正在研究Objective-C混淆。關於這個簡單的方法,我發現here是用戶預處理器將方法名稱更改爲亂碼。我的問題是反編譯器是否可以識別預處理器語句,以便它能夠將源反編譯回原始方法名稱。從上面提到的問題的例子如下:
#ifndef DEBUG
#define MyClass aqwe
#define myMethod oikl
#endif
@interface MyClass : NSObject {
}
- (void)myMethod;
是否有可能,如果調試不編譯,這個代碼可以反編譯回以外的任何其他
@interface aqwe : NSObject {
}
- (void)oikl;
是的,你可以簡單地運行通過C預處理器的源文件,以獲取輸出(一旦你刪除了包含文件)。 – trojanfoe 2012-02-22 16:21:33
@trojanfoe,所以我很清楚,如果編譯後的代碼部署時沒有包含源代碼(只是編譯後的二進制文件,當沒有編譯進行調試時),仍然有可能獲得原始源代碼? – ewok 2012-02-22 16:24:02
我想我誤解了你的問題 - 我假設你想將源文件給予某人,但事實並非如此。 – trojanfoe 2012-02-22 16:34:37