本教程所有文件、工具均来源于网上。本人仅做功能说明
2018 、19年左右就有人制作可替换系统摄像头的手机系统。其原理是通过解码 mp4 格式文件,将视频流替换到摄像头的视频流中,这样拍摄照片、拍摄视频时,显示的就是提前录制的视频文件。
广泛用于无人直播、视频搬运。也有用于黑灰产,银行app过人脸等等(有开发者入狱)。
2021年左右有人发布了开源的视频替换框架 vcam
,自此大量的无人直播手机、无人直播软件出现。其基本上是基于 vcam 进行的定制修改,加入授权验证功能,进行收费
这类售卖软件基本是违法行为,这款
vcam
后面基本没有了什么更新
2023 年左右有新的维护者弄了个 VCAMSX
,对功能进行了一些升级优化之类的。还加入了 rtmp
可以实现 转播其他主播视频。这款软件同样开源免费使用,如果需要可以前往 github
自行下载安装。市面上也有许多加入授权后售卖的。
原理
其实原理就是通过 xposed 劫持调用系统摄像头的方法, 实时的解码 mp4 文件。然后将解码的视频流,传送到被劫持的方法中。
Android摄像头方法有两种,一种是 Camera v1 版本,这个版本的摄像头调用很简单,故而劫持方式也很简单。如果app使用的是这类方法,那么 vcam 这类软件兼容性很好
另一种是 Camera v2 ,CameraX ,如果app 使用复杂度更高的新 Camera Api,有的app可能会无法被兼容。因为新版 api 涉及到非常多的参数、视频流格式等等。
其实本质上还是复杂度高,所以造成兼容下不佳。实时的解码 mp4 视频流并传送到被劫持方法。
一般用户如何安装使用这类 vcam
- 手机解锁 bootloader
如果手机不支持解锁bootloader,无法root机器,那么一切白搭
- 手机安装 Magisk 框架,也就是 root 手机
- 手机安装 EdXposed 或者 Lsposed 等 Xposed 框架
然后手机安装上 vcam ,打开 Lsposed 等框架的设置项,将 vcam 的一些选项打开,使其能够被应用在系统上,这样才能开启功能,实现视频替换
如果手机没有 root 、无法解锁 bootloader怎么办
如果自己手机使用的是 oppo、华为、vivo 等无法root的机型,又想做抖音无人直播等
没有root无法使用 vcam 的话,可以使用免root 框架,目前好用的可以用 LSPatch
首先下载工具: https://github.com/LSPosed/LSPatch
然后下载 VCAMSX
: https://github.com/iiheng/VCAMSX/releases/download/1.1.2/VCAMSX1.1.2.apk
以上工具均来源 Github
工具主页使用教程:https://github.com/iiheng/VCAMSX
环境准备
电脑上安装 JAVA 环境,如何安装 JAVA 环境可自行百度
使用签名工具生成一个 keystore 的 Android 签名密钥,也可自行百度
生成密钥的操作,网上教程基本是命令行操作。对普通用户难度较高。可以使用一些工具自动生成,例如 360加固工具箱内就有, 360加固助手 -> 工具包
工具箱下载地址:https://jiagu.360.cn/#/global/download
开始生成新的可以直接替换摄像头的 app
使用方式,以快手无人直播为例子,这时候还需要下载快手 apk 到电脑上。
假设已经下载好快手 app,执行命令:
java -jar lspatch.jar -k keystore.jks <签名的密码> <密钥别名> <别名密码> -m VCAMSX.apk kuaishou.apk
JAVA 环境需要自行百度安装
这样会生成一个新的apk。这个 apk 内置了摄像头替换功能,可以安装在普通机器上, 任意机器均可使用。不再需要手机 root 就能实现 快手app 的视频替换。当然仅限快手。如果需要替换 抖音
微信
,需要用同样的方式,生成一个新的 apk。
一些其他玩法
如果只有一张照片,想把这张照片替换到摄像头中。可以使用照片生成一个5s 的使用。这种方式使用视频处理工具就行了
这类app的缺点:有可能会被 app 识别,除快手、抖音等app外,其他任意app理论上均可以这样实现。但是app可能会有反检测功能。具体看app厂商的安全性做的怎么样。
另外受限于本地解码,部分机型在大文件、例如 4g 以上大视频等场景下。可能会有摄像头卡顿、不流畅的现象。
声明:以上所有工具、软件均来源于网络(github)