图片文件合成器
背景
(资料图片)
初学C语言,突然接触到这个功能,发现这个功能有很多用途。所以,写个博客记录一下。
原理
图片、文件合成的原理其实就是将文件的二进制代码加载到图片的二进制代码后面,合成一个二进制文件; windows加载器在进行加载时只结合文件的后缀名,检索文件的标志头和结束标志的位置读取。也就是因为如此,我们有了可改造的空间。
为了更加清楚的了解其原理,根据自己的理解,绘制如下原理图。 为了进一步了解其原理,将三个文件的二进制文件打开,根据其首末对比深入了解。(1:JPG文件的原码、2:ZIP文件的原码、3:合成文件的原码)
方法
关于图片文件合成器,本文阐述了两种方法。<1>根据cmd中的copy命令将图片、文件进行合成。<2>利用C语言写了一段代码进行图片、文件的合成。
方法一
<1>假设创建一个JPG文件和一个ZIP文件(该文件是一个DOCX文件经过压缩得到)
<2>win+R→cmd→copy /?命令 由上述原理可知 copy 命令下的 /B 命令即可将两个文件的二进制文件放到一个文件中去。<3>copy /b 1.jpg+2.zip 3.zip 即可完成图片、文件的合成。 生成的文件名假设为3.jpg。<4>3.jpg<5>将3.jpg文件的后缀名改为.zip(即改为压缩文件) 解压后,你会发现原来的DOCX文件。
方法二
<1>将需要进行合成的文件跟程序代码放在相同的路径下。
<2>C语言代码实现跟方法一原理相同,所以直接上代码。
#include#includevoid main(){//声明变量FILE *f_pic,*f_file,*f_compound;char pic_name[20],file_name[20],compound_name[20];char ch;/printf("<>\n");printf("Enter the name of pic: ");scanf("%s",&pic_name);printf("Enter the name of file: ");scanf("%s",&file_name);printf("Enter the name of compound:");scanf("%s",&compound_name);///读写二进制文件 if(f_pic = fopen(pic_name,"rb"));else{printf("Can not open %s !!!!!!!\n",pic_name);exit(0);}if(f_file = fopen(file_name,"rb"));else{printf("Can not open %s !!!!!!!\n",file_name);exit(0);}if(f_compound = fopen(compound_name,"wb"));else{printf("Can not open %s !!!!!!!\n",compound_name);exit(0);}///feof()函数判断二进制文件是否结束while(!feof(f_pic)){ch = fgetc(f_pic);fputc(ch,f_compound);}fclose(f_pic);while(!feof(f_file)){ch = fgetc(f_file);fputc(ch,f_compound);}fclose(f_file);fclose(f_compound);system("pause");}
<2>运行结果
结束语
看一下文件大小,你会发现合成文件等同于JPG文件+ZIP文件。 这个功能可以用来隐藏一些重要文件,还可以做一些加密文件...... 哈哈哈,第一次写博客,初学者记录一下。 (初学者,语言有些简单,如有错误,希望提出批评哦! )
今年煤炭增产不低于5%、将达1365亿吨,同时还要兼顾双碳。1月31日,能源大省山西开年即聚焦能源增产保供。 在2023年山西能源工作会上,更多
2023-02-01 10:54:02国家统计局31日发布消息,2022年,规模以上工业企业实现营业收入13791万亿元,比上年增长59%;发生营业成本11684万亿元,增长71%;营业收更多
2023-02-01 10:09:55中国神华1月30日晚间发布业绩预告,公司预计2022年度实现归属于本公司股东的净利润为687亿元至707亿元,同比增长366%至406%。 预计2022更多
2023-02-01 09:56:57冀中能源1月31日发布业绩预告,公司预计2022年实现归属于上市公司股东的净利润422亿至495亿元,同比增长5405%-8070%。扣非后净利润比上年更多
2023-02-01 10:03:54今年春节,冷空气强势来袭。大年初一早晨,漠河阿木尔镇劲涛气象站监测到零下53摄氏度的气温,低于1969年2月13日漠河气象站的监测数据,打更多
2023-02-01 10:10:04国家统计局近日发布的数据显示,2022年,全国规模以上工业发电量84万亿千瓦时,比上年增长22%。其中,火电增长09%;水电、核电、风电和太更多
2023-02-01 09:53:56近日,贵州省人民政府办公厅印发2023年《政府工作报告》重点工作责任分工方案,并提出把发展工业作为首要任务,加快建设现代化产业体系。更多
2023-01-31 10:09:30日前,山西省应急管理厅、国家矿山安全监察局山西局联合下发《关于进一步加强复采矿井安全生产工作的通知》,要求各级各部门紧盯春节复产更多
2023-01-31 09:59:43据天津市市场运行监测数据显示,1月份第三周(1月16日-1月22日),天津市煤炭均价为734元吨,环比持平。上周出现了旺季煤价的逆季节下跌,更多
2023-01-31 10:12:36据山西省商务厅生产资料市场监测数据显示,1月第三周(1月16日-22日),山西省煤炭均价131652元吨,环比上涨04%。其中,动力煤发热量5000-更多
2023-01-31 10:02:30