Jeemak 74R camera simple firmware extraction


This cheap camera is quite terrible, so that’s why it’s been abandoned, ready for me to tinker with.

To aid the tinkering, it would help to have the firmware, which thankfully is very easy to extract.


Firmware extraction

When I plug the camera in, it prompts asking for usb mode.

brian@parrot:~$ adb devices
List of devices attached
20080411	device

As it’s connecting via adb, let’s see if there’s shell access.

brian@parrot:~$ adb shell
root@camdroid:/ #

I guess there’s no need to play with rooting this.

I know prehand that the camera has an Allwinner v3 chip, which has its firmware structure listed here.

adb pull /dev/block/mtdblock0 uboot.img         # uboot
adb pull /dev/block/mtdblock1 boot.img          # kernel
adb pull /dev/block/mtdblock2 system.img        # squahfs
adb pull /dev/block/mtdblock3 config.img        # /data
adb pull /dev/block/mtdblock4 boot-logo.jpg     # boot logo
adb pull /dev/block/mtdblock5 shutdown-logo.jpg # shutdown logo
adb pull /dev/block/mtdblock6 env.img           # uboot params

There you have it, that’s the firmware. It appears to be based off ESP32-CAM-Linux-Motion and MiniGui.

I did plan to reverse engineer the protocol used to control with the camera, but a library already exists, actioncam.