今天跟大家聊聊我搞“内部寄生虫安卓”这个事儿,纯属个人实践,大家图一乐呵。
事情是这样的,前阵子闲着没事,突然对安卓的底层有点兴趣,就想着能不能搞点不一样的东西。然后就想到了,能不能模拟那种“寄生虫”式的应用,就是偷偷摸摸在后台干坏事,咳咳,我只是研究技术,没想干啥违法犯罪的事儿!
第一步,先搭环境。安卓开发那一套,Java,Android Studio,SDK,得先装这玩意儿折腾了我半天,各种版本兼容问题,环境变量配置,简直是噩梦。装完之后,新建一个安卓项目,名字嘛就叫“StudyDaemon”(学习用的守护进程),听起来是不是人畜无害?
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
第二步,写代码。 这才是重头戏。我想要实现几个功能:

- 开机自启动: 就像病毒一样,一开机就运行。
- 后台常驻: 不容易被用户发现,偷偷在后台运行。
- 偷偷联网: 定时向服务器发送一些“统计数据”(就是模拟恶意行为)。
开机自启动,我用的是BroadcastReceiver,监听*.BOOT_COMPLETED这个广播。在里注册一下,搞定!
后台常驻,这个比较麻烦。安卓系统现在对后台服务限制很多,一不小心就被杀了。我用了Service,然后设置成START_STICKY,让它被杀后自动重启。还加了个AlarmManager,定时唤醒服务,防止被系统优化掉。这里面各种坑,各种权限申请,搞得我头都大了。
偷偷联网,这个简单,用HttpURLConnection或者OkHttp,定时向服务器发送数据。为了更隐蔽,我还把数据加密了一下,免得被轻易发现。
第三步,调试。 写完代码,就要在手机上跑起来看看效果。我先是在模拟器上跑,各种崩溃,各种bug。好不容易调通了,又在真机上跑,发现问题更多。安卓版本不一样,权限策略不一样,各种适配问题,简直要把人逼疯。
我用Logcat打印日志,一点一点排查错误。还用Android Profiler分析性能,看看有没有内存泄漏,CPU占用过高的问题。这个过程真是痛苦,感觉自己像个debug机器。
第四步,伪装。 为了让这个“寄生虫”更像一个正常的应用,我还给它加了个假的UI界面。就是一个空白的Activity,上面写着“系统维护”,然后伪装成系统应用,免得被用户卸载。
测试。 我把这个“寄生虫”安装到我的备用手机上,观察了好几天,看看它能不能正常运行,会不会被系统杀掉,会不会耗电过多。期间还不断地优化代码,修复bug。
总结
这回“内部寄生虫安卓”的实践,让我对安卓系统的底层有了更深入的了解。虽然过程很痛苦,但是也学到了很多东西。也让我更加意识到,安卓系统的安全问题有多么严重。以后一定要注意保护自己的手机,不要随便安装来路不明的应用。
声明: 本文仅供技术研究,请勿用于非法用途。如果有人利用本文的技术从事违法犯罪活动,本人概不负责。



