From 79be228610c5e6ba890ee8881fdfaed8a2578c60 Mon Sep 17 00:00:00 2001 From: Misty Date: Sat, 13 Jun 2020 22:03:59 +0800 Subject: [PATCH] Initial commit --- analysis/MiWifiFirmware.bt | 47 ++ analysis/mkxqimage.i64 | Bin 0 -> 701452 bytes analysis/mkxqimage_ori | Bin 0 -> 23000 bytes mkxq | Bin 0 -> 29456 bytes mkxqimage.c | 1173 ++++++++++++++++++++++++++++++++++++ 5 files changed, 1220 insertions(+) create mode 100644 analysis/MiWifiFirmware.bt create mode 100644 analysis/mkxqimage.i64 create mode 100644 analysis/mkxqimage_ori create mode 100644 mkxq create mode 100644 mkxqimage.c diff --git a/analysis/MiWifiFirmware.bt b/analysis/MiWifiFirmware.bt new file mode 100644 index 0000000..bdf3bd6 --- /dev/null +++ b/analysis/MiWifiFirmware.bt @@ -0,0 +1,47 @@ +//------------------------------------------------ +//--- 010 Editor v10.0 Binary Template +// +// File: MiWifiFirmware.bt +// Authors: Misty +// Version: 1.0.0 +// Purpose: Decode xiaomi router's file structure +// Category: +// File Mask: +// ID Bytes: 48 44 52 31 +// History: +//------------------------------------------------ + +struct MiRomHdr { + uint32 magic; + uint32 rsaLen; + uint32 crc; + short romType; // 0 - normal, 12 - ssh + short model; +} hdr; + +struct MiRomFile { + uint16 magic; + uint16 rsvd0; + uint32 flashaddr; + uint32 filesize; + uint16 mtdid; // /dev/mtd%d + uint16 unk5; + char name[32]; + char data[filesize]; +}; + +uint32 fileOffs[8]; + +local int i; +for (i = 0; i < 8; i++) { + if (fileOffs[i] != 0) { + FSeek(fileOffs[i]); + MiRomFile file; + } +} +FSeek(hdr.rsaLen); +struct MiRomSig { + uint32 sigsize; + char unk[12]; + char sigdata[sigsize]; +} sig; diff --git a/analysis/mkxqimage.i64 b/analysis/mkxqimage.i64 new file mode 100644 index 0000000000000000000000000000000000000000..de9a0767d0c220a029cc392e1e4ae16bbf110877 GIT binary patch literal 701452 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%0Awzxym@bUTfs_YQ9!PoM|C9&x7hK%rtv*{= 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 det>T|l7-D~vYS9+Xjwoj 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 literal 0 HcmV?d00001 diff --git a/mkxq b/mkxq new file mode 100644 index 0000000000000000000000000000000000000000..d87781ad36bce9ae793946a2dd82e9a777858edd GIT binary patch literal 29456 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 literal 0 HcmV?d00001 diff --git a/mkxqimage.c b/mkxqimage.c new file mode 100644 index 0000000..948e837 --- /dev/null +++ b/mkxqimage.c @@ -0,0 +1,1173 @@ +/* This file was generated by the Hex-Rays decompiler. + Copyright (c) 2007-2020 Hex-Rays + + Detected compiler: GNU C++ +*/ +//#include "defs.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +typedef struct __attribute__((aligned(4))) +{ + uint32_t magic; + uint32_t rsaLen; + uint32_t crc32sum; + uint16_t romType; + int16_t model; + uint32_t fileOffs[8]; +} MiRomHdr; + +typedef struct +{ + uint16_t magic; + uint16_t rsvd0; + uint32_t flashaddr; + uint32_t filesize; + uint16_t mtdid; + uint16_t unk5; + char name[32]; +} MiRomFile; + + + +//------------------------------------------------------------------------- +// Function declarations +void error_exit(); +size_t util_get_file_len(FILE *a1); +int util_check_model_idx(int16_t model_idx); +int main(int argc, const char **argv, const char **envp); +int for_each_file(FILE *f, int (*callback)(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata), void *userData); +int load_image(FILE *f, int disableVerify); +int command_verify_image(const char *filename); +int extract_normal_rom_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata); +int command_extract_file(const char *filename, const char *sshFile, int disableVerify, const char *fname, int outputToFile); +int flash_mtd_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata); +int command_mtd_flash(const char *filename, int needVerify); +int dump_file_desc(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata); +int command_list_files(const char *image, const char *a2); +int get_version_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata); +int command_get_image_version(const char *a1); +int command_get_ssh_key(); +unsigned int crc32_update(uint8_t *buf, int64_t size, unsigned int state); +uint32_t calc_crc32(FILE *f, int start, unsigned int size); +int64_t init_pkey(EVP_MD_CTX *ctx, RSA **pem, EVP_PKEY **ppkey, int isSsh); // idb +int j_verify_rsa(FILE *f, unsigned int start, unsigned int size, const unsigned char *sigbuf, unsigned int siglen, unsigned int isSsh); +int verify_rsa(FILE *f, int start, unsigned int size, const unsigned char *sigbuf, unsigned int siglen, unsigned int isSsh); +int64_t write_buf(int fd, void *buf, unsigned int size); +int open_and_erase_mtd(unsigned int mtdId); +int64_t calcMd5(unsigned char *a1, const char *a2); +int64_t transpostGuid(uint8_t *a1, char *outbuf); +int64_t get_ssh_key(); +int extract_ssh_rom_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata); + +//------------------------------------------------------------------------- +// Data declarations + +uint32_t crc32_table[256] = +{ + 0, 0x77073096, 0xEE0E612C, 0x990951BA, + 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, + 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, + 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, + 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, + 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, + 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, + 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, + 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, + 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, + 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, + 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, + 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, + 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, + 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, + 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, + 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, + 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, + 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, + 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, + 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, + 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, + 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, + 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, + 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, + 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, + 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, + 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, + 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, + 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, + 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, + 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, + 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D +}; + + +char *model_nr[30] = +{ + "NULL", + "NULL", + "NULL", + "R1CM", + "R2D", + "R1CL", + "R2CM", + "R3", + "R3D", + "R3L", + "R3P", + "P01", + "R3A", + "R3G", + "R4", + "R4C", + "D01", + "R4A", + "R4CM", + "R4AC", + "R3GV2", + "R2600", + "R2100", + "RM2100", + "R3600", + "R1350", + "R2200", + "R2350", + "IR1200G", + "R1800" +}; // weak +int max_model_nr = 30; // weak + +//----- (0000000000401730) ---------------------------------------------------- +void error_exit() +{ + fwrite("Ouch!\n", 1u, 6u, stderr); + exit(1); +} + +//----- (00000000004017A4) ---------------------------------------------------- +size_t util_get_file_len(FILE *a1) +{ + size_t v3; // [xsp+28h] [xbp+28h] + int v4; // [xsp+2Ch] [xbp+2Ch] + + v4 = ftell(a1); + fseek(a1, 0LL, 2); + v3 = ftell(a1); + fseek(a1, v4, 0); + return v3; +} + +//----- (00000000004017F8) ---------------------------------------------------- +int util_check_model_idx(int16_t model_idx) +{ + int result; // w0 + char v3[8]; // [xsp+20h] [xbp+20h] BYREF + FILE *stream; // [xsp+28h] [xbp+28h] + + memset(v3, 0, 8); + stream = popen("cat /proc/xiaoqiang/model", "r"); + if ( stream ) + { + if ( fgets(v3, 8, stream) ) + { + pclose(stream); + if ( model_idx < max_model_nr ) + { + result = strcmp(v3, model_nr[model_idx]); + } + else + { + fprintf( + stderr, + "Illegal model: model_idx=%d,max_model_nr=%d \n", + (unsigned int)model_idx, + (unsigned int)max_model_nr); + result = -1; + } + } + else + { + fwrite("Failed to get model \n", 1u, 0x15u, stderr); + result = -1; + } + } + else + { + fwrite("Failed to run command\n", 1u, 0x16u, stderr); + result = -1; + } + return result; +} + +//----- (0000000000401918) ---------------------------------------------------- +int main(int argc, const char **argv, const char **envp) +{ + int v6; // [xsp+20h] [xbp+20h] + int ret; // [xsp+24h] [xbp+24h] + const char *filename; // [xsp+28h] [xbp+28h] + const char *a2; // [xsp+30h] [xbp+30h] + const char *file; // [xsp+38h] [xbp+38h] + int toStdout; // [xsp+44h] [xbp+44h] + int disableVerify; // [xsp+48h] [xbp+48h] + int mode; // [xsp+4Ch] [xbp+4Ch] + + mode = -1; + disableVerify = 0; + toStdout = 0; + file = 0LL; + a2 = 0LL; + filename = 0LL; + OPENSSL_add_all_algorithms_noconf(); + while ( 1 ) + { + v6 = getopt(argc, (char *const *)argv, "-v:x:w:c:V:Io:s:m:t:p:f:S:rn"); + if ( v6 == -1 ) + break; + switch ( v6 ) + { + case 'I': + mode = 6; + continue; + case 'S': + a2 = optarg; + continue; + case 'V': + mode = 5; + filename = optarg; + continue; + case 'c': + mode = 4; + filename = optarg; + continue; + case 'f': + if ( mode != 2 && mode != 4 ) + continue; + if ( file ) + { + fwrite("Multiple files specified\n", 1u, 0x19u, stderr); + return -22; + } + file = optarg; + break; + case 'n': + toStdout = 1; + continue; + case 'r': + disableVerify = 1; + continue; + case 'v': + mode = 1; + filename = optarg; + continue; + case 'w': + mode = 3; + filename = optarg; + continue; + case 'x': + mode = 2; + filename = optarg; + continue; + default: + error_exit(); + } + } + switch ( mode ) + { + case 1: + ret = command_verify_image(filename); + break; + case 2: + ret = command_extract_file(filename, a2, disableVerify, file, toStdout); + break; + case 3: + ret = command_mtd_flash(filename, disableVerify); + break; + case 4: + ret = command_list_files(filename, file); + break; + case 5: + ret = command_get_image_version(filename); + break; + case 6: + ret = command_get_ssh_key(); + break; + default: + error_exit(); + } + return ret; +} + +//----- (0000000000401BAC) ---------------------------------------------------- +int for_each_file(FILE *f, int (*callback)(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata), void *userData) +{ + MiRomFile filehdr; // [xsp+30h] [xbp+30h] BYREF + MiRomHdr buf; // [xsp+60h] [xbp+60h] BYREF + size_t readret; // [xsp+90h] [xbp+90h] + unsigned int off; // [xsp+94h] [xbp+94h] + int ret; // [xsp+98h] [xbp+98h] + int fileid; // [xsp+9Ch] [xbp+9Ch] + + ret = 0; + off = 0; + if ( !callback ) + return -1; + rewind(f); + readret = fread(&buf, 1u, 0x30u, f); + if ( ferror(f) ) + return 0xFFFFFFFB; + for ( fileid = 0; fileid <= 7; ++fileid ) + { + off = buf.fileOffs[fileid]; + if ( !off ) + break; + ret = fseek(f, off, 0); + if ( ret ) + break; + readret = fread(&filehdr, 1u, 0x30u, f); + if ( readret != 48 ) + return -5; + ret = callback(&buf, (unsigned char)fileid, &filehdr, f, userData); + if ( ret ) + return ret; + } + return ret; +} + +//----- (0000000000401D08) ---------------------------------------------------- +int load_image(FILE *f, int disableVerify) +{ + unsigned char sigbuf[4096]; // [xsp+20h] [xbp+20h] BYREF + size_t sigsize[4]; // [xsp+1020h] [xbp+1020h] BYREF + MiRomHdr hdr; // [xsp+1030h] [xbp+1030h] BYREF + uint32_t crcret; // [xsp+1064h] [xbp+1064h] + short model_idx; // [xsp+106Ah] [xbp+106Ah] + size_t ret; // [xsp+106Ch] [xbp+106Ch] + size_t len; // [xsp+1070h] [xbp+1070h] + uint16_t v12; // [xsp+1076h] [xbp+1076h] + unsigned int isSsh; // [xsp+1078h] [xbp+1078h] + int verify_ret; // [xsp+107Ch] [xbp+107Ch] + + memset(sigbuf, 0, sizeof(sigbuf)); + v12 = -1; + verify_ret = 0; + len = 0; + isSsh = 0; + rewind(f); + ret = fread(&hdr, 1u, 0x30u, f); + if ( ret != 0x30 ) + return 0xFFFFFFFB; + if ( hdr.magic != '1RDH' ) + { + fwrite("Invalid image block\n", 1u, 0x14u, stderr); + return -22; + } + model_idx = hdr.model; + if ( util_check_model_idx(hdr.model) ) + { + fwrite("Model mismatch\n", 1u, 0xFu, stderr); + return -22; + } + len = util_get_file_len(f); + rewind(f); + crcret = calc_crc32(f, 12, len - 12); + if ( hdr.crc32sum != crcret ) + { + fwrite("Image checksum is invalid\n", 1u, 0x1Au, stderr); + return -22; + } + v12 = hdr.romType; + if ( hdr.romType == 12 ) + isSsh = 1; + if ( disableVerify ) + { + verify_ret = 0; + } + else + { + fseek(f, hdr.rsaLen, SEEK_SET); + ret = fread(sigsize, 1u, 0x10u, f); + if ( ret != 16 ) + return -5; + ret = fread(sigbuf, 1u, sigsize[0], f); + if ( sigsize[0] != ret ) + return -5; + rewind(f); + verify_ret = j_verify_rsa(f, 12u, hdr.rsaLen - 12, sigbuf, sigsize[0], isSsh); + } + if ( !verify_ret ) + return 0; + fwrite("Image verify failed, not formal image\n", 1u, 0x26u, stderr); + return -22; +} + +//----- (0000000000401FBC) ---------------------------------------------------- +int command_verify_image(const char *filename) +{ + FILE *stream; // [xsp+20h] [xbp+20h] + int v4; // [xsp+2Ch] [xbp+2Ch] + + stream = fopen(filename, "r"); + if ( stream ) + { + v4 = load_image(stream, 0); + fclose(stream); + } + else + { + fprintf(stderr, "can not open \"%s\" for reading\n", filename); + v4 = -2; + } + return v4; +} + +//----- (0000000000402048) ---------------------------------------------------- +int extract_normal_rom_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata) +{ + int64_t v5; // x0 + size_t v9; // [xsp+4Ch] [xbp+4Ch] + void *ptr; // [xsp+50h] [xbp+50h] + char *fname; // [xsp+58h] [xbp+58h] + int v13; // [xsp+6Ch] [xbp+6Ch] + size_t chunksize; // [xsp+70h] [xbp+70h] + uint32_t filesize; // [xsp+74h] [xbp+74h] + FILE *s; // [xsp+78h] [xbp+78h] + + v13 = 0; + fname = *(char **)userdata; + if ( fildhdr->filesize <= 7 || fildhdr->magic != 0xBABE ) + return 0; + if ( fname && strcmp(fildhdr->name, fname) ) + return 0; + if ( *((uint32_t *)userdata + 2) ) + { + s = (FILE *)stdout; + } + else + { + s = fopen(fildhdr->name, "w"); + if ( !s ) + { + fprintf(stderr, "can not open \"%s\" for writing\n", fildhdr->name); + return -5; + } + } + ptr = malloc(0x10000u); + if ( ptr ) + { + filesize = fildhdr->filesize; + while ( filesize ) + { + v9 = fread(ptr, 1u, 0x10000u, f); + if ( filesize < v9 ) + { + chunksize = filesize; + v5 = fwrite(ptr, filesize, 1u, s); + } + else + { + chunksize = v9; + v5 = fwrite(ptr, v9, 1u, s); + } + if ( !v5 || fflush(s) ) + { + fwrite("fwrite failed\n", 1u, 0xEu, stderr); + v13 = -5; + goto LABEL_26; + } + filesize -= chunksize; + if ( feof(f) && filesize ) + { + fwrite("File too short while required write length too long\n", 1u, 0x34u, stderr); + v13 = -5; + goto LABEL_26; + } + } + if ( fname ) + v13 = 1; +LABEL_26: + free(ptr); + } + else + { + fwrite("malloc failed\n", 1u, 0xEu, stderr); + v13 = -12; + } + if ( !*((uint32_t *)userdata + 2) ) + fclose(s); + return v13; +} +// 414DC8: using guessed type int64_t stdout; + +//----- (00000000004022F8) ---------------------------------------------------- +int command_extract_file(const char *filename, const char *sshFile, int disableVerify, const char *fname, int outputToFile) +{ + void *v10[2]; // [xsp+38h] [xbp+38h] BYREF + MiRomHdr hdr; // [xsp+48h] [xbp+48h] BYREF + size_t v12; // [xsp+78h] [xbp+78h] + uint16_t v13; // [xsp+7Eh] [xbp+7Eh] + FILE *stream; // [xsp+80h] [xbp+80h] + int ret; // [xsp+8Ch] [xbp+8Ch] + + ret = 0; + v13 = 0; + v10[1] = (void *)outputToFile; + v10[0] = fname; + stream = fopen(filename, "r"); + if ( stream ) + { + ret = load_image(stream, disableVerify); + if ( !ret ) + { + rewind(stream); + v12 = fread(&hdr, 1u, 0x30u, stream); + if ( v12 == 48 ) + { + v13 = hdr.romType; + if ( hdr.romType == 12 ) + ret = for_each_file(stream, extract_ssh_rom_callback, (void *)sshFile); + else + ret = for_each_file(stream, extract_normal_rom_callback, v10); + if ( fname ) + { + if ( ret <= 0 ) + { + if ( !ret ) + ret = -2; + } + else + { + ret = 0; + } + } + } + else + { + ret = -5; + } + } + fclose(stream); + } + else + { + fprintf(stderr, "can not open \"%s\" for reading\n", filename); + ret = -2; + } + return ret; +} + +//----- (0000000000402484) ---------------------------------------------------- +int flash_mtd_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata) +{ + unsigned int v8; // [xsp+44h] [xbp+44h] + void *buf; // [xsp+48h] [xbp+48h] + int fd; // [xsp+50h] [xbp+50h] + int v11; // [xsp+54h] [xbp+54h] + unsigned int size; // [xsp+58h] [xbp+58h] + unsigned int filesize; // [xsp+5Ch] [xbp+5Ch] + + v11 = 0; + if ( fildhdr->filesize <= 7 || fildhdr->magic != 0xBABE ) + return v11; + if ( fildhdr->mtdid == 0xFFFF ) + { + printf("Skip offset[%hhu]\n", (unsigned char)fileid); + } + else + { + fd = open_and_erase_mtd(fildhdr->mtdid); + buf = malloc(0x10000u); + if ( buf ) + { + filesize = fildhdr->filesize; + while ( filesize ) + { + v8 = fread(buf, 1u, 0x10000u, f); + if ( filesize < v8 ) + { + size = filesize; + write_buf(fd, buf, filesize); + } + else + { + size = v8; + write_buf(fd, buf, v8); + } + filesize -= size; + if ( feof(f) && filesize ) + { + fwrite("File too short while required write length too long\n", 1u, 0x34u, stderr); + free(buf); + v11 = -5; + break; + } + } + } + else + { + fwrite("malloc failed\n", 1u, 0xEu, stderr); + v11 = -12; + } + close(fd); + } + return v11; +} + +//----- (0000000000402628) ---------------------------------------------------- +int command_mtd_flash(const char *filename, int needVerify) +{ + FILE *stream; // [xsp+20h] [xbp+20h] + int v6; // [xsp+2Ch] [xbp+2Ch] + + stream = fopen(filename, "r"); + if ( stream ) + { + v6 = load_image(stream, needVerify); + if ( !v6 ) + { + system("nvram set flashing=1"); + system("nvram commit"); + v6 = for_each_file(stream, flash_mtd_callback, 0LL); + if ( !v6 ) + { + system("nvram unset flashing"); + system("nvram commit"); + fwrite("system will reboot\n", 1u, 0x13u, stderr); + reboot(0x1234567); + } + } + fclose(stream); + } + else + { + fprintf(stderr, "can not open \"%s\" for reading\n", filename); + v6 = -2; + } + return v6; +} + +//----- (0000000000402754) ---------------------------------------------------- +int dump_file_desc(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata) +{ + if ( !(uint8_t)fileid ) + { + if ( hdr->magic != '1RDH' ) + { + printf("Invalid MAGIC 0x%x, 0x%x\n", hdr->magic, 827475016LL); + return 0xFFFFFFEA; + } + printf("version %d, file type: %d\n", hdr->model, hdr->romType); + } + if ( userdata && strcmp(fildhdr->name, (const char *)userdata) ) + return 0; + printf("Segment %d: Offset 0x%x\n", (unsigned char)fileid, hdr->fileOffs[(unsigned char)fileid]); + if ( fildhdr->magic == 0xBABE ) + { + printf("Filename %s\n", fildhdr->name); + printf("Flash addr = 0x%x, length = 0x%x, partition = %d\n", fildhdr->flashaddr, fildhdr->filesize, fildhdr->mtdid); + if ( userdata ) + return 1; + } + else + { + printf("Invalid sub MAGIC,magic:0x%x le_mag:0x%x rsvd0:0x%x\n", fildhdr->magic, fildhdr->magic, fildhdr->rsvd0); + } + return 0; +} + +//----- (00000000004028E0) ---------------------------------------------------- +int command_list_files(const char *image, const char *a2) +{ + FILE *stream; // [xsp+20h] [xbp+20h] + int v6; // [xsp+2Ch] [xbp+2Ch] + + stream = fopen(image, "r"); + if ( stream ) + { + v6 = for_each_file(stream, dump_file_desc, (void *)a2); + if ( a2 ) + { + if ( v6 <= 0 ) + { + if ( !v6 ) + v6 = -2; + } + else + { + v6 = 0; + } + } + fclose(stream); + } + else + { + fprintf(stderr, "can not open \"%s\" for reading\n", image); + v6 = -2; + } + return v6; +} + +//----- (00000000004029B0) ---------------------------------------------------- +int get_version_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata) +{ + char *ptr; // [xsp+50h] [xbp+50h] + uint32_t size; // [xsp+58h] [xbp+58h] + int size_4; // [xsp+5Ch] [xbp+5Ch] + + size_4 = 0; + if ( fildhdr->filesize <= 7 || fildhdr->magic != 47806 ) + return 0; + size = fildhdr->filesize; + if ( strcmp(fildhdr->name, "xiaoqiang_version") ) + return size_4; + if ( malloc(0x10000u) && (ptr = (char *)malloc(size)) != 0LL ) + { + if ( fread(ptr, 1u, size, f) == size ) + { + printf("%s", ptr); + size_4 = 1; + } + else + { + size_4 = -5; + } + free(ptr); + } + else + { + fwrite("malloc failed\n", 1u, 0xEu, stderr); + size_4 = -12; + } + return size_4; +} + +//----- (0000000000402B20) ---------------------------------------------------- +int command_get_image_version(const char *a1) +{ + FILE *stream; // [xsp+20h] [xbp+20h] + int v4; // [xsp+2Ch] [xbp+2Ch] + + stream = fopen(a1, "r"); + if ( stream ) + { + v4 = for_each_file(stream, get_version_callback, 0LL); + if ( v4 <= 0 ) + { + if ( !v4 ) + v4 = -2; + } + else + { + v4 = 0; + } + fclose(stream); + } + else + { + fprintf(stderr, "can not open \"%s\" for reading\n", a1); + v4 = -2; + } + return v4; +} + +//----- (0000000000402BE0) ---------------------------------------------------- +int command_get_ssh_key() +{ + get_ssh_key(); + return 0; +} + +//----- (0000000000402C78) ---------------------------------------------------- +unsigned int crc32_update(uint8_t *buf, int64_t size, unsigned int state) +{ + while ( size ) + { + state = crc32_table[(unsigned char)(*buf ^ state)] ^ (state >> 8); + --size; + ++buf; + } + return state; +} + +//----- (0000000000402CF4) ---------------------------------------------------- +uint32_t calc_crc32(FILE *f, int start, unsigned int size) +{ + uint32_t result; // w0 + unsigned int v6; // [xsp+24h] [xbp+24h] + uint8_t *ptr; // [xsp+28h] [xbp+28h] + unsigned int chunk_size; // [xsp+34h] [xbp+34h] + unsigned int crc; // [xsp+3Ch] [xbp+3Ch] + + crc = -1; + ptr = malloc(0x10000u); + if ( ptr ) + { + fseek(f, start, 0); + while ( size ) + { + v6 = fread(ptr, 1u, 0x10000u, f); + if ( size < v6 ) + chunk_size = size; + else + chunk_size = v6; + crc = crc32_update(ptr, chunk_size, crc); + size -= chunk_size; + if ( feof(f) && size ) + { + fwrite("File too short while required CRC length too long\n", 1u, 0x32u, stderr); + return 1; + } + } + free(ptr); + rewind(f); + result = crc; + } + else + { + fwrite("malloc failed\n", 1u, 0xEu, stderr); + result = 1; + } + return result; +} + +//----- (0000000000402E4C) ---------------------------------------------------- +int64_t init_pkey(EVP_MD_CTX *ctx, RSA **pem, EVP_PKEY **ppkey, int isSsh) +{ + int64_t result; // x0 + const EVP_MD *algo; // x0 + FILE *stream; // [xsp+38h] [xbp+38h] + + if ( isSsh == 1 ) + stream = fopen("/usr/share/xiaoqiang/public_ssh.pem", "rb"); + else + stream = fopen("/usr/share/xiaoqiang/public.pem", "rb"); + if ( stream ) + { + *pem = PEM_read_RSA_PUBKEY(stream, 0LL, 0LL, 0LL); + if ( *pem ) + { + fclose(stream); + *ppkey = EVP_PKEY_new(); + if ( *ppkey ) + { + if ( EVP_PKEY_set1_RSA(*ppkey, *pem) == 1 ) + { + EVP_MD_CTX_init(ctx); + algo = EVP_sha1(); + if ( EVP_DigestInit_ex(ctx, algo, 0LL) == 1 ) + { + result = 0LL; + } + else + { + fwrite("error EVP_VerfyInit_ex\n", 1u, 0x17u, stderr); + RSA_free(*pem); + EVP_PKEY_free(*ppkey); + result = 0xFFFFFFFFLL; + } + } + else + { + fwrite("error EVP_PKEY_st1_RSA\n", 1u, 0x17u, stderr); + RSA_free(*pem); + EVP_PKEY_free(*ppkey); + result = 0xFFFFFFFFLL; + } + } + else + { + fwrite("error EVP_PEKY_new\n", 1u, 0x13u, stderr); + RSA_free(*pem); + result = 0xFFFFFFFFLL; + } + } + else + { + fwrite("error PEM_read_RSAPublicKey\n", 1u, 0x1Cu, stderr); + fclose(stream); + result = 0xFFFFFFFFLL; + } + } + else + { + fwrite("error fopen public key \n", 1u, 0x18u, stderr); + result = 0xFFFFFFFFLL; + } + return result; +} + +//----- (000000000040307C) ---------------------------------------------------- +int j_verify_rsa(FILE *f, unsigned int start, unsigned int size, const unsigned char *sigbuf, unsigned int siglen, unsigned int isSsh) +{ + return verify_rsa(f, start, size, sigbuf, siglen, isSsh); +} + +//----- (00000000004030C0) ---------------------------------------------------- +int verify_rsa(FILE *f, int start, unsigned int size, const unsigned char *sigbuf, unsigned int siglen, unsigned int isSsh) +{ + int result; // w0 + EVP_PKEY *pkey; // [xsp+30h] [xbp+30h] BYREF + RSA *pem; // [xsp+38h] [xbp+38h] BYREF + EVP_MD_CTX ctx; // [xsp+40h] [xbp+40h] BYREF + unsigned int v15; // [xsp+74h] [xbp+74h] + void *buf; // [xsp+78h] [xbp+78h] + size_t cnt; // [xsp+84h] [xbp+84h] + unsigned int v18; // [xsp+88h] [xbp+88h] + int v19; // [xsp+8Ch] [xbp+8Ch] + + v18 = size; + cnt = 0; + pkey = 0LL; + buf = malloc(0x10000u); + if ( buf ) + { + v19 = init_pkey(&ctx, &pem, &pkey, isSsh); + if ( v19 ) + { + fwrite("malloc failed\n", 1u, 0xEu, stderr); + result = 1; + } + else + { + fseek(f, start, 0); + while ( v18 ) + { + v15 = fread(buf, 1u, 0x10000u, f); + if ( v18 < v15 ) + cnt = v18; + else + cnt = v15; + if ( EVP_DigestUpdate(&ctx, buf, cnt) != 1 )// EVP_VerifyUpdate + { + fwrite("error EVP_VerifyUpdate\n", 1u, 0x17u, stderr); + v19 = 1; + goto finish; + } + v18 -= cnt; + if ( feof(f) && v18 ) + { + fwrite("File too short while required RSA length too long\n", 1u, 0x32u, stderr); + v19 = 1; + goto finish; + } + } + if ( EVP_VerifyFinal(&ctx, sigbuf, siglen, pkey) == 1 ) + { + v19 = 0; + } + else + { + fwrite("error EVP_VerifyFinal\n", 1u, 0x16u, stderr); + v19 = 1; + } +finish: + rewind(f); + free(buf); + RSA_free(pem); + EVP_PKEY_free(pkey); + EVP_MD_CTX_cleanup(&ctx); + result = v19; + } + } + else + { + fwrite("malloc failed\n", 1u, 0xEu, stderr); + result = 1; + } + return result; +} + +//----- (0000000000403318) ---------------------------------------------------- +int64_t write_buf(int fd, void *buf, unsigned int size) +{ + signed int i; // [xsp+2Ch] [xbp+2Ch] + + for ( i = 0; i < (int)size; i += write(fd, (char *)buf + i, size - i) ) + ; + return size; +} + +//----- (0000000000403394) ---------------------------------------------------- +int open_and_erase_mtd(unsigned int mtdId) +{ + char v3[16]; // [xsp+20h] [xbp+20h] BYREF + unsigned int i; // [xsp+30h] [xbp+30h] BYREF + unsigned int v5; // [xsp+34h] [xbp+34h] + char v6[8]; // [xsp+38h] [xbp+38h] BYREF + unsigned int v7; // [xsp+40h] [xbp+40h] + unsigned int v8; // [xsp+44h] [xbp+44h] + int fd; // [xsp+5Ch] [xbp+5Ch] + + memset(v3, 0, sizeof(v3)); + sprintf(v3, "/dev/mtd%d", mtdId); + printf("target mtd %s\n", v3); + fd = open(v3, 2); + ioctl(fd, 0x80204D01uLL, v6); + printf("MTD Type: %x\nMTD total size: %x bytes\nMTD erase size: %x bytes\n", (unsigned char)v6[0], v7, v8); + v5 = v8; + printf("Beging Eraseing Block %#x\n", i); + for ( i = 0; i < v7; i += v5 ) + { + ioctl(fd, 0x40084D06uLL, &i); + ioctl(fd, 0x40084D02uLL, &i); + } + lseek(fd, 0LL, 0); + puts("End..."); + return fd; +} + +//----- (00000000004034BC) ---------------------------------------------------- +int64_t calcMd5(unsigned char *a1, const char *a2) +{ + size_t v2; // w0 + MD5_CTX v6; // [xsp+20h] [xbp+20h] BYREF + + if ( MD5_Init(&v6) ) + { + v2 = strlen(a2); + if ( MD5_Update(&v6, a2, v2) ) + { + if ( MD5_Final(a1, &v6) ) + return 0LL; + puts("MD5_Final error"); + } + else + { + puts("MD5_Update error"); + } + } + else + { + puts("MD5_Init error"); + } + return 0xFFFFFFFFLL; +} + +//----- (000000000040355C) ---------------------------------------------------- +int64_t transpostGuid(uint8_t *a1, char *outbuf) +{ + char *v2; // x0 + int64_t result; // x0 + char mat[8][32]; // [xsp+28h] [xbp+28h] BYREF + size_t n; // [xsp+12Ch] [xbp+12Ch] + char *curRow; // [xsp+130h] [xbp+130h] + int rowI; // [xsp+138h] [xbp+138h] + unsigned int row; // [xsp+13Ch] [xbp+13Ch] + char a9[32]; // [xsp+140h] [xbp+140h] BYREF + + row = 0; + rowI = 0; + n = 0; + memset(mat, 0, sizeof(mat)); + while ( *a1 ) + { + if ( *a1 == '-' ) + { + a9[32 * row++ - 0x118 + rowI] = 0; + rowI = 0; + } + else + { + a9[32 * row - 0x118 + rowI++] = *a1; + } + ++a1; + } + a9[32 * row - 0x118 + rowI] = 0; + curRow = outbuf; + while ( 1 ) + { + result = row; + if ( (row & 0x80000000) != 0 ) + break; + n = strlen(mat[row]); + strncpy(curRow, mat[row], n); + curRow += (int)n; + if ( row ) + { + v2 = curRow++; + *v2 = '-'; + } + else + { + *curRow = 0; + } + --row; + } + return result; +} + +//----- (00000000004036EC) ---------------------------------------------------- +int64_t get_ssh_key() +{ + char magic[100]; // [xsp+EA8h] [xbp+18h] BYREF + char snStr[100]; // [xsp+F10h] [xbp+80h] BYREF + char Sn[100]; // [xsp+F78h] [xbp+E8h] BYREF + unsigned char md5Output[16]; // [xsp+FE0h] [xbp+150h] BYREF + FILE *stream; // [xsp+FF0h] [xbp+160h] + int i; // [xsp+FFCh] [xbp+16Ch] + + memset(md5Output, 0, 16); + memset(Sn, 0, 100); + memset(snStr, 0, 100); + memset(magic, 0, 100); + stream = popen("nvram get SN", "r"); + if ( !stream ) + return puts("Failed to run command"); + while ( fgets(Sn, 100, stream) ) + sscanf(Sn, "%s", snStr); + pclose(stream); + transpostGuid("d44fb0960aa0-a5e6-4a30-250f-6d2df50a", magic); + sprintf(Sn, "%s%s", snStr, magic); + calcMd5(md5Output, Sn); + memset(Sn, 0, sizeof(Sn)); + for ( i = 0; i <= 3; ++i ) + printf("%x%x", (md5Output[i] >> 4) & 0xF, md5Output[i] & 0xF); + return puts(Sn); +} + +//----- (00000000004038A4) ---------------------------------------------------- +int extract_ssh_rom_callback(MiRomHdr *hdr, int64_t fileid, MiRomFile *fildhdr, FILE *f, void *userdata) +{ + return 1; +} + +// nfuncs=134 queued=28 decompiled=28 lumina nreq=0 worse=0 better=0 +// ALL OK, 28 function(s) have been successfully decompiled