首页
社区
课程
招聘
未解决 [求助]到底是什么问题,是被编译器坑了吗?
发表于: 2019-8-21 14:38 2544

未解决 [求助]到底是什么问题,是被编译器坑了吗?

2019-8-21 14:38
2544
下面是网易ncm音乐的文件头,我尝试编译出解码程序。
程序编译通过,运行报错。是编译器的问题,还是我用的不对啊?

00000000   43 54 45 4E 46 44 41 4D  01 61 90 00 00 00 2C CE   CTENFDAM a?  ,?
00000010   D5 EB 69 EA FB 14 55 0D  45 BF 61 DD 17 1D 44 B4   针i犒 U E縜? D?
00000020   BA 1E AB 1A B6 9B 5D F1  6B 1B CF 20 29 8C 6F AC   ??稕]駅 ?)宱?
00000030   AC 9B 97 73 63 4B 1A D7  44 57 5D 1A F3 31 0D 90   瑳梥cK 譊W] ? ?
00000040   DC F1 11 35 9F 4C 00 BB  8A 05 A0 BF B2 EF 99 03   荞 5烲 粖 牽诧?
00000050   1A 36 F5 DF 0C 97 DA 84  DD 25 49 D7 03 D8 25 F5    6踹 椱勢%I???
00000060   E0 52 C7 4E A9 9D 03 00  E8 B4 33 C8 16 AF 67 C1   郣荖  璐3?痝?
00000070   C9 B6 44 0A 85 D8 90 56  00 24 2B 54 AC D3 C0 9D   啥D 呚怴 $+T罎
00000080   BA 1D E7 89 5C 44 79 D4  0C 6C 70 17 A3 0E FC 12   ?鐗\Dy?lp ??
00000090   9A C3 A1 DB DC B6 B6 DE  9B 28 B2 41 33 D4 02 02   毭≯芏掇?睞3?
000000A0   00 00 52 55 50 43 08 06  1A 4B 27 0C 0D 44 17 43     RUPC   K'  D C
000000B0   0E 0C 07 0A 05 1A 4A 59  00 26 04 17 12 2B 1B 14         JY &   +



int
process_file(const char *path) {
        uint32_t ulen = 0;
        int i;
        FILE *f = fopen(path, "r");
        fread(&ulen, sizeof(ulen), 1, f);
                if (ulen != (uint32_t)0x4e455443) {
                printf("isn't netease cloud music copyright file!\n");
                return 1;
        }
        fread(&ulen, sizeof(ulen), 1, f);
        if (ulen != (uint32_t)0x4d414446) {
                printf("isn't netease cloud music copyright file!\n");
                return 1;
        }

        fseek(f, 2, SEEK_CUR);
        uint32_t key_len = 0;

        fread(&key_len, sizeof(key_len), 1, f);

        printf("%08X\n",key_len);        // debug
//      这里是应该显示00000090吧,我printf的输入不是这个值

        uint8_t key_data[key_len];       // 这里出错了,运行到这里程序报异常,
                                         // 我不知道错在哪里?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//