说起来真是费了好大劲儿:我怎么把“七宗罪”弄进安卓手机
最近在群里聊天,有个新来的小子跟我吹牛,说现在的安卓系统安全得跟铁桶一样,谁也别想远程控制。我当时就听乐了。要知道,这安全升级是系统的事情,但人性的弱点,永远是最好的后门。我就决定,得找个时间,把以前玩剩下的那套“七宗罪安卓”的活儿,重新捡起来,看看在最新的安卓系统上,它还能不能像以前一样,悄无声息地摸进去。
这可不是一拍脑袋就能干的事儿,我得好好准备,不能拿自己的主力机器开玩笑。我翻箱倒柜把那台吃灰好几年的旧笔记本找了出来,屏幕都快合不拢了。第一件事就是清空,重新装系统,弄了一个干净的测试环境。光是找齐一套能互相配合的“工具箱”,我就折腾了一整个下午。你知道,这些东西版本更新快,稍微差一点儿,相互之间就不认账,用起来简直是一团麻。
从工具准备到第一次撞墙
我这回的目标很明确,就是想试试看,怎么能让那个“小东西”——就是我们说的“七宗罪”程序——能躲过安卓那双越来越亮的眼睛。以前那套老办法,用一个简单的壳子包起来,系统一扫就报警,根本没戏。
-
第一步:老办法试水。我先是按以前的流程,快速生成了一个用来远程“打招呼”的小程序。扔到测试机上,结果手机刚一接收,还没来得及点开,警告框就蹦出来了,红得刺眼。失败,意料之中。
-
第二步:玩点花活。光改名字不行,得改骨头。我开始研究怎么把它藏在一些看起来人畜无害的文件类型里。我尝试把那个“小东西”伪装成一个看图软件,把代码混在大量的图片资源包里。这回倒是躲过了第一次的静态检查,但只要一运行,它需要权限的时候,安卓马上就察觉不对劲,又被踢了出来。
-
第三步:寻找漏洞。我知道硬碰硬不行,得找个软肋。我开始琢磨安卓最近更新了哪些特性,有没有什么新加入的权限管理或者文件共享的机制,能被我利用一下。我盯着一个关于文件路径处理的小细节看了好久,感觉那地方有点松动。那个晚上我基本没睡,一直在试着用一个非常规的文件路径来加载我的程序。这个过程简直磨人,每次都要重新编译,重新安装,每次都得等半天。
终于成功了,但代价有点大
在试到快接近凌晨四点的时候,我终于找到了一套组合拳。我用了一个很老套,但现在反而少有人注意的打包方式,再配合那个文件路径的小把戏,把我的“小东西”塞了进去。这回手机安安静静,没有亮红灯,没有弹警告。我当时心跳都快停了。
我赶紧跑回去看我的“监听端”——就是等着那个“小东西”回家的那个终端。屏幕上,熟悉的提示符跳了出来,告诉我:连接成功!我当时简直想跳起来大喊一声“成了!”
这感觉太棒了,就像是你花了好大力气,终于撬开了一个自称是保险箱的铁皮盒子。我简单操作了一下,确认我确实能“隔空”对那台测试机做点什么。整个过程我记录得清清楚楚,从哪个配置开始,到用哪个打包工具才成功,每一个参数我都写得明明白白。
学这个到底图什么?
我把这个实践过程分享出来,不是为了教大家学坏。恰恰相反,是为了让大家知道,你手机里那些五花八门的软件,背后可能藏着多少你看不见的门道。
你知道我为什么这么较真非要折腾这个吗?前段时间我妈被一个电话诈骗弄得差点把养老钱转出去。那帮骗子太会装了,能把老人唬得一愣一愣的。我当时就想,如果我能知道这些骗子到底是怎么下手的,他们用的技术到底有多深,我就能更好地保护家里人。
这套“七宗罪”的活儿,技术上不复杂,但它成功的地方在于,它利用的是人对手机软件的信任。你觉得图标正规,名字眼熟,就敢点。而我这回的成功,就是证明了,即便系统升级了,只要你敢点那个包,后台的那扇小门就永远为你敞开着。大家在外面混,千万别乱点来路不明的链接或者软件安装包。这年头,你越是觉得安全,可能离危险就越近。