虚拟相机有很多用途,比如可以实现Android手机直播,刷脸等场景,最近无意间发现有人实现了这个功能,
nvsh.xyz,根据官网https://nvsh.xyz视频可以实现用一个视频来替换摄像头,感觉很神奇,于是下载了apk,逆向研究下.
砸壳
下载来下来后发现,apk被加固了,找人破壳之后继续研究.
原理
通过反编译分析java源码后发现,大部功能都是用ndk实现,java曾仅仅是壳.
app启动的时候,会释一些文件到缓存目录.
看来主要功能都再CHMP4里面了.
ndk的代码反编译比较复杂,现在还没搞懂,不过我试用了下,发现功能是正常的,
在跑起来之后,发现有个CHMP4进程CPU占用率奇高,看起来是负责后台解析mp4文件,应该是用来给虚拟摄像头提供数据的.在替换的时候,发现摄像头服务进程会被注入一个libCHMP4.so文件,
这个文件可能就是负责hook摄像头的具体逻辑了.
先记录到这里,原生代码后面在研究,未完待续…
————————————————
版权声明:本文为CSDN博主「Jamy325」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/suzhijie325/article/details/129545705