From 80cc752148537170734e94149bc95bbce0f1cb29 Mon Sep 17 00:00:00 2001 From: andy <1414772332@qq.com> Date: Wed, 12 Mar 2025 17:34:55 +0800 Subject: [PATCH] =?UTF-8?q?ram.bin=20=E5=8E=BB=E9=99=A4=E6=89=B0=E7=A0=81?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mfgtool/ram/src/ram.c | 184 ------------------------------------------ 1 file changed, 184 deletions(-) diff --git a/mfgtool/ram/src/ram.c b/mfgtool/ram/src/ram.c index b6f0e95..ab172f8 100644 --- a/mfgtool/ram/src/ram.c +++ b/mfgtool/ram/src/ram.c @@ -1065,186 +1065,6 @@ static int ramCalDumpAfterBurn(void) return 0; } -static int ramMatchEnctypeAndPattern(uint8_t enctype, uint8_t pattern) -{ - /* - *ret 0: The match is successful - *ret not 0: The match is failure - */ - int ret = 0; - - /* - * enctype 0 : FW not encrypted. - * enctype 3 : FW encrypted with xor. - * pattern : value for encrypting. - * HTZD FW : enctype = 0, pattern = 0x55.(default) - * JSMT FW : enctype = 3, pattern = 0xaa. - * FLX FW : enctype = 3, pattern = 0x99. - * QJ FW : enctype = 3, pattern = 0x66. - * SPE FW : enctype = 3, pattern = 0xcc. - * GX FW : enctype = 3, pattern = 0x33. - * DT FW : enctype = 3, pattern = 0xdd. - * YP FW : enctype = 3, pattern = 0xa9. - * WTZ FW : enctype = 3, pattern = 0xc6. - * TCE FW : enctype = 3, pattern = 0x93. - */ - switch (enctype) { - case 0: - switch (pattern) { - case 0x55: - /* plain image */ - if ( - /* HT */ - (g_chip_subid != CHIP_ID_HZ3201_V1A) && - (g_chip_subid != CHIP_ID_HZ3211_V1A) && - (g_chip_subid != CHIP_ID_HZ3201_RF_V1A) && - (g_chip_subid != CHIP_ID_HZ3211_RF_V1A) && - (g_chip_subid != CHIP_ID_HZ5202_V1A) && - (g_chip_subid != CHIP_ID_HZ_K48V1A) && - (g_chip_subid != CHIP_ID_HZ_K48V2A) && - (g_chip_subid != CHIP_ID_HZ_K48V3A) && - (g_chip_subid != CHIP_ID_HZ_K68V1A) && - (g_chip_subid != CHIP_ID_HZ_K68V2A) && - (g_chip_subid != CHIP_ID_HZ_K68V3A) && - /* WQ */ - (g_chip_subid != CHIP_ID_WQ3021_REVA) && - (g_chip_subid != CHIP_ID_WQ3021_REVB) && - (g_chip_subid != CHIP_ID_WQ3021_REVC) && - (g_chip_subid != CHIP_ID_WQ3021_REVD) && - (g_chip_subid != CHIP_ID_WQ3031_V1A) && - (g_chip_subid != CHIP_ID_WQ5007_REVA) && - (g_chip_subid != CHIP_ID_WQ5007_REVB) && - (g_chip_subid != CHIP_ID_WQ5106_REVB) && - (g_chip_subid != CHIP_ID_WQ_K48V2A) && - (g_chip_subid != CHIP_ID_WQ_K48V2A2) && - (g_chip_subid != CHIP_ID_WQ_K48V3A) && - (g_chip_subid != CHIP_ID_WQ_K48V3A2) && - (g_chip_subid != CHIP_ID_WQ_K48V3A3) && - (g_chip_subid != CHIP_ID_WQ_K68V3A) && - (g_chip_subid != CHIP_ID_WQ_K68V3A2) && - /* FLX */ - (g_chip_subid != CHIP_ID_FLX_K48) && - (g_chip_subid != CHIP_ID_FLX_K68)) { - /* - * HTZD FW (no xor) can be burn on FLX6610/FLX6611. - */ - ret = 3; - } - break; - default: - ret = 2; - break; - } - break; - case 3: - switch (pattern) { - case 0xaa: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_MT_K68V1B) && - (g_chip_subid != CHIP_ID_MT_K68V1BB) && - (g_chip_subid != CHIP_ID_MT_K68V2B) && - (g_chip_subid != CHIP_ID_MT_K68V2BB) && - (g_chip_subid != CHIP_ID_MT_K68V3B) && - (g_chip_subid != CHIP_ID_MT_K68V3BB) && - (g_chip_subid != CHIP_ID_MT_K68V3A)) { - ret = 3; - } - break; - case 0x99: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_FLX_K68) && - (g_chip_subid != CHIP_ID_FLX_K48) && - (g_chip_subid != CHIP_ID_FLX6710_V1A) && - (g_chip_subid != CHIP_ID_FLX6711_V1A)) { - /* - * FLX FW (xor) can be burn on FLX chip - */ - ret = 3; - } - break; - case 0x66: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_QJ5580D_V1A) && - (g_chip_subid != CHIP_ID_QJ5582D_V1A)) { - /* - * QJ FW (xor) can only be burn on QJ5580D/QJ5582D. - */ - ret = 3; - } - break; - case 0xcc: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_SPE7303_V1A) && - (g_chip_subid != CHIP_ID_SPE7301_V1A)) { - /* - * SPE FW (xor) can only be burn on SPE7303/SPE7301. - */ - ret = 3; - } - break; - case 0x33: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_GX2001_V1A) && - (g_chip_subid != CHIP_ID_GX2011_V1A)) { - /* - * GX FW (xor) can only be burn on GX2001/GX2011. - */ - ret = 3; - } - break; - case 0xdd: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_DT0530_V1A) && - (g_chip_subid != CHIP_ID_DT0531_V1A)) { - /* - * DT FW (xor) can only be burn on DT0530/DT0531. - */ - ret = 3; - } - break; - case 0xa9: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_YP8801_V1A) && - (g_chip_subid != CHIP_ID_YP8811_V1A)) { - /* - * YP FW (xor) can only be burn on YP8801/YP8811. - */ - ret = 3; - } - break; - case 0xc6: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_WTZ31C_V1A) && - (g_chip_subid != CHIP_ID_WTZ31S_V1A)) { - /* - * WTZ FW (xor) can only be burn on WTZ31C/WTZ31S. - */ - ret = 3; - } - break; - case 0x93: - /* scramble image */ - if ((g_chip_subid != CHIP_ID_TCE3202_V1A) && - (g_chip_subid != CHIP_ID_TCE3201_V1A)) { - /* - * TCE FW (xor) can only be burn on TCE3202/TCE3201. - */ - ret = 3; - } - break; - default: - ret = 2; - break; - } - break; - default: - ret = 1; - break; - } - - return ret; -} - static int ramDownloadPackage(void) { rbuf xbuf; @@ -1443,10 +1263,6 @@ static int ramDownloadPackage(void) pkg_hdr_ver_micro = (pkg_hdr_version >> 16) & 0x0F; pkg_hdr_ver_build = (pkg_hdr_version >> 0) & 0xFFFF; - if (ramMatchEnctypeAndPattern(pkg_hdr->enctype, pkg_hdr->pattern) != 0) { - ram_error_no |= RAM_IMAGE_MISMATCH_ERR; - goto ERROR_OUT; - } // 接收了3个imgheader长度,是pkgheader } else if (toltalRecieved == 3 * IMAGE_ALIGNED_SIZE) { pkg_hdr_fw_type = pkg_hdr->img_type;