运行情况
文件信息
文件: C:\Users\Administrator\Desktop\md5碰撞生成\a.exe
大小: 2688 字节
MD5: 31ECBC6D0FF16D8157936B7A93E8F0A6
SHA1: A0471A7DD0383D4101A191CC6D7D4AA8B2377D20
CRC32: 10DB9554
文件: C:\Users\Administrator\Desktop\md5碰撞生成\b.exe
大小: 2688 字节
MD5: 31ECBC6D0FF16D8157936B7A93E8F0A6
SHA1: FEC023CC1A42B8CAA81CF0481B4963FC55BBE3B4
CRC32: 3882AB86
#include <stdio.h>
int chkfile(char *path)
{
unsigned char val = 0;
FILE *fp = fopen(path, "rb");
if(!fp) return 0;
fseek(fp, -0x6d, SEEK_END);
fread(&val, 1, 1, fp);
fclose(fp);
return val<0x80;
}
int main(int argc, char *argv[])
{
if(chkfile(argv[0]))
{
puts("一切正常");
}
else
{
puts("有点小问题");
}
getchar();
return 0;
}
说明
通过 fastcoll_v1.0.0.5 对同一文件构造不同后缀, 程序通过获取自身后缀信息改变执行流程
fastcoll_v1.0.0.5 是由几位密码学家编写的“快速 MD5 碰撞生成器”, 个人计算机在几秒时间即可通过对同一文件构造不同后缀生成相同MD5值, 但此MD5值与原先文件MD5值无法保持一致.
下载地址: http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip
源代码: http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5_source.zip