android 10虚拟相机

于安卓虚拟相机替换拍照APP的研究

关于安卓虚拟相机替换拍照APP的研究

用虚拟相机替换app内部相机,有很多用途,比如可以实现Android手机直播,刷脸等场景, 最近无意间发现有人实现了这个功能,nvsh.xyz,根据官网视频可以实现用一个视频来替换摄像头,目前支持android 10 11 12 系统, 感觉很神奇,于是下载了apk,逆向研究下.
示例图

砸壳

下载来下来后发现,apk被加固了,找人破壳之后继续研究.

原理

通过反编译分析java源码后发现,大部功能都是用ndk实现,java曾仅仅是壳.
app启动的时候,会释一些文件到缓存目录.
在这里插入图片描述
看来主要功能都再CHMP4里面了.

ndk的代码反编译比较复杂,现在还没搞懂,不过我试用了下,发现功能是正常的,
在跑起来之后,发现有个CHMP4进程CPU占用率奇高,看起来是负责后台解析mp4文件,应该是用来给虚拟摄像头提供数据的.在替换的时候,发现摄像头服务进程会被注入一个libCHMP4.so文件,
这个文件可能就是负责hook摄像头的具体逻辑了.

看了下这个app是用原生hook技术,不像其他虚拟虚拟相机,需要安装xposed框架,所以app很难检测到相机被替换了.
缺点
很多东西都加密了,搞起来好麻烦…
先记录到这里,有空再研究,未完待续…

猜你喜欢

转载自blog.csdn.net/suzhijie325/article/details/129545705