1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

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

Discussion in 'Ethical hacking' started by Avenger625, Feb 1, 2011.

Thread Status:
Not open for further replies.
  1. Avenger625

    Avenger625 New Member

    Joined:
    Feb 1, 2011
    Messages:
    20
    Likes Received:
    2
    Trophy Points:
    0
    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 <stdio.h>
    #include <stdlib.h>
    #include <conio.h>

    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.

    And amazingly t1.exe and t2.exe has exactly same file size(in bytes) but still t1.exe works but t2.exe doesn't......don't understand why...??!!

    Please reply fast!!! It's URGENT....!!!!
    Thnx!
     
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,293
    Likes Received:
    365
    Trophy Points:
    83
Thread Status:
Not open for further replies.

Share This Page