进程级隐藏进程在系统层面有一个叫驱动级的概念,这个级别是相对于内核层而言的。
内核层负责管理硬件设备,比如:内存、硬盘等。
驱动级则是负责处理与硬件相关的操作,比如:安装软件、下载文件、打开某个程序等等。
而所谓的隐藏进程就是运行在驱动级的程序。
那么,为什么这些隐藏在驱动级的程序会出现在用户空间中呢?
这要从两个角度说起:1.
在系统层面上,它们属于服务类(Service)的程序,也就是说,它们不属于操作系统核心代码的一部分。
2.
这些程序都是通过某种方式(通常是C语言编程),将它们的源代码放在了一个叫做"Binary Logging"的目录里。
所以,当用户进行一些操作时,就会触发这个目录下的某些文件被执行。
例如,当我们打开一个应用程序时,它会在Binary Logging下产生一个log文件。
然后,我们再通过该log文件的名称找到对应的程序的源代码。
由于这种模式比较隐蔽,因此很多程序员都采用这种方式来实现自己的一些需求。
但是,如果我们在系统中安装了多个不同的软件,并且这些软件都需要使用相同的Binary Logs目录的话。
这时,我们就会发现,有些应用需要执行的指令,可能已经在其他应用中被执行了。
这是因为,每个应用的Binary Logs目录中的内容是不一样的。
当然,如果我们不手动修改这些应用的BINALLOG SOFTWARE DIRLES的话。
那么在每次启动一个新的应用的时候,都会自动从上次使用的同一个地方去查找相应的信息。
不过需要注意的是,并不是所有的APP都有这样的特性。
只有那些拥有自己独立的bilibili.apk的应用才有这样的能力,而且也只有部分APK才支持这样功能!
其实,除了上述情况外,还有一种情况也会导致这种情况发生。
那就是,当你安装了一些第三方APP的时候。
而这些App本身并没有提供相应的能力,而是由其他的开发商提供的。
这时候,如果你没有手动更改app的安装路径的话。
那么,当你再次打开这个app的时候,它就会自动调用之前那个app的路径。
这样一来,你也就无法得知它的实际位置了!
最后要说的是,虽然这类事件发生的概率很低。
但并不代表不存在。
因为随着互联网的发展以及手机系统的更新换代,类似的情况也可能会出现。
所以,大家平时还是要多留点心眼儿哦!