linux中openwrt怎么使用,看了半天没头绪
本帖最后由 yun7772 于 2020-9-11 00:08 编辑手头上有一个智能摄像头(品牌不明),想改造成rtmp的摄像头,经过研究固件发现插入sd卡应该是可以自动运行一个叫manu.sh的脚本,但是需要经过tar压缩和md5验证,在md5这一块就摸不着头脑了,想请问一下给我懂linux openssl命令的,怎么样才能生成可以通过的manu.bin和md5sum.dat?
#!/bin/sh
#must to verify the sdcard
MANUFA="/mnt/sdcard/manu_test"
MANUFA_BIN="/mnt/sdcard/manu_test/manu.bin"
MANUFA_DAT="/mnt/sdcard/manu_test/md5sum.dat"
TMP_BIN="/tmp/manu.bin"
TMP_DAT="/tmp/md5sum.dat"
try_ft_mode()
{
if [ -f "${MANUFA_DAT}" ];
then
rm -rf /tmp/manu_test
rm -fr ${TMP_BIN}
rm -fr ${TMP_DAT}
echo "md5sum.dat"
# openssl smime -decrypt -in "$MANUFA_DAT" -binary -inform DEM -inkey /mnt/data/data/cfg/public-key.pem -out "$MANUFA_BIN"
#openssl rsautl -sign -in "$MANUFA_DAT" -inkey RSA.pem-passin pass:123456 -out "$MANUFA_BIN"
cp ${MANUFA_BIN} /tmp/
cp ${MANUFA_DAT} /tmp/
cd /tmp/
rm -fr md5sum1.txt
openssl rsautl -verify -in "${TMP_DAT}" -inkey /mnt/data/data/cfg/public-key.pem -pubin -out md5sum1.txt
fact_md5=`md5sum -c md5sum1.txt`
if [ "${fact_md5}" = "manu.bin: OK" ] ; then
echo "md5 ok"
rm -fr ${TMP_BIN}
tar -xf "${MANUFA_BIN}" -C /tmp/
cd /tmp/manu_test/
chmod -R 755 *
if [ -f "/tmp/manu_test/manu.sh" ]; then
/tmp/manu_test/manu.sh
return 0
else
return 1
fi
else
echo "md5 fail"
fi
fi
}
通过解包编程器固件已经修改了这段代码,顺便开放了ttl
Tips:这个摄像头其实是米家摄像头 虽然测看不懂,还是要顶一下 编辑manu.sh文件,把关于MD5验证的代码修改不就可以了吗,编辑第27行把”=“修改成”!=“,既然是要判断MD5值等于才echo OK往下继续执行,那就改成不等于才echo OK往下继续执行 慵懒丶L先森 发表于 2020-9-6 19:42
编辑manu.sh文件,把关于MD5验证的代码修改不就可以了吗,编辑第27行把”=“修改成”!=“,既然是要判断MD5 ...
这个文件是从编程器固件里面提取的,摄像机本身锁死ttl、ssh、telnet,没办法写入,就是想靠这个文件执行开放telnet的命令
页:
[1]