Android混淆以及自定義混淆規(guī)則

1.前言

混淆現(xiàn)已成為開發(fā)人員必備的技能,雖然混淆并不能完全避免被破解吐葱,但是可以增加反編譯的成本,從而盡可能的讓別人反編譯之后也徒勞無功弟跑。而且也能減少apk的體積,添加混淆之后哎甲,沒有用到的資源都不會(huì)打包,特別在項(xiàng)目迭代久了之后炭玫,可能有很多被遺棄的資源,沒有及時(shí)刪除吞加,這時(shí)apk因?yàn)闊o用資源而多增的體積可想而知,下面看一下效果圖衔憨。

2.效果圖

《1》如下圖,是未混淆的截圖,寫的代碼栩栩如生的展現(xiàn)在反編譯者面前,感覺赤裸裸的就把代碼邏輯全部展示出來了?

《2》下圖為混淆過的截圖输瓜,要理解這個(gè)代碼,就要花費(fèi)一些功夫了


3、混淆實(shí)現(xiàn)

開發(fā)中是不是發(fā)現(xiàn)眉厨,開啟混淆之后,即便是沒有添加任何規(guī)則缺猛,項(xiàng)目也不會(huì)閃退椭符,不要緊張荔燎,這是因?yàn)楣俜教峁┝艘粋€(gè)默認(rèn)的混淆規(guī)則销钝,你可以在build.gradle開啟混淆下一行中看到如下一句:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

getDefaultProguardFile加載了官方提供的默認(rèn)混淆規(guī)則,可以在系統(tǒng)文件中搜索這個(gè).txt文件蒸健,打開這個(gè)文件可以看見這里已經(jīng)聲明了基礎(chǔ)的混淆規(guī)則:如native的方法聲明,自定義View似忧,繼承了activity的方法,注解盯捌,序列化等,具體的可以自己在磁盤中搜索這個(gè)TXT文件箫攀,查看系統(tǒng)提供的混淆規(guī)則。

開發(fā)中我們使用系統(tǒng)提供的規(guī)則就差不多夠用了靴跛,我們只需要添加自定義的規(guī)則渡嚣,實(shí)體類對(duì)象梢睛,以及項(xiàng)目中使用到的第三方庫(kù)混淆規(guī)則即可。具體的混淆規(guī)則已經(jīng)放在github中:https://github.com/panyiyiyi/RecyclerViewDemo绝葡,可以先看代碼截圖:

?

如上圖,標(biāo)記《1》部分可以去掉,官方混淆規(guī)則已經(jīng)提供种蘸,標(biāo)記《2》是添加自定義混淆規(guī)則,標(biāo)記《3》是戴山峰依賴庫(kù)的混淆規(guī)則航瞭。不過個(gè)人建議將系統(tǒng)提供的混淆規(guī)則復(fù)制到proguard-rules.pro,然后刪除getDefaultProguardFile這行刊侯,這樣有利于后期規(guī)則的維護(hù),具體有什么問題的地方可以留言藕届。

4、總結(jié)

以上所說的是用官方提供的混淆規(guī)則進(jìn)行混淆操作休偶,只需要再添加自己的實(shí)體類對(duì)象辜羊,以及第三方的混淆規(guī)則踏兜,基本上就能實(shí)現(xiàn)代碼的混淆工作了八秃,也可以把系統(tǒng)的提供的混淆規(guī)則移除掉,然后全部混淆規(guī)則由自己定義昔驱。混淆代碼可以查看git代碼:https://github.com/panyiyiyi/RecyclerViewDemo

5舍悯、結(jié)序

具體混淆規(guī)則的使用參考這篇文章:https://juejin.im/entry/58f6d2a10ce463006bc9e6af,以及項(xiàng)目中使用的自定義混淆規(guī)則在這個(gè)git中可以查看:https://github.com/ysrc/AndroidObfuseDictionary萌衬;如果我所寫的那個(gè)地方有問題或是有錯(cuò)的地方,還望指正朴艰,共同成長(zhǎng)观蓄,謝謝各位大佬

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末祠墅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子毁嗦,更是在濱河造成了極大的恐慌,老刑警劉巖克锣,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腔长,死亡現(xiàn)場(chǎng)離奇詭異袭祟,居然都是意外死亡捞附,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門胆绊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辑舷,你說我怎么就攤上這事〔燮” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵碌廓,是天一觀的道長(zhǎng)剩盒。 經(jīng)常有香客問我谷婆,道長(zhǎng)辽聊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任异袄,我火速辦了婚禮,結(jié)果婚禮上烤蜕,老公的妹妹穿的比我還像新娘封孙。我一直安慰自己讽营,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布膜蠢。 她就那樣靜靜地躺著,像睡著了一般狡蝶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天苏章,我揣著相機(jī)與錄音寂嘉,去河邊找鬼。 笑死枫绅,一個(gè)胖子當(dāng)著我的面吹牛泉孩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播并淋,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寓搬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了县耽?” 一聲冷哼從身側(cè)響起句喷,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兔毙,沒想到半個(gè)月后唾琼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澎剥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年锡溯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祭饭。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖叙量,靈堂內(nèi)的尸體忽然破棺而出倡蝙,到底是詐尸還是另有隱情,我是刑警寧澤绞佩,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布悠咱,位于F島的核電站蒸辆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏析既。R本人自食惡果不足惜躬贡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望眼坏。 院中可真熱鬧拂玻,春花似錦、人聲如沸宰译。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)沿侈。三九已至闯第,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缀拭,已是汗流浹背咳短。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛛淋,地道東北人咙好。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像褐荷,于是被迫代替她去往敵國(guó)和親勾效。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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