windir - windows system32 rundll32 exe virus



¿Cómo usar Rundll32 para ejecutar la función DLL? (1)

Rundll32 solo es compatible con la ejecución de exportaciones de DLL con la siguiente firma:

void CALLBACK
  EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);

No es compatible con la ejecución de puntos de entrada arbitrarios. Como ShellExecute no tiene esa firma, claramente suceden cosas malas.

support.microsoft.com/kb/164787 tiene más información sobre la interfaz rundll32.

Si desea hacer el equivalente de ShellExecute desde la línea de comando, simplemente use start:

C:\>start "C:\Documents and Settings\admin\Desktop\tmp"

Uso de la documentación de ShellExecute como referencia:

Ejecuto lo siguiente desde la línea de comando:

C:\>RUNDLL32.EXE SHELL32.DLL,ShellExecute handle,"open","C:\Documents and Settings\admin\Desktop\tmp",NULL,NULL,SW_SHOWNORMAL

Esto da como resultado un error de excepción.

No sé lo que esto significa:

HINSTANCE ShellExecute(
  __in_opt  HWND hwnd,
  __in_opt  LPCTSTR lpOperation,
  __in      LPCTSTR lpFile,
  __in_opt  LPCTSTR lpParameters,
  __in_opt  LPCTSTR lpDirectory,
  __in      INT nShowCmd
);

Pero en la descripción, se mencionan un identificador (HWND) y un puntero a una cadena terminada en nulo (LPCTSTR), pero es muy confuso.

Cualquier ayuda sería muy apreciada. También me gustaría aprender más, ¡así que cualquier referencia (libro, enlaces web, etc.) también sería genial!