3 ms·
I really enjoyed reading this, especially the little branches off into other useful topics and tools. Here are my notes as a summary: Good blog write up about
by bitwrangler 4y ago
I really enjoyed reading this, especially the little branches off into other useful topics and tools. Here are my notes as a summary:
Good blog write up about reversing Reolink B800 IP camera
end result: https://github.com/thirtythreeforty/neolink https://github.com/thirtythreeforty/neolink
tools used:
* wireshark & dissector in Lua https://mika-s.github.io/wireshark/lua/dissector/2017/11/04/creating-a-wireshark-dissector-in-lua-1.html https://mika-s.github.io/wireshark/lua/dissector/2017/11/04/...
* binwalk
* visualize the BIN for blank space, code, etc. https://binvis.io/#/ https://binvis.io/#/
* buildroot to make custom: gdbserver, busybox with all the fixin’s, and strace
* disassemble / decompile MIPS with https://ghidra-sre.org/ https://ghidra-sre.org/
* using tcpsvd as tcp wrapper for FTPD in custom image
* quick setup env with "expect" script: https://www.thirtythreeforty.net/posts/2020/05/hacking-reolink-cameras-for-fun-and-profit/start-debug.exp https://www.thirtythreeforty.net/posts/2020/05/hacking-reoli...
* using gdb Dynamic Print commands to target certain functions.
The dynamic printf command dprintf combines a breakpoint with formatted printing of your program’s data to give you the effect of inserting printf calls into your program on-the-fly, without having to recompile it. https://doc.ecoscentric.com/gnutools/doc/gdb/Dynamic-Printf.html https://doc.ecoscentric.com/gnutools/doc/gdb/Dynamic-Printf....
* busybox has a watchdog minder, used like: watchdog /dev/watchdog
* background info on Baichuan protocol
* wrote new client software in Rust. https://github.com/thirtythreeforty/neolink/blob/master/src/main.rs https://github.com/thirtythreeforty/neolink/blob/master/src/...
* Gstreamer with RTSP server (in Rust!)
* using it with Blue Iris nvr software