2012-02-22 10 views
2

これは明らかな質問またはエラーがある場合は、私を許してください。私は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; 
+0

はい、あなたは、単に出力を得るためにCプリプロセッサを介してソースファイルを実行することができます(あなたがインクルードファイルを取り除いたら)。 – trojanfoe

+0

@trojanfoeコンパイルされたコードがソースが含まれていない場合(デバッグ用にコンパイルされていないコンパイルされたバイナリのみ)に展開されていれば元のソースを取り出すことは可能ですか? – ewok

+0

私はあなたの質問を誤解していると思う - 私はあなたがソースファイルを誰かに与えたいと思っていたが、そうではない。 – trojanfoe

答えて

3

あなたは可能性が絶対的にない以外に逆コンパイルすることができ、ことは可能ですこれを難読化してください。プリプロセッサは、コンパイラがコード上の厄介な足を手に入れる前に実行されるので、手作業ですべてのコードをMyClassに置き換えた場合と同じです。

しかし、この。実際にコードについて何かを確保するのではなく、単に難読化するだけです。人々はまだ各方法が備えるコードを見て見ることができます。あなたはシンボルの名前を変えるだけです。

0

ホイールを再作成しようとするのではなく、多くの既存の難読化ツールを使用することを選択するだけで、多くの時間、苦労とトラブルを回避できます。

あなたがスターターのために多くの有用な情報を見つけることができます、このスレッドを見てみましょう:

https://stackoverflow.com/questions/337134/what-is-the-best-net-obfuscator-on-the-market

+0

@barcodercanあなたは良いObjective-C obfuscatorを教えてくれますか? – ewok

関連する問題