这个是帮中国黑客同盟会写的一个小软件,没什么技术,代码很简单。
[EST] [Blacksky]
复制内容到剪贴板
代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void usage();
bool recode(const char *infile,long offset,int length,char *oft);
bool copyfile(const char *infile);
bool readcode(const char *infile,long offset,int length);
main()
{
int length;
int j,rt;
char oft[1024];
long offset;
char infile[256];
system("cls");
usage();
printf ("请输入需要修改的文件名:");
gets(infile);
copyfile(infile);
printf ("需要修改的长度:");
scanf("%x",&length);
printf ("请在下面输入需要修改的代码 (注意:回车--代表输入一个代码结束)\n");
for(j=0;j<length;j++)
{
scanf("%x",&oft[j]);
}
printf ("请输入需要修改的偏移地址:");
scanf("%x",&offset);
readcode(infile,offset,length);
printf("为:\n");
for (j=0;j<length;j++)
{
printf("%x\n",oft[j]);
}
printf("\n");
rt=recode(infile,offset,length,oft);
if(rt==1)
{
printf("修改成功!谢谢使用。");
}
else
{
printf("修改失败!");
}
}
bool recode(const char *infile,long offset,int length,char *oft)
{
FILE *fp = NULL;
bool result=false;
if((fp=fopen(infile,"rb+"))!=NULL)
{
fseek(fp,offset,1);
fwrite(oft,length,1,fp);
fclose(fp);
result=true;
}
return(result);
}
bool copyfile(const char *infile)
{
FILE *fp = NULL;
FILE *fp1 = NULL;
char *outfile;
char ch;
outfile= new char[strlen(infile)+5];
strcpy(outfile,infile);
strcat(outfile,".bak");
if(((fp=fopen(infile,"rb"))==NULL) || ((fp1=fopen(outfile,"wb"))==NULL))
{
printf ("文件备份失败!请检查文件是否存在!\n");
exit (1);
}
ch=fgetc(fp);
while(!feof(fp))
{
fputc(ch,fp1);
ch=fgetc(fp);
}
fclose(fp);
fclose(fp1);
}
bool readcode(const char *infile,long offset,int length)
{
int i;
FILE *fp = NULL;
bool result=false;
char code[length];
if((fp=fopen(infile,"rb"))!=NULL)
{
fseek(fp,offset,1);
fread(code,length,1,fp);
printf("替换:\n");
for (i=0;i<length;i++)
{
printf("%x\n",code[i]);
}
fclose(fp);
}
}
void usage()
{
printf (" =========================================\n");
printf (" 程序资源修改器 v1.0\n");
printf (" 作者: 风泽\n");
printf (" 版权:中国黑客同盟会\n");
printf (" [url]www.hackertop.com[/url]\n");
printf (" =========================================\n\n");
printf (" 注意:1.需要修改的文件一定要和此程序放在同一个目录下。\n\n");
printf (" 2.输入文件名时请加入后缀名。\n\n");
}