iOS 安全 之 方法混淆

APP安全(安全防護(hù)篇)

 對(duì)APP的安全防護(hù)主要是對(duì)程序進(jìn)行加密,其中加密有五個(gè)方向

  1.URL編碼加密 對(duì)程序中出現(xiàn)的URL進(jìn)行編碼加密街立,防止URL被靜態(tài)分析。
  2.本地?cái)?shù)據(jù)加密 對(duì)NSUserDefaults,sqlite存儲(chǔ)文件數(shù)據(jù)加密州弟,保護(hù)帳號(hào)和關(guān)鍵信息。
  3.網(wǎng)絡(luò)傳輸數(shù)據(jù)加密 對(duì)客戶端傳輸數(shù)據(jù)提供加密方案,有效防止通過(guò)網(wǎng)絡(luò)接口的攔截獲取。
  4.方法體特笋,方法名高級(jí)混淆 對(duì)應(yīng)用程序的方法名和方法體進(jìn)行混淆,保證源碼被逆向后無(wú)法解析代碼巾兆。
  5.程序結(jié)構(gòu)混排加密 對(duì)應(yīng)用程序邏輯結(jié)構(gòu)進(jìn)行打亂混排猎物,保證源碼可讀性降到最低。

今天重點(diǎn)說(shuō)一下 方法體 方法名的混淆角塑。
首先看效果吧:

84B10B95-A4CE-4305-BD59-37A671BBF513.png

#使用hopper disassembler 反編譯iPA之后不能得到相應(yīng)的方法調(diào)用信息

FE50C8B4-A19A-4279-A01E-0D4F64870724.png

那么如何做到呢霸奕?
創(chuàng)建shell腳本:

TABLENAME=symbols
SYMBOL_DB_FILE="symbols"
STRING_SYMBOL_FILE="fun.list"
HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/codeObfuscation.h"
export LC_CTYPE=C

createTable(){
    echo "create table $TABLENAME(src text, des text);" | sqlite3 $SYMBOL_DB_FILE
}

insertValue(){
   echo "insert into $TABLENAME values('$1' ,'$2');" | sqlite3  $SYMBOL_DB_FILE
}

query(){
   echo "select * from $TABLENAME where src='$1';" | sqlite3 $SYMBOL_DB_FILE
}

ramdomString(){
    openssl rand -base64 64 | tr -cd 'a-zA-Z' |head -c 16
}

rm -f $SYMBOL_DB_FILE
rm -f $HEAD_FILE
createTable

touch $HEAD_FILE
echo '#ifndef Demo_codeObfuscation_h
#define Demo_codeObfuscation_h' >> $HEAD_FILE
echo "http://confuse string at `date`" >> $HEAD_FILE
cat "$STRING_SYMBOL_FILE" | while read -ra line; do
if [[ ! -z "$line" ]]; then
ramdom=`ramdomString`
echo $line $ramdom
insertValue $line $ramdom
echo "#define $line $ramdom" >> $HEAD_FILE
fi
done
echo "#endif" >> $HEAD_FILE

sqlite3 $SYMBOL_DB_FILE .dump

第二 聲明要替換的方法名列表

      在上邊腳本中提到了 STRING_SYMBOL_FILE="fun.list",意思就是運(yùn)行腳本的時(shí)候會(huì)到這個(gè)文件去讀取需要替換的方法名吉拳,重新寫(xiě)入符號(hào)表中。
      nameAction
      refreshAction

第三步: 生成對(duì)應(yīng)的轉(zhuǎn)義之后的無(wú)序字符串

47A87D69-4262-48E4-957F-5AD91014932F.png

具體demo 很早之前寫(xiě)的 适揉,鏈接 Blank_佐毅

另外
招聘UI交互設(shè)計(jì)師啦留攒!
招聘UI交互設(shè)計(jì)師啦煤惩!
招聘UI交互設(shè)計(jì)師啦!
招聘UI交互設(shè)計(jì)師啦炼邀!
招聘UI交互設(shè)計(jì)師啦魄揉!

嗯,重要的事情說(shuō)五遍拭宁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洛退,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子杰标,更是在濱河造成了極大的恐慌兵怯,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔剂,死亡現(xiàn)場(chǎng)離奇詭異媒区,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)掸犬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)袜漩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人湾碎,你說(shuō)我怎么就攤上這事宙攻。” “怎么了介褥?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵座掘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我呻顽,道長(zhǎng)雹顺,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任廊遍,我火速辦了婚禮嬉愧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘喉前。我一直安慰自己没酣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布卵迂。 她就那樣靜靜地躺著裕便,像睡著了一般。 火紅的嫁衣襯著肌膚如雪见咒。 梳的紋絲不亂的頭發(fā)上偿衰,一...
    開(kāi)封第一講書(shū)人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼下翎。 笑死缤言,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的视事。 我是一名探鬼主播胆萧,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼俐东!你這毒婦竟也來(lái)了跌穗?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虏辫,失蹤者是張志新(化名)和其女友劉穎蚌吸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體乒裆,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡套利,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹤耍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肉迫。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖稿黄,靈堂內(nèi)的尸體忽然破棺而出喊衫,到底是詐尸還是另有隱情,我是刑警寧澤杆怕,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布族购,位于F島的核電站,受9級(jí)特大地震影響陵珍,放射性物質(zhì)發(fā)生泄漏寝杖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一互纯、第九天 我趴在偏房一處隱蔽的房頂上張望瑟幕。 院中可真熱鬧,春花似錦留潦、人聲如沸觅廓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谆吴。三九已至,卻和暖如春坊萝,著一層夾襖步出監(jiān)牢的瞬間孵稽,已是汗流浹背许起。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肛冶,地道東北人街氢。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像睦袖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荣刑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

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