APK渠道打包與APK加密加固

標(biāo)簽(空格分隔): Android

APK渠道打包##

  • 通過友盟

參考StormZhang文章
比較常見的友盟移動統(tǒng)計(jì)sdk中使用的方案,UMeng要根據(jù)各應(yīng)用市場渠道號來進(jìn)行一些統(tǒng)計(jì)和分析与涡,比如各渠道的下載數(shù)、活躍度、自動更新等等厢洞。這種方案是 通過build.gradle腳本中的productFlavor 來實(shí)現(xiàn)的祠挫。首先在AndroidManifest.xml文件的 application 標(biāo)簽里指定一個 meta-data ,然后Umeng SDK會讀取這個標(biāo)簽中value傳到Umeng的后臺蜈膨,這樣就可以讓開發(fā)者監(jiān)測到自己的應(yīng)用程序渠道分布情況了屿笼。
【注意的是,雖然這里用到了友盟的標(biāo)簽翁巍,但是不用像引入友盟推送是將友盟SDK集成到項(xiàng)目依賴驴一?】

自動化打包+版本號管理
定制生成的apk文件名、Android Studio設(shè)置默認(rèn)的簽名文件

  • 美團(tuán)的打包方案(現(xiàn)階段最快)-打包界的曙光
    用友盟傳統(tǒng)的批量打包方式灶壶,最大的缺點(diǎn)就是打包時(shí)間長肝断。在前期渠道很少時(shí)這種方法還可以接受,但只要渠道稍微增多該方法就不再適用了驰凛,原因是每打一個包都要執(zhí)行一遍Gradle構(gòu)建過程孝情,效率太低。
    原理:


    此處輸入圖片的描述
    此處輸入圖片的描述

到這里洒嗤,思路就有了箫荡。
1、在META-INF中放置一個類似 channel_xxx 的空文件來標(biāo)識市場渔隶。
2羔挡、在Java代碼中解析這個文件名獲取市場xxx即可洁奈。
具體步驟:文章

那Gradle構(gòu)建是不是沒用了呢?
當(dāng)然不是绞灼,Google老大為他做了這么多利术,怎么能說不用就不用呢?
他的用處在于實(shí)現(xiàn)訂制低矮,比如打包出x86和arm的包印叁,或者打出手機(jī)包和適應(yīng)平板的hd包,然后借助上面的美團(tuán)的打包方案工具生成多個市場军掂,即完成了多種適配包多個市場的任務(wù)轮蜕。


加密加固APK

  • 什么是加殼?

    加殼是在二進(jìn)制的程序中植入一段代碼蝗锥,在運(yùn)行的時(shí)候優(yōu)先取得程序的控制權(quán)跃洛,做一些額外的工作。大多數(shù)病毒就是基于此原理终议。
    
此處輸入圖片的描述
此處輸入圖片的描述
  • Android Dex文件加殼原理


    此處輸入圖片的描述
    此處輸入圖片的描述

    PC平臺現(xiàn)在已存在大量的標(biāo)準(zhǔn)的加殼和解殼工具汇竭,但是Android作為新興平臺還未出現(xiàn)APK加殼工具。Android Dex文件大量使用引用給加殼帶來了一定的難度穴张,但是從理論上講细燎,Android APK加殼也是可行的。
    主要步驟:
    我們拿到需要加密的Apk和自己的殼程序Apk皂甘,然后用加密算法對源Apk進(jìn)行加密在將殼Apk進(jìn)行合并得到新的Dex文件找颓,最后替換殼程序中的dex文件即可,得到新的Apk,那么這個新的Apk我們也叫作脫殼程序Apk.他已經(jīng)不是一個完整意義上的Apk程序了叮贩,他的主要工作是:負(fù)責(zé)解密源Apk.然后加載Apk,讓其正常運(yùn)行起來。
    在這個過程中佛析,牽扯到三個角色:
    1益老、加殼程序:加密源程序?yàn)榻鈿?shù)據(jù)、組裝解殼程序和解殼數(shù)據(jù)
    2寸莫、解殼程序:解密解殼數(shù)據(jù)捺萌,并運(yùn)行時(shí)通過DexClassLoader動態(tài)加載
    3、源程序:需要加殼處理的被保護(hù)代碼

  • 根據(jù)解殼數(shù)據(jù)在解殼程序DEX文件中的不同分布膘茎,本文將提出兩種Android Dex加殼的實(shí)現(xiàn)方案桃纯。
    參考文章
    1、解殼數(shù)據(jù)位于解殼程序文件尾部
    2披坏、解殼數(shù)據(jù)位于解殼程序文件頭

  • 加固實(shí)戰(zhàn)
    代碼實(shí)現(xiàn)參考文章
    在實(shí)戰(zhàn)中的坑請參考稀土掘金文章

  • 各大加密平臺的對比與常見app漏洞及風(fēng)險(xiǎn)
    文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末态坦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子棒拂,更是在濱河造成了極大的恐慌伞梯,老刑警劉巖玫氢,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谜诫,居然都是意外死亡漾峡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進(jìn)店門喻旷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來生逸,“玉大人,你說我怎么就攤上這事且预〔郯溃” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵辣之,是天一觀的道長掰伸。 經(jīng)常有香客問我,道長怀估,這世上最難降的妖魔是什么狮鸭? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮多搀,結(jié)果婚禮上歧蕉,老公的妹妹穿的比我還像新娘。我一直安慰自己康铭,他們只是感情好惯退,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著从藤,像睡著了一般催跪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夷野,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天懊蒸,我揣著相機(jī)與錄音,去河邊找鬼悯搔。 笑死骑丸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妒貌。 我是一名探鬼主播通危,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灌曙!你這毒婦竟也來了菊碟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤在刺,失蹤者是張志新(化名)和其女友劉穎框沟,沒想到半個月后藏古,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忍燥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年拧晕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梅垄。...
    茶點(diǎn)故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡厂捞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出队丝,到底是詐尸還是另有隱情靡馁,我是刑警寧澤,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布机久,位于F島的核電站臭墨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏膘盖。R本人自食惡果不足惜胧弛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侠畔。 院中可真熱鬧结缚,春花似錦、人聲如沸软棺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喘落。三九已至茵宪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瘦棋,已是汗流浹背稀火。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兽狭,地道東北人。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓鹿蜀,卻偏偏與公主長得像箕慧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子茴恰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評論 2 349

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