
• Ví&dụ:&
&&&
7.1&Phát&hiện&thay&đổi&mã&lệnh&
121&
pFile&=&(unsigned&char*)malloc(len);&
fseek(fp,0,SEEK_SET);&
fread(pFile,1,len,fp);&
md5hash&=&0;&
for&(int&i=0;i<lent20;i++) &//&Dò&tìm&giá&trị&băm&trong&}ile&
&if&((pFile[i]=='A')&&(pFile[i+1]=='A')&& & &&
&(pFile[i+2]=='A')&&(pFile[i+3]=='A'))&
&{&
&memcpy(expectedhash,pFile+i+4,16); &//&Lưu&ra&mảng&khác&
&memset(pFile+i+4,0,16); & &//&Xóa&trắng&giá&trị&này&trong&}ile&
&}&
MD5(pFile,len,hash); &&&&//&Tính&lại&giá&trị&băm&&
&printf("File&hash:");&
&print_md5(hash); & &&&&&
&printf("Expected&hash:");&
&print_md5(expectedhash);&
&if&(memcmp(hash,expectedhash,16))&
&{&
&&printf("File&veri}ication&failed");&
&}&
&getch();&
&return&0;&
}&