📄 隐藏.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main()
{
FILE *fi,*fo;
BITMAPFILEHEADER bmfh;
BITMAPINFO bmi;
int i,store[400],j,k,num,charnum,temp,x,cur=0;
BYTE P;
char c[50];
fi = fopen("bupt.bmp","rb");
fo=fopen("newbupt.bmp","wb");
fread(&bmfh,sizeof(bmfh), 1,fi);
rewind(fi);
fread(&P,sizeof(BYTE),1,fi);
while(!feof(fi))
{
fwrite(&P,sizeof(BYTE),1,fo);
fread(&P,sizeof(BYTE),1,fi);
}
fseek(fi,4*bmfh.bfOffBits,SEEK_SET);
fseek(fo,4*bmfh.bfOffBits,SEEK_SET);
printf("请输入你希望隐藏的信息(英文),回车结束:");
j=0;
scanf("%c",&c[j]);
while(c[j]!='\n')
{
j++;
scanf("%c",&c[j]);
}
charnum=j;
for(k=0;k<=charnum;k++)
{
temp=(int)c[k];
for(x=0;x<8;x++)
{
store[8*cur+7-x]=temp%2;
temp=temp/2;
}
cur++;
}
num=charnum*8+8;
printf("你所输入的信息转化成二进制码是:\n");
for(i=0;i<charnum*8+8;i++)
printf(" %d ",store[i]);
i=0;
while(!feof(fi))
{
fread(&P,sizeof(BYTE),1,fi);
if(i<num)
{
if(store[i]==0)
P=P&254;
else
P=P|1;
}
i++;
fwrite(&P,sizeof(BYTE),1,fo);
}
fclose(fi);
fclose(fo);
printf("\n你所输入的信息已经被隐藏!!!\n");
system("pause");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -