iOS 代碼混淆

使用STCObfuscator框架可以生成Md5加密的字符串,在debug環(huán)境下運行生成混淆宏扮宠,在release打包后生成對應的混淆后的二進制文件狐榔。

如果你的工程支持cocoapod,你可以直接添加!pod "STCObfuscator"?

使用:

在Appdelegate中 #import "STCObfuscator.h"


把下面的代碼加入到Appdelegate didFinishLaunchingWithOptions方法里收捣,

#import "STCObfuscator.h"

#if (DEBUG == 1)? ??

[[STCObfuscator obfuscatorManager] confuseWithRootPath:[NSString stringWithFormat:@"%s", STRING(ROOT_PATH)] resultFilePath:[NSString stringWithFormat:@"%@/STCDefination.h", [NSString stringWithFormat:@"%s", STRING(ROOT_PATH)]] linkmapPath:[NSString stringWithFormat:@"%s", STRING(LINKMAP_FILE)]];

#endif

你也可以配置一些類或者方法不進行混淆:


第一步:

在 Build Settings->Preprocessor Macros->DEBUG 中添加環(huán)境變量 LINKMAP_FILE=$(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt 和 ROOT_PATH="${SRCROOT}"?


第二步:

在 Build Settings 開啟Write Link Map File, 設(shè)置成 YES


第三步:將下面的腳本添加到 Build Phases

dir=${SRCROOT}

file_count=0

file_list=`ls -R $dir 2> /dev/null | grep -v '^$'`

for file_name in $file_list

do

temp=`echo $file_name | sed 's/:.*$//g'`

if [ "$file_name" != "$temp" ]; then

cur_dir=$temp

else if [ ${file_name##*.} = a ]; then

find -P $dir -name $file_name > tmp.txt

var=$(cat tmp.txt)

nm $var > ${file_name}.txt

rm tmp.txt

fi

if [ ${file_name##*.} = framework ]; then

find -P $dir -name ${file_name%%.*} > tmp.txt

var=$(cat tmp.txt)

nm $var > ${file_name}.txt

rm tmp.txt

fi

fi

done


第四步:

在預編譯文件最前面中添加以下代碼

#if (DEBUG != 1)

#import "STCDefination.h"

#endif


第五步:

在DEBUG環(huán)境下用模擬器運行工程嫁乘,在STCDefination.h頭文件中生成混淆的宏。

所有的混淆符號會保留在工程目錄下的confuse.json蜓斧。


第六步:

把混淆后在工程目錄下生成的STCDefination.h頭文件加入到工程中挎春。

混淆后豆拨,如果工程增加代碼能庆,需要再次混淆,先清空STCDefination.h里面的內(nèi)容搁胆,不能留任何空格和換行,然后pod update攀例,再次在模擬器DEBUG環(huán)境下運行顾腊。

第七步:在 RELEASE 環(huán)境下運行工程,整理或者清除報錯的宏梆惯,實現(xiàn)代碼混淆吗垮。


GitHUb地址:https://github.com/chenxiancai/STCObfuscator

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市职烧,隨后出現(xiàn)的幾起案子防泵,更是在濱河造成了極大的恐慌,老刑警劉巖捷泞,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锁右,死亡現(xiàn)場離奇詭異,居然都是意外死亡咏瑟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門兄旬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來余寥,“玉大人悯森,你說我怎么就攤上這事绪撵。” “怎么了幻碱?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵改艇,是天一觀的道長坟岔。 經(jīng)常有香客問我,道長承疲,這世上最難降的妖魔是什么鸥咖? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮啊研,結(jié)果婚禮上鸥拧,老公的妹妹穿的比我還像新娘。我一直安慰自己沟娱,他們只是感情好腕柜,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砰蠢,像睡著了一般唉铜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上打毛,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天葡缰,我揣著相機與錄音,去河邊找鬼休吠。 笑死隅肥,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的豺谈。 我是一名探鬼主播贡这,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丽惭!你這毒婦竟也來了辈双?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤换衬,失蹤者是張志新(化名)和其女友劉穎证芭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體檩帐,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡湃密,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拔妥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片达箍。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖硬纤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筝家,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布腮鞍,位于F島的核電站莹菱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏道伟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一裹芝、第九天 我趴在偏房一處隱蔽的房頂上張望娜汁。 院中可真熱鬧兄朋,春花似錦、人聲如沸傅事。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽教届。三九已至,卻和暖如春买置,著一層夾襖步出監(jiān)牢的瞬間强霎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留轩触,地道東北人寞酿。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像怕膛,于是被迫代替她去往敵國和親熟嫩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 對于IOS來說褐捻,由于系統(tǒng)是封閉的掸茅,APP上架需要通過App Store,安全性來說相當高柠逞。但是對于大廠和知名APP...
    it彭于晏閱讀 1,124評論 0 1
  • app風靡的時代昧狮,總有一些奇葩的需求。為了刷量板壮,刷排名逗鸣,制作殼包绰精,為了通過蘋果爸爸審核撒璧,想到代碼混淆,垃圾代碼等策...
    二斤寂寞閱讀 22,931評論 11 52
  • 前言 什么笨使!我們的代碼拿去安全掃描啦卿樱?什么!還掃描出來問題啦硫椰?什么繁调!源碼都別看到啦? 居于上一篇文章iOS簡單逆向...
    甘邦閱讀 18,115評論 24 40
  • 代碼易讀字符串混淆 混淆分許多思路靶草,比如: 1)花代碼花指令蹄胰,即隨意往程序中加入迷惑人的代碼指令 2)易讀字符替換...
    Mikayla321閱讀 7,511評論 5 13
  • 內(nèi)存數(shù)據(jù)庫 :memoryhttps://www.sqlite.org/inmemorydb.html#share...
    KeepFighting閱讀 204評論 0 0