小谷禿頭合集html
簡單闡述
下混淆與加固
,具體怎麼用仍是看兄弟們怎麼作(小谷公司的項目其實已經寫成腳本了,關鍵的也是這幾個方法)咱們日常分析代碼的時候,用class-dump
會把header文件
生成出來。並且這些類和函數名
,好多都是見名知意
的。markdown
這個時候對分析
你應用的boy(逆向工程師)
太舒服了函數
這個是咱們
demo
裏面的函數名
工具
混淆函數名
咱們簡單的方法就是
#define
oop
#define ConfuseTest xgsufehdfdakldfgs
#define test sdsdsdsdsjhhfbsgh
複製代碼
這樣就能夠達到
混淆函數名
的目的了post
注:一些分析你應用的逆向工程師
都不是軟柿子,都有2把刷子的! 若是看到有混淆的函數名
,他們就會很興奮
。而後斷點,看函數調用棧
!!或者看彙編靜態分析
!!加密
建議: 小谷這裏有些建議:若是混淆函數名
的話。小谷建議儘可能混淆那些不重要的
!這樣逆向工程師分析的時候--就是浪費他的時間
。他們可能會吐血!(先跟逆向工程師說聲對不起~)spa
對稱加密
吧。咱們能夠用這個把本身重要的字符串加密
!小谷用的CCCrypt
這個其實沒有啥好說的。
加密解密
唄code
小谷可能也是給個思路。兄弟們也能夠給小谷些建議orm
異或加密
Inline內聯
static inline NSData * encodeData(NSData *sourceData) __attribute__ ((always_inline));
Inline 內聯
是防止咱們調用函數bl
後,逆向工程師能夠打斷點看函數調用棧和參數
使用Inline內聯
後。會把代碼直接拷貝到調用的地方
。這樣!逆向大佬們就不是那麼容易發現了
!
兄得們能夠看下
Inlinehook
。不過這篇博客就不講如何在__TEXT__ 段
改東東了~
小谷這裏只推薦一波吧。
原先
混淆比較有名的是obfuscator-llvm
,不過只支持到Xcode8
,如今基本也用不了了
如今用的多的通常是網易網盾
和ZFJObsLib
不夠如今大公司的混淆估計都是大佬們本身搞的
咱們能夠研究下ZFJObsLib
是怎麼作的,本身能夠搞得簡單點練練手~
小谷如今也沒有太多的時間研究混淆和加固
了。最近工做實在是太忙了~
混淆和加固
,小谷感受只有用在項目中才有參考性
!!
但願有朝一日兄弟們能夠寫出本身滿意的混淆工具
。
但願這篇博客對兄弟們有些幫助吧。😆