sexta-feira, 18 de março de 2011

Processo Rundll32 - How to !?


O que é o Rundll32?

O processo rundll32.exe (rundll32 significa Run a DLL as a 32-bit application) é um processo genérico do Windows que serve para carregar as livrarias dinâmicas (DLLs) em memória para as tornar utilizáveis por outros programas.
As DLLs executadas pelo Rundll32, tanto podem ser "maliciosas" como importantíssimas para o funcionamento do sistema, mas o seu uso é legítimo.

- 32 bits Vs 16 Bits -
Rundll32 ≠ Rundll

Os processos Rundll32 e Rundll são diferentes, além dos comandos serem diferentes assim como os seus parâmetros , o Rundll só é usado em sistemas operativos de 16-bit (Windows 9x/Me) enquanto que o Rundll32 é usado em sistemas operativos de 32-bit (XP/Vista).


Como usar o Rundll32?

Agora que já sabemos o que este processo faz, como é que vamos usá-lo? Fácil, basta irmos buscar o "código" para executar a aplicação que queremos.

A sintaxe do comando é:
>> RUNDLL32.EXE ,

Por exemplo, se quiserem aceder às "Ligações de Rede/Network Connections", basta irem ao executar e meter o seguinte "código":

>> RunDll32.exe shell32.dll,Control_RunDLL ncpa.cpl

Cuidados: Vocês devem considerar cuidadosamente 3 questões na linha de comandos mencionada acima:

1. Rundll32 procura o nome de ficheiro da DLL indicado nas localizações padrão (vejam artigos em relação à função LoadLibrary() para obterem mais informação). É necessário que forneçam um caminho completo para a DLL de modo a garantir que é localizada a DLL correcta. Para obter os melhores resultados, utilizem o nome de ficheiro abreviado em vez do nome do ficheiro longo para garantir que não sejam apresentados caracteres ilegais. Reparem que isto significa que uma DLL na pasta "C:\Programas" ("C:\Program Files") deverá ser convertida para o respectivo nome abreviado.

2. O não poderá conter quaisquer espaços, vírgulas ou aspas. Esta é uma limitação do analisador da linha de comandos de Rundll32.

3. Na linha de comandos mencionada acima, a vírgula (,) entre o e o nome da função é extremamente importante. Se a vírgula separadora não existir, a execução do Rundll32 falhará sem que sejam apresentadas quaisquer mensagens de erro. Além disso, não poderão existir espaços em branco entre o , a vírgula e a função .

Como funciona o Rundll32?

O Rundll32 executa os seguintes passos:

1º - Analisa a linha de comandos.
2º - Carrega a DLL especificada através de LoadLibrary().
3º - Obtém o endereço da função através de GetProcAddress().
4º - Chama a função , passando o fim da linha de comandos, que são os .
5º - Quando a função termina, Rundll.exe descarrega a DLL e termina.


E o que tenho que fazer para não andar sempre à procura do código?

Agora para não termos que andar sempre à procura do código, vamos criar um atalho.

Isto que eu fiz para as "Opções de Energia/Power Options" pode ser feito com qualquer outro código.

Cliquando com o botão direito no ambiente de trabalho -> Novo -> Atalho ... Irá abrir-se uma janela.


>> rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl

Introduzir código acima na janela do atalho.

- Mudança de ícone do atalho e restantes códigos com os nomes das respectivas aplicações

Depois do atalho estar criado, podem mudar o ícone da seguinte maneira: Clicar com o botão direito do rato sobre o ícone->Propriedades->Alterar ícone.

Aplicações a que se podem aceder através deste processo e respectivo código:

Add/Remove Programs
>> RunDll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,0

Clear Internet Explorer Title
>> RUNDLL32.EXE IEdkcs32.dll,Clear

Content Advisor
>> RunDll32.exe msrating.dll,RatingSetupUI

Control Panel
>> RunDll32.exe shell32.dll,Control_RunDLL

Delete Temporary Internet Files
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

Delete Cookies
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2

Delete History
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1

Delete Form Data
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16

Delete Passwords
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32

Delete All
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

Delete All + files and settings stored by Add-ons
>> RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351

Date and Time Properties
>> RunDll32.exe shell32.dll,Control_RunDLL timedate.cpl

Display Settings - Windows XP
>> RunDll32.exe shell32.dll,Control_RunDLL access.cpl,,3

Display Appearance Settings - Vista
>> RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,2

Display, Screen Saver Settings - Vista
>> RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,1

Display, Monitor Settings - Vista
>> RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,

Display, Desktop Icon Settings - Vista
>> RunDll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

Device Manager
>> RunDll32.exe devmgr.dll DeviceManager_Execute

Folder Options - General
>> RunDll32.exe shell32.dll,Options_RunDLL 0

Folder Options - File Types
>> RunDll32.exe shell32.dll,Control_Options 2

Folder Options - Search
>> RunDll32.exe shell32.dll,Options_RunDLL 2

Folder Options - View
>> RunDll32.exe shell32.dll,Options_RunDLL 7

Forgotten Password Wizard
>> RunDll32.exe keymgr.dll,PRShowSaveWizardExW

Vista Flip 3D
>> RunDll32.exe DwmApi #105

Hibernate
>> RunDll32.exe powrprof.dll,SetSuspendState

Internet Explorer's Internet Properties dialog box
>> Rundll32 Shell32.dll,ConBring up trol_RunDLL Inetcpl.cpl,,6

Keyboard Properties
>> RunDll32.exe shell32.dll,Control_RunDLL main.cpl @1

Lock Screen
>> RunDll32.exe user32.dll,LockWorkStation

Mouse Button - Swap left button to function as right
>> Rundll32 User32.dll,SwapMouseButton (Para resolver, usar: RUNDLL32.EXE SHELL32.dll,Control_RunDLL main.cpl @0,0)

Mouse Properties Dialog Box
>> Rundll32 Shell32.dll,Control_RunDLL main.cpl @0,0

Map Network Drive Wizard
>> Rundll32 Shell32.dll,SHHelpShortcuts_RunDLL Connect

Network Connections
>> RunDll32.exe shell32.dll,Control_RunDLL ncpa.cpl

Organize IE Favorites
>> Rundll32.exe shdocvw.dll,DoOrganizeFavDlg

Open With Dialog Box
>> Rundll32 Shell32.dll,OpenAs_RunDLL Any_File-name.ext

Printer User Interface
>> Rundll32 Printui.dll,PrintUIEntry /?

Printer Management Folder
>> Rundll32 Shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder

Power Options
>> RunDll32.exe Shell32.dll,Control_RunDLL powercfg.cpl

Process Idle Tasks
>> rundll32.exe advapi32.dll,ProcessIdleTasks

Regional and Language Options
>> Rundll32 Shell32.dll,Control_RunDLL Intl.cpl,,0

Stored Usernames and Passwords
>> RunDll32.exe keymgr.dll,KRShowKeyMgr

Safely Remove Hardware Dialog Box
>> Rundll32 Shell32.dll,Control_RunDLL HotPlug.dll

Sound Properties Dialog Box
>> Rundll32 Shell32.dll,Control_RunDLL Mmsys.cpl,,0

System Properties Box
>> Rundll32 Shell32.dll,Control_RunDLL Sysdm.cpl,,3

System Properties - Advanced
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,4

System Properties: Automatic Updates
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,5

System Properties, Computer Name Tab
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1

System Properties, Hardware Tab
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2

System Properties, Advanced Tab
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3

System Properties, System Protection Tab
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,4

System Properties, Remote Tab
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,5

System Properties, Performance, Visual Effects
>> RunDll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,-1

Taskbar Properties
>> RunDll32.exe shell32.dll,Options_RunDLL 1

User Accounts
>> RunDll32.exe shell32.dll,Control_RunDLL nusrmgr.cpl

Unplug/Eject Hardware
>> RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll

Windows Security Center
>> RunDll32.exe shell32.dll,Control_RunDLL wscui.cpl

Windows - About
>> RunDll32.exe SHELL32.DLL,ShellAboutW

Windows Fonts Installation Folder
>> Rundll32 Shell32.dll,SHHelpShortcuts_RunDLL FontsFolder

Windows Firewall
>> RunDll32.exe shell32.dll,Control_RunDLL firewall.cpl

Wireless Network Setup
>> RunDll32.exe shell32.dll,Control_RunDLL NetSetup.cpl,@0,WNSW

Atenção: Alguns códigos só funcionam em determinadas versões do Windows.

Fonte: portugal-a-programar

Sem comentários:

Enviar um comentário