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

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   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
今天面试遇到同学说做过内存优化,于是我一般都会问那 Bitmap 的像素内存存在哪?大多数同学都回答在 java heap 里面,就比较尴尬,理论上你做内存优化,如果连图片这个内存大户内存...【详细内容】
2021-12-23  Tags: Android  点击:(8)  评论:(0)  加入收藏
Android logcat日志封装logcat痛点在Android开发中使用logcat非常频繁,logcat能帮我们定位问题,但是在日常使用中发现每次使用都需要传递tag,并且会遇到输出频率很高的log,在多...【详细内容】
2021-12-22  Tags: Android  点击:(8)  评论:(0)  加入收藏
对项目的基本介绍 1.整个框架主要是给MVVM框架使用的,自己写完interface接口后,通过自定义的注解就能自动生成接口方法 2.用Kotlin的Flow去代替Rxjava,因为我发现RxJava功能很...【详细内容】
2021-12-08  Tags: Android  点击:(17)  评论:(0)  加入收藏
前言在Android开发过程中,有些时候会根据需要引用别的项目到当前项目里面,而且以Module形式引用。所以本篇博文就来分享一下怎么以Module形式引用别的项目到当前项目中,方便开...【详细内容】
2021-12-07  Tags: Android  点击:(22)  评论:(0)  加入收藏
新型Android恶意木马程序伪装成数十款街机、射击和策略游戏,通过华为应用市场AppGallery进行分发,从而窃取设备信息和用户的手机号码,全球目前至少有930万台Android设备被该恶...【详细内容】
2021-12-01  Tags: Android  点击:(24)  评论:(0)  加入收藏
作者:fundroid这篇文章偏阅读一些,大家可以了解下 Android 的一些最新动向。每年9/10月份 Google 都会举行约为期2天的 Android Dev Summit,在活动上 Google 的技术专家们会分...【详细内容】
2021-11-30  Tags: Android  点击:(15)  评论:(0)  加入收藏
一、 准备工作1、安装JDK,下载地址(可能需要一个oracle账号,大家百度一下或者自行注册一个就行。尽可能选择8或者11,这两个是长期版本)Java SE | Oracle Technology Network | Or...【详细内容】
2021-11-23  Tags: Android  点击:(28)  评论:(0)  加入收藏
如果你是一名忠实的Android玩家,那么可能会知道,今年的Android 12系统在版本规划上与“往届”相比可以说是很有些特殊。具体来说,除了前段时间刚刚推出正式版的Android 12外,谷...【详细内容】
2021-11-10  Tags: Android  点击:(24)  评论:(0)  加入收藏
使用Maven Publish Plugin插件。(官方支持)一、在Library的build.gradle中配置plugins { id 'com.android.library' id 'kotlin-android' id 'k...【详细内容】
2021-11-05  Tags: Android  点击:(37)  评论:(0)  加入收藏
今年5月,谷歌推出了Android 12,这是原生安卓系统史上最大的设计变化,10月4日,谷歌推出全新的Android12正式版本,并且宣布会在今年晚些时候应用于安卓设备,对比Android11的挤牙膏式...【详细内容】
2021-10-29  Tags: Android  点击:(125)  评论:(0)  加入收藏
▌简易百科推荐
公众号:白帽子左一 领取配套练手靶场、安全全套课程及工具...前言在日常渗透项目中,app渗透可以说是家常便饭了。但由于安卓7以后不信任用户安装的证书,很多时候无法正常抓取数...【详细内容】
2021-12-07  暗网视界    Tags:APP渗透   点击:(31)  评论:(0)  加入收藏
前言登场的目标虽不是SRC,但是整个漏洞的利用手法很有学习意义。目前在很多大厂的http数据包中都会添加sign值对数据包是否被篡改进行校验,而sign算法的破解往往是我们漏洞测...【详细内容】
2021-11-10  IT野涵    Tags:APP渗透   点击:(91)  评论:(0)  加入收藏
一、知识点详解msfconsole,进入msf控制端show options,查看设置的ip地址和端口号是否写入run,根据写入的ip地址和端口号,开启监听服务help,在进入安卓手机的控制端,查看可以使用的...【详细内容】
2021-10-08  Kali与编程    Tags:木马渗透   点击:(63)  评论:(0)  加入收藏
一、准备环境Burpsuite、夜神模拟器二、步骤运行burpsuite,打开代理后,访问 http://burp/ 下载CA证书点击右上角位置下载CA证书将下载的CA证书导入到浏览器中,打开浏览器选择设...【详细内容】
2021-10-08  往右走    Tags:APP渗透测试   点击:(67)  评论:(0)  加入收藏
Apple 设备系统最近面临了许多安全性方面的考验,好在在研究组织 Citizen Lab 地帮忙揭露下,最近一个名为「ForcedEntry」的攻击漏洞,已经被官方确认并提出了建议,建议所有用户安...【详细内容】
2021-09-15  科技洞见未来    Tags:苹果漏洞   点击:(70)  评论:(0)  加入收藏
一、知识点详解webcam_list 查看摄像头的序号Webcam_snap -i 摄像头序号,根据摄像头序号,使用该摄像头拍照二、操作详解在我们的kali虚拟机已经成功连接到安卓手机终端后,调用...【详细内容】
2021-08-26  Kali与编程    Tags:黑客   点击:(71)  评论:(0)  加入收藏
前言众所周知,在互联网信息化时代,各种APP、游戏都需要进行“实名制”,所以人们的“个人信息”也变得十分的重要。而互联网又是一把双刃剑,虽然给人们带来了很多的便利、但同时...【详细内容】
2021-07-29  IT影子    Tags:监听   点击:(209)  评论:(0)  加入收藏
你的手机可能被入侵的方式有几种种。让我们分解每一个,看看一些可能的预防措施。1:手机丢失或被盗如果你丢失了手机,它可能会落入坏人之手。如果他们还有关于你的其他信息,他们...【详细内容】
2021-06-01  视频二爷  今日头条  Tags:网络攻击   点击:(131)  评论:(0)  加入收藏
来源:金融界网骚扰电话接不完?信箱里的垃圾短信堆成山?莫名其妙被扣费?网络诈骗玩起“剧本杀”?近日,360联合中国信息通信研究院发布了《2020年中国手机安全状况报告》(以下简称《...【详细内容】
2021-02-02      Tags:手机安全   点击:(146)  评论:(0)  加入收藏
道高一尺,魔高一丈!科技的发展,在推动社会进步的同时,也让无良之徒有机可乘。随着手机扫码的普及,不法分子也纷纷打起了二维码的主意,让你扫进他的陷阱,落入他的圈套。曾经听说某...【详细内容】
2020-12-02      Tags:二维码   点击:(216)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条