I was researching about Android Malware and their features, compare them. I’ve found that most of them (actually all) do not support live video stream from Android camera, aka Spy Camera, and one that supports live camera, needs an activity. Therefore, I’ve started a hidden spy camera project to live stream video from Android camera to an Rtmp server without activity, named Live Hidden Camera.
As I’ve told before, the main idea is from lack of live stream libraries. I wanted to know how the Android camera works and how RATs benefits the spy camera. I’ve searched and found a Github repository, containing Android RATs. The only RAT I’ve found with live stream ability was AndroRAT which needs activity for video stream.
What I Did
I found open source libraries which is used for video streaming in Android. They get picture from camera, audio from microphone, encode and sync them, and finally send them to a stream server. The list of opensource video streaming libraries are:
But all the libraries needs a SurfaceView which is graphical element fr displaying camera preview to user. In Android’s security mechanism, camera preview should be displayed to user for capturing from camera. Therefore, I’ve searched for hiding camera preview and I’ve found https://github.com/kevalpatel2106/android-hidden-camera which exactly do the same, overlays a dummy SurfaceView with size of 1*1. But the library is used for taking pictures, not streaming.
Live Hidden Camera Born
The idea for hidden streaming is found based on Android-Hidden-Camera and Yasea. The main work was merging them, which was a bit annoying. But finally done.
The final stage was creating a library for others use. The library and the source code are available in my Github repository.