vito11 / CameraHook

An prototype to hook android camera preview data of third-party and system apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CameraHook

CameraHook is an Android app designed to hook and modify android camera preview data from other apps without changing the preview shown to user.

More specifically, CameraHook can modify camera data of any third-party app or system camera app which use the onPreviewFrame system callback

public void onPreviewFrame(byte[] data, Camera camera) {
  //CameraHook can hook the data here
}

For example, you can use this tool to change any third-party QR code scanner result by replacing the camera data with a picture set by yourself.

It is just a prototype and the code may be ugly.

How to try

You should use Android studio to build this project.

To use this app, devices must be root.

You need to install another app which gets camera data via onPreviewFrame to verify if CameraHook works well.

For example, CustomizedCameraPreview is another prototype of mine which renders onPreviewFrame data to the screen, it is a good verification app for CameraHook (https://github.com/vito11/CustomizedCameraPreview)

Please note that CustomizedCameraPreview is a custumized preview, so both the data and the preview shown on the screen can be changed by CameraHook, and Most third-party QR code scanners use system preview, CameraHook only change the data of these scanners and will not change the preview on the screen

Supported platform

Android 2.3 - 4.4

Tips

If you want to make any change to hook.c while libhook.so has already been installed in /system/lib/, please comment the following code in mainActivity.java:

if(result.length()<10) {

    String copySoToSystem = "cat " + so_path + " > " + "/system/lib/libhook.so \n" +
    
            "chmod 777 /system/lib/libhook.so \n";
            
    runLocalRootUserCommand(copySoToSystem);
    
}

If you have any question about this project, feel free to contact me.

Email: limm.hq@gmail.com

About

An prototype to hook android camera preview data of third-party and system apps


Languages

Language:C++ 96.7%Language:C 2.5%Language:Java 0.7%Language:Makefile 0.1%