好友
阅读权限20
听众
最后登录1970-1-1
|
liwj
发表于 2019-11-22 17:02
#include <stdio.h>
#pragma warning(disable:4996)
int main() {
FILE* fp, * fout;
char nameIn[80] = "多级数列101.exe", nameOut[80] = "多级数列101.MP4"; //这个定义就是告诉编译器 在编译器的工程目录下存在"多级数列101.exe"这个文件
//nameOut[80] = "多级数列101.MP4"; 这个是告诉编译器要生成一个文件,文件名称命名为"多级数列101.MP4";
fp = fopen(nameIn, "rb");//这个是告诉编译器以二进制形式打开 多级数列101.MP4 这个文件,然后给下面的fread 进行读取
fout = fopen(nameOut, "wb");");//这个是告诉编译器以二进制形式打开"多级数列101.exe"这个文件 给下面的fwrite 写入二进制代码
fseek(fp, 0xD8B4F0, SEEK_SET);//这个是指定二进制文件具体位置,给fread读取
static char c, c2;
int jisu = 0;
int yu = 0;
int chuli = 0;
int yihuo = 0;
//心得1:这个数组就是给编译器一个数组
int hours[16] = {0x56,0x32,0x43,0x11,0x89,0x08,0x02,0x25};
while (1) {
if (fread(&c, 1, 1, fp) != 1) break;//读取二进制文件fp,获取fseek指定的那个char 后面的1 是1个单元 前面的1 是1个字节 【也就是od数据窗口中的 00 两位】
yu = jisu % 8;
yihuo = hours[yu] + 0xD;//这里是对数组元素的提取,提取出具体的元素
c2 = c ^ yihuo;//这里是将read 提取出来的二进制 与数组的元素进行异或 得到新的C2
fwrite(&c2, 1, 1, fout);//把C2 写进fout 生成"多级数列101.MP4";
jisu = jisu + 1;
}
fclose(fp); fclose(fout);//这里是释放指针
return 0;
} |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|