yun7772 发表于 2020-9-6 17:47

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:这个摄像头其实是米家摄像头

13739666050 发表于 2020-9-6 18:30

虽然测看不懂,还是要顶一下

慵懒丶L先森 发表于 2020-9-6 19:42

编辑manu.sh文件,把关于MD5验证的代码修改不就可以了吗,编辑第27行把”=“修改成”!=“,既然是要判断MD5值等于才echo OK往下继续执行,那就改成不等于才echo OK往下继续执行

yun7772 发表于 2020-9-6 19:46

慵懒丶L先森 发表于 2020-9-6 19:42
编辑manu.sh文件,把关于MD5验证的代码修改不就可以了吗,编辑第27行把”=“修改成”!=“,既然是要判断MD5 ...

这个文件是从编程器固件里面提取的,摄像机本身锁死ttl、ssh、telnet,没办法写入,就是想靠这个文件执行开放telnet的命令
页: [1]
查看完整版本: linux中openwrt怎么使用,看了半天没头绪