超级玩家
 
- 贡献度
- 52
- 金元
- 6217
- 积分
- 840
- 精华
- 1
- 注册时间
- 2008-8-25
|
#include <stdio.h>
#include <stdlib.h>
static const char Key[] = "fuEw5rWN8MBS";
static const int KeyLen = 12;
int main(int argc, char **argv)
{
FILE *in, *out;
char *data;
size_t sz;
if (argc != 3)
{
printf("Usage: %s in.sav out.sav\n", argv[0]);
return 0;
}
if ((in = fopen(argv[1], "rb")) == NULL)
{
perror("Error");
return 1;
}
if ((out = fopen(argv[2], "wb")) == NULL)
{
perror("Error");
fclose(in);
return 1;
}
printf("Writing %s to %s...\n", argv[1], argv[2]);
fseek(in, 0, SEEK_END);
sz = ftell(in);
data = malloc(sz);
rewind(in);
fread(data, 1, sz, in);
fclose(in);
for (int i = 0; i < sz; i++)
data ^= Key[i % KeyLen];
fwrite(data, 1, sz, out);
free(data);
fclose(out);
puts("Done!");
return 0;
}
|
|