发新话题
打印

[原创]程序资源修改器T-code源代码

[原创]程序资源修改器T-code源代码

这个是帮中国黑客同盟会写的一个小软件,没什么技术,代码很简单。
[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");

}
http://hi.baidu.com/fengze

TOP

发新话题