Copy an .exe to a new .exe file using C/C++ - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Copy an .exe to a new .exe file using C/C++

Let there be an executable file say, t1.exe. If I run t1.exe then it shall copy itself to a new executable file say t2.exe.

Code:

#include
#include
#include

void main()
{
FILE *fp,*tp;
unsigned long int t=0;
tp=fopen("t2.exe","wb");
//rewind(tp);
if((fp=fopen("t1.exe","rb"))!=NULL)
{
fseek(fp,0L,2);
unsigned long int pos=ftell(fp);
rewind(fp);
do{
fputc(fgetc(fp),tp);
t++;
}while(t!=pos+1);
}

fcloseall();
//system("t2.exe");
printf("End of t1");
getch();
}

t2.exe is created but when I run this it says "t2 has stopped working." I'm using Windows 7(Home Basic) 64bit. The program is compiled with Borland C++ V. 5.02.
Amazingly, both these files have same size (in bytes).


[b]Please reply fast!!! It's URGENT....!!!![/b]
Thnx!
Sign In or Register to comment.