如何防止class dump

要防的東西分為三類:
  1. class
  2. variable
  3. method
最簡單法,通解,讓別人看不懂這些東西是在幹嘛的,Obfuscating(混淆),把平常口語話看得懂的所有東西混淆成看不懂的亂碼,但是邏輯依然存在,發現邏輯了以後還是可以輕鬆愉快的找出來。



比較正規的作法,根本不要出現:

variable:如果是property,改用@dynamic 而不是@synthesize,@dynamic 意義在於不會建立setter getter 也沒有建立個local variable,也就dump不出來了。可以用method swizzling在拿setter getter的時候轉給其他名字上聯想不到的method處理。

method:有很多種保護法,比如說在runtime的時候才註冊method、
把method寫成INLINE function、或者把method用c寫。


沒有留言: