您当前的位置:首页 > 电脑百科 > 安全防护 > 移动

Android代码中是如何下毒的

时间:2019-11-04 11:36:34  来源:  作者:

这其实是前几天看到 B 站代码被开源后的一个感想,为什么要冒这么大风险去做这事,活着不好吗?到底是 996 让你疯狂?还是不给涨薪还克扣工资?或者黑了你的蔡徐坤?鬼知道为什么会有这想法。 然后脑子里就冒出了一个更奇怪的想法,如果我要在代码里下毒,要怎么做?

如何在 Android 代码中下毒

这其实是前几天看到 B 站代码被开源后的一个感想,为什么要冒这么大风险去做这事,活着不好吗?到底是 996 让你疯狂?还是不给涨薪还克扣工资?或者黑了你的蔡徐坤?鬼知道为什么会有这想法。

然后脑子里就冒出了一个更奇怪的想法,如果我要在代码里下毒,要怎么做?

友情提示:如果你是一个管理者,或者一个项目的负责人,读完以后请尽快去检查你公司的代码,小心被人下毒了。

 

Android 工程的几个风险

随手写一段奇葩代码在项目中,这不算下毒,毕竟这种毒分分钟就被查出来了,还有可能成为控诉你的证据。

要说下毒,首先要讲的就是几个容易下毒的点了。

  1. 现在的 Android 工程都是使用 Gradle 管理依赖库了。但是 Gradle 有一个非常奇葩的特性,允许你依赖一个 snapshot 包,而这个特性正常情况下甚至是无法被关闭的(特殊情况走自定义除外)。
  2. ContentProvider 居然是可以自动执行的,只要在 manifest 文件中声明了你的 ContentProvider,并且保证这个 ContentProvider的 authorities 不会与其他的冲突,它的onCreate()方法就可以在应用启动的时候被自动执行。当然,冲突了你也装不上。
  3. Android 保留了远程代码执行能力,尽管现在的插件化手段越来越困难,但那些也都是限制在系统组件层面,如果只是想单纯的在远程执行一段 helloworld 程序,这实在太简单。
  4. Android 截至目前都没有一个正常的,可以确保退出的方法(别告诉我System.exit()算你的正常退出)。而当你调用System.exit()的时候,任何一个异常处理函数都不会有记录,因为他特么就不是个异常。
  5. 原生函数居然可以让 JAVAScript 直接调用,并且还没任何权限问题,只要知道入口函数,任何一个网页的 js 都能调用。虽然 API17以后本地要加上 @JavaScriptInterface注解的,这已经是进步了。但是这货他到现在居然都还是个 runtime 注解,结合第三条,其实没什么鸟用。
  6. 我不想写了,写再多可能要出事了。

配毒药

上面这几条,随便两三点混合起来,都是致命的。毕竟,无形装逼,最为致命。

举个栗子:

我在职的时候,随便在代码里面丢个 jcenter 的 snapshot 包依赖,此刻这个包是没有任何风险的。 离职了以后,通过远端,覆盖掉这个 snapshot 包,在关键代码中下点毒,写个异常或者上面说的 System.exit()。此刻,这个包就有风险了。

稍微聪明一点,改进一下,在依赖的时候依赖一个正式包。但是依赖的这个正式包,再去依赖一个 snapshot 包,同样可行。

上面的步骤有个问题,就是这个关键的代码,他本身有可能不会被执行到。在改进一下,在 snapshot 这个 aar 里用上第二条说的:用 ContentProvider 在应用启动的时候,就开始下毒,随便开个线程,延迟个随机数,再根据时间戳做个取模,随机一批用户,调用System.exit(),不反编译代码,神仙来了也不知道包为什么莫名其妙就闪退了。

前面一种例子适合 snapshot 包的场景,经常会有公司的打包机器是不允许连接外网的,其实很大程度就避免了这种问题。

只要你愿意,随便网上丢一个class,再下载下来,通过ClassLoader直接 run 起来,一样达到目的。

甚至你还可以限制再死一点,你公司在深圳,那就深圳的 IP 全部执行默认逻辑,外地 IP 才开始下毒。总之只有你想不到,没有你办不到。

最后

哦对了,git 的提交者信息也都是可以改的。

git config user.name(email)

放手干去吧,搞死那些 996 的公司,不会有证据的,别说是我教你的。



Tags:Android   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关推荐
6 月 29 日,微软向 Windows 预览体验计划的 Dev 通道推送了 Windows 11 的第一个预览版本,我们也在第一时间升级到了最新系统,可以点击这里查看 APPSO 的抢先体验。 关于 Windo...【详细内容】
2021-07-14  Tags: Android  点击:(5)  评论:(0)  加入收藏
玩过王者荣耀的朋友,几乎无人不晓「鲁班七号」这个英雄。作为 Android 的应用程序包,「APK」对于资深 Android 用户来说,知名度并不亚于前者。 也正因如此,日前 Google 的一份声...【详细内容】
2021-07-08  Tags: Android  点击:(5)  评论:(0)  加入收藏
作者:leafjia,腾讯WXG客户端开发工程师你真的了解Android的线程优先级吗? 看似平平无奇的三行代码却隐藏着巨大的陷阱!Android上如果在主线程执行下面的代码:Thread t = new Thre...【详细内容】
2021-06-18  Tags: Android  点击:(25)  评论:(0)  加入收藏
一、前言最近参加了几轮面试,发现很多5-7年工作经验的候选人在性能优化这一块,基本上只能说出传统的分析方式,例如ANR分析,是通过查看/data/anr/ 下的log,分析主线程堆栈、cpu、...【详细内容】
2021-06-17  Tags: Android  点击:(29)  评论:(0)  加入收藏
随着加密技术的不断升级,设备数据破解的攻防战也在不断升级。比如在打击犯罪的时候,警方可能非常需要查看嫌疑人手机中的内容,以 Cellebrite 为代表的取证工具就此应用而生。不...【详细内容】
2021-05-14  Tags: Android  点击:(86)  评论:(0)  加入收藏
最近在思考一个问题,对于技术人员来说,护城河是什么呢?我想通常答案应该是技术比别人强。那我们说一个人技术比别人强到底指的是什么?哪里比别人强呢?在我看来一点是在某个技术领...【详细内容】
2021-04-20  Tags: Android  点击:(114)  评论:(0)  加入收藏
前言Coil 是一个非常年轻的图片加载库,在 2020 年 10 月 22 日才发布了 1.0.0 版本,但却受到了 Android 官方的推广,在 Android Developers Backstage 这个博客中专门聊过一期...【详细内容】
2021-04-20  Tags: Android  点击:(113)  评论:(0)  加入收藏
然后我们再来看看,androidstudio的布局编辑器的使用. 可以先打开layout中的一个xml去看看,右边有所见即所得的编辑器,以前用eclipse,都是跑起来看,太麻烦了. ​可以看...【详细内容】
2021-04-14  Tags: Android  点击:(114)  评论:(0)  加入收藏
作为一个相当完善的移动操作系统,Android 系统涉及到很多组件。如果宽泛的来讲可以分成两大部分,应用生态和操作系统本身。而对于开发者来说,所选择的编程语言会根据正在开发的...【详细内容】
2021-04-07  Tags: Android  点击:(109)  评论:(0)  加入收藏
本文旨在讲解如何在Android平板或手机上搭建Python开发环境,帮助Python初学者有效利用碎片化时间进行学习,从而达到良好的学习效果。对于大部分初学Python的人来说,由于工作、...【详细内容】
2021-03-24  Tags: Android  点击:(176)  评论:(0)  加入收藏
▌简易百科推荐
你的手机可能被入侵的方式有几种种。让我们分解每一个,看看一些可能的预防措施。1:手机丢失或被盗如果你丢失了手机,它可能会落入坏人之手。如果他们还有关于你的其他信息,他们...【详细内容】
2021-06-01  视频二爷  今日头条  Tags:网络攻击   点击:(39)  评论:(0)  加入收藏
来源:金融界网骚扰电话接不完?信箱里的垃圾短信堆成山?莫名其妙被扣费?网络诈骗玩起“剧本杀”?近日,360联合中国信息通信研究院发布了《2020年中国手机安全状况报告》(以下简称《...【详细内容】
2021-02-02      Tags:手机安全   点击:(79)  评论:(0)  加入收藏
道高一尺,魔高一丈!科技的发展,在推动社会进步的同时,也让无良之徒有机可乘。随着手机扫码的普及,不法分子也纷纷打起了二维码的主意,让你扫进他的陷阱,落入他的圈套。曾经听说某...【详细内容】
2020-12-02      Tags:二维码   点击:(121)  评论:(0)  加入收藏
App渗透 - 人脸识别登录绕过打开APP是一个登录框 抓包后发现参数被加密了 使用Jadx脱源码发现,并没有加壳也没有混淆,运气很好 根据经验,先搜索Encrypt、Decrypt等关键字,发现在...【详细内容】
2020-11-19      Tags:App渗透   点击:(168)  评论:(0)  加入收藏
安卓 root 手机1、准备 root 过的 android 手机,关于自己手机root方法,自行查找解决。adb rootadb disable-verity2、并重新挂载分区,使系统根目录可写入adb shell "mount -o r...【详细内容】
2020-10-20      Tags:charles嗅探   点击:(104)  评论:(0)  加入收藏
声明由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释...【详细内容】
2020-09-07      Tags:Web渗透   点击:(172)  评论:(0)  加入收藏
两个内存泄漏和一个数组索引越界漏洞简介 Issue 74882215: Bluetooth L2CAP L2CAP_CMD_CONN_REQ Remote Memory Disclosure(蓝牙L2CAP L2CAP_CMD_CONN_REQ远程内存泄漏) Issu...【详细内容】
2020-08-26      Tags:蓝牙漏洞   点击:(86)  评论:(0)  加入收藏
安恒海特实验室对此研究如下文:https://www.anquanke.com/post/id/206624蓝牙(BR/EDR)是用于数十亿设备的无线通信的普遍技术。蓝牙标准包括传统认证过程和安全认证过程,从而...【详细内容】
2020-07-03      Tags:蓝牙冒充   点击:(33)  评论:(0)  加入收藏
当今,全球移动用户大约超过37亿,随着移动 App 的广泛应用,必然不断有新的安全威胁产生。而App的安全性,对用户来说是非常重要的,今天快快小编给大家介绍7款优秀的App安全测试工具...【详细内容】
2020-03-19      Tags:App安全   点击:(48)  评论:(0)  加入收藏
现在已经到了开始推广万物互联的物联网的时代,远程视频监控已经不再是那么高大上的技术,宽带上网在国家的大力提倡下,网速越来越快,网络传输的相对成本也越来越低,远程视频监控技...【详细内容】
2020-02-24      Tags:手机摄像头   点击:(87)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条