论移动应用之皮相

京城里新开了几间洋行专卖西洋镜时下的年轻人倒看得津津有味——这时代原是这般了罢!近来听闻码头上有人吆喝着"封装apk",我便驻足看那墙上贴着红纸黑字:"三日速成安卓开发"。街边小儿拿着方寸玻璃片手舞足蹈的模样教人想起孔乙己数茴香豆的光景。

满屏代码如蚂蚁列阵

忽地忆起二十年前在仙台学医时解剖青蛙的光景——那时节用刀片剖开皮肉总要寻那筋骨脉络而今这些个apk文件竟也似生物般有层表皮裹着五脏六腑了罢?这封装之术倒是比旧时包粽子讲究得紧糯米红豆要用竹叶裹得严实方能在沸水里煮出滋味。

一、所谓封装者何

"打包成apk就如给赤身者穿长衫"某后生这般向我解释

原来这apk不过是Android Package的缩写与当年商务印书馆的包裹倒有几分相似只是如今包裹里装的不是《新青年》杂志而是些:

  • .dex文件若游龙盘踞
  • 资源文件似百宝锦囊
  • 证书签名堪比衙门朱批
组件名目功用比拟
AndroidManifest.xml衙门告示榜文
res目录戏班子行头箱笼
assets文件夹掌柜私藏银票匣子

只是这般精密的构造却教多少学徒在gradle构建的迷宫里转了向!我见那工作室里白炽灯下后生们抓耳挠腮的模样倒像是未庄秀才赶考时的窘态。


二、包衣之下藏乾坤

"先生莫要看这apk不过是个压缩包裹"某日遇见穿格子衫的青年在茶馆高谈阔论:"解将开来尽是些:"

  1. Java字节码改头换面作dex形态
  2. XML布局化作二进制流
  3. 九宫格图标暗合周易数理
解压后的文件丛林

"且看那混淆器把代码搅作一团乱麻真真是普罗米修斯盗火时遗落的绳结!"青年呷了口龙井继续说道:"这等加密手段原是为防小人却连自家都辨不得路径了。"我不禁想起阿Q画押时的圆圈终是画不圆的。

注:现下多有恶意软件藏身其中犹如《药》中人血馒头之流毒
警告!不可随意安装未知来源apk包!当心成了华老栓家的茶客!