2009-11-13 22 views
12

Objective-Cコードを難読化する方法はありますか?Objective-Cコード難読化

おかげ

+6

この質問はありません。 –

+5

私はビランチが誤って質問だと思います。 –

+0

あなたの目標は何ですか? – nall

答えて

3

Objective Cのは、したがって、すべての通常のC難読化技術が働く、Cの直スーパーセットです。しかし、ココアで作業したい場合は、メソッド名がかなり文書化されているので、少しでも障害があります。

独自の方法については、メソッドを誤って自己文書化するだけです。例えばあなたが正常に書かれているだろう

-(void) doSomethingInnocent:(BOOL)animated withObject:passwords; 

は:

-(void) sendObjectToMyServer:(BOOL)coverupAnimation; 
+2

開始。しかし、まだ助けにはならないでしょう。 – bbum

+3

あなたは* super *を意味する – Richard

5

セレクタがまだ平文ある - -oは、すべてのオブジェクトとそれらが定義するメソッドをダンプしますコマンドotool。コード内でアクセスされるすべての内部セレクタと外部セレクタを、後に続く1つのライナでダンプすることもできます。ソースレベルでの難読化の方法とパラメータ名はおそらく最も簡単ですが、オブジェクトレベルで行うとリンカテーブルの操作を犠牲にして言語に依存しない方法で難読化されます。

otool -s __TEXT __objc_methname yourapp.app/executable_file |expand -8 | cut -c17- | sed -n '3,$p' | perl -n -e 'print join("\n",split(/\x00/,scalar reverse (reverse unpack("(a4)*",pack("(H8)*",split(/\s/,$_))))))'|less 
+1

あなたが含まれているコマンド文字列は何をしますか? –