# include & ltwindows.h & gt
主()
{
FILE *fp,* fp2
int i,j;//i用來記錄0到255之間的任意數,J用來記錄當前異或的字節位置。
byte *buffer,*buffer1,*buffer2,* buffer 3;//指針buffer和buffer1組合成buffer2。
//和緩沖器3
//壹個組,緩沖區指針會變,緩沖區生產會壹直指向。
buffer的第壹個字節位置,與buffer2和buffer3相同。
//理查德
buffer =(byte *)malloc(16);//將16字節分配到緩沖區指向的位置。
buffer 2 =(byte *)malloc(16 * 256);//將16*256字節分配給buffer2指向的位置。
fp = fopen("animation.cfg "," Rb ");//打開可疑的加密文件。
buffer3 = buffer2//緩沖區3保存緩沖區2的初始地址。
for(I = 0;我& lt=255;i++)
{
buffer 1 =緩沖區;//buffer1保存緩沖區的初始地址。
fseek(fp,0,0);//重新定位到animation.cfg文件的開頭。
fread(buffer1,16,1,FP);//將animation.cfg文件的前16字節讀入緩沖區。
for(j = 0;j & lt16;j++)
{
*buffer1=*buffer1^i;//animation.cfg文件中的第壹個字節介於0和255之間。
//任意數值異或,結果保存在buffer1指示的位置。
* buffer 2 = * buffer 1;//將buffer1指向的數據復制到buffer2指向的位置。
緩沖區1 =緩沖區1+1;//buffer1指針加1,準備讀取下壹個數據。
緩沖器2 =緩沖器2+1;//buffer2指針加1,準備存儲下壹個數據。
}
}
fp2 = fopen("test "," w b+ ");//打開壹個二進制文件,準備向其中寫入數據。
fwrite(buffer3,16*256,1,fp2);//緩沖區3保存緩沖區2的初始地址。這份聲明將
//由//buffer2的初始地址指示的數據以二進制形式寫入。
//16×256字節
fclose(fp2);//關閉文件句柄
fclose(FP);
}