注:原文---念茜的博客
Objective-C代碼容易被hook,暴露信息太赤裸裸,為了安全涮俄,改用C來寫吧!
當(dāng)然不是全部代碼都要C來寫尸闸,我指的是敏感業(yè)務(wù)邏輯代碼彻亲。
本文就介紹一種低學(xué)習(xí)成本的,簡易的吮廉,Objective-C邏輯代碼重寫為C代碼的辦法苞尝。
也許,程序中存在一個類似這樣的類:
被class-dump出來后宦芦,利用Cycript很容易實現(xiàn)攻擊宙址,容易被hook,存在很大的安全隱患调卑。
想改抡砂,但是不想大改程序結(jié)構(gòu),腫么辦呢恬涧?
把函數(shù)名隱藏在結(jié)構(gòu)體里注益,以函數(shù)指針成員的形式存儲。
這樣做的好處是气破,編譯后聊浅,只留了下地址,去掉了名字和參數(shù)表现使,提高了逆向成本和攻擊門檻低匙。
改寫的程序如下:
最后,根據(jù)Xcode的報錯指引碳锈,把以前這樣的調(diào)用
就可以了顽冶。
是的,絕不費一點腦子售碳。