Newsgroup: it.comp.lang.visual-basic
Titolo: forse puo interessare a qualcuno

Le funzioni nascoste del Rundll32 di Windows
L'accesso alle funzioni contenute nei componenti del sistema Windows rimane
effettivamente riservato agli utenti degli ambienti i programmazione. Alcune
funzioni possono tuttavia essere chiamate anche direttamente tramite il
programma RUNDLL32.EXE, (da caricare per inserire le istruzioni). Ora
verranno spiegate dettagliatamente alcune utili funzioni Rundll e le
relative conseguenze. Tutte le funzioni descritte possono essere impostate
come script o come righe di istruzioni interne a collegamenti, per essere
così utilizzate direttamente. Ulteriori funzioni, già parzialmente note,
sono elencate nella tabella in basso.
Le funzioni:
rundll32 user,tilechildwindows
rundll32 user,cascadechildwindows
del file USER.EXE provvedono alla disposizione delle finestre sul desktop,
ordinando tutte le applicazioni non ridotte a icona rispettivamente come
finestre affiancate o come finestre sovrapposte.
La funzione
rundll32 krn1386.exe,exitkernel
è una delle possibilità più radicali per uscire da Windows. Non viene
richiesta conferma in caso di dati non salvati e non viene presentato alcun
avviso in
caso di file condivisi in rete, neanche qualora questi siano aperti!
Con il comando
rundll32 msprint2.dll,RUNDLL_PrintTestPage
è possibile collaudare una determinata stampante tra varie periferiche
collegate. Presenta una finestra con l'elenco di tutte le stampanti
installate; selezionando la periferica desiderata, a quest'ultima verrà
inviato un foglio di prova.
La selezione manuale dei dispositivi hardware da installare non è più
prevista in Windows 98: quest'ultimo è predisposto per periferiche Plug &
Play. A questo proposito, è utile la seguente funzione:
rundll32.exe sysdm.cpl,InstallDevice_Rundll
Questa istruzione apre l'applicazione INSTALLAÄIONE GUIDATA NUOVO HARDWARE,
che consente di scegliere quale dispositivo installare. Un'installazione
così mirata è possibile solo con questa funzione non documentata.
La funzione
rund1132 user,wnetcancelconnection fsa
consente, invece, la disconnessione del Pc da tutte le unità di rete
configurate in un determinato server Novell (nell'esempio, "fsa"). A
differenza di "netuse /d *", questa istruzione disconnette non tutte le
unità di rete configurate, ma solo quelle di un server Netware selezionato.
I collegamenti ai server NT non possono essere interrotti.
Alcune istruzioni offrono strade a senso unico: così, non è un problema
invertire le funzioni dei tasti del mouse con la funzione
rundll32 user,swapmousebutton
e risparmiarsi in tal modo il passaggio dal PANNELLO DI CONTROLLO.
Attenzione: la configurazione originaria non potrà più essere ripristinata
con la stessa procedura.
Le istruzioni:
rundll32 user, setcaretblinktime <n>
rundll32 user, setdoubleclicktime <n>
impostano la frequenza di lampeggiamento del cursore e la velocità del
doppio clic del mouse.
Attenzione: non consentono di ripercorrere lo stesso tragitto a ritroso.
I driver della tastiera e del mouse contengono le funzioni sia per attivare,
sia per disattivare i dispositivi. Windows consente tuttavia solo la
disattivazione. Con le funzioni
rundll32 keyboard,disable
rundll32 mouse,disable
la tastiera o il mouse vengono messi fuori combattimento.
Attenzione: una successiva istruzione "enable" non sortirà invece l'effetto
desiderato. Per porre termine alla disattivazione della tastiera o del
mouse, l'unica possibilità è quella di riavviare Windows.
Nelle funzioni elencate in questa tabella, per semplicità è stata omessa la
parte iniziale "rundll32. Le funzioni tratte dalle biblioteche a 16 bit,
come USER.EXE, non distinguono i caratteri maiuscoli e minuscoli, che
possono quindi essere usati indifferentemente. Di norma, tali funzioni sono
scritte nel riquadro in caratteri minuscoli. Per quanto riguarda le funzioni
delle DLL a 32 bit, quali SHELL32.DLL, occorre invece attenersi esattamente
ai caratteri maiuscoli e minuscoli utilizzati nella tabella.
Istruzione Effetto
user,exitwindows Chiusura di Windows
user,wnetconnectdialog Apertura della finestra di dialogo di connessione
alla rete
usei;wnetdisconnectdialog  Apertura della finestra di dialogo di
disconnessione alla rete
user,disableoemlayer  Blocco del sistema
user,repaintscreen  Aggiornamento dello schermo (come F5)
user,setcursorpos  Posizionamento del cursore del mouse nell'angolo
superiore sinistro dello schermo
Diskcopy,DiskCopyRunDll  Apertura della finestra di dialogo Copia Disco
rnaui.dll,RnaWizard/1  Apertura della finestra di dialogo
Accesso remoto V1 = senza immagine iniziale)
Shell,shellexecute  Apertura della finestra di Gestione risorse
Shell32,OpenAs RunDLL  Apertura della finestra di dialogo Apri con
shell32,SHFormatDrive  Apertura della finestra di dialogo Formattazione
shell32,ShellAboutA  Apertura della finestra di dialogo di informazioni
sulla memoria e sulle risorse
shell32,SHExitWiodowsEx 0 Riavvio di Windows
shell32,SHExitWiodowsEx 1 Chiusura di Windows 98
shell32,SHExitWiodowsEx 2  Avvio del Pc in Windows
shell32,SHExitWiodowsEx -1 Riavvio di Esplora risorse in Windows
shell32,Control_RunDLL  Avvio del Pannello di controllo
shell32,Control_RunDLL desk.cpl  Avvio del modulo Schermo del Pannello di
controllo
shell32,Control_RunDLL, main.cpl @ <n>
<n>: 0=mouse, 1=tastiera, 2=stampanti, 3=Tipi di carattere, 4=Controllo
energetico
 Avvio del modulo <n> del Pannello di controllo da Main.cpl

Stavolta rispondo sopra !
Grazie a Supermariobros per l' idea :)
Una rimostranza e' pero' dovuta per il subject non consono alle raccomandazioni
del Manifesto.
Gia' sono in molti a non leggere i post vecchi, ma quelli che li leggono si meriterebbero
una ricerca piu' agevole con dei subject esplicativi, non ti pare?
Lascio sotto la firma l' intero testo del post originario di Supermariobros.
ciao, hal
-----------------------------------------------------------------------------------------------------


user,disableoemlayer  Blocco del sistema
clamoroso errore, credo propagatosi a causa di un infame (interessante
ma a tratti fuorviante, comunque di livello tecnico medio-basso)
articolo apparso due anni fa riguardo a rundll32 su una nota rivista
italiana di informatica, dato che siti americani, francesi e tedeschi
riportano quasi tutti la spiegazione corretta
DisableOEMLayer si limita a chiudere l'interfaccia grafica, lasciandoci
con un'unica Virtual Machine, che non risponde ai comandi semplicemente
perchè al suo interno non c'è avviato nulla
maggiori dettagli qui:
http://www.geocities.com/SiliconValley/Pines/2242/nogui.html
qui cita anche la funzione Death(), ma non il suo corrispettivo
Resurrection(), entrambe presenti in una recensione di Undocumented
Windows (libro oltremodo interessante; se avevate dei dubbi puramente
tecnici riguardo alla scelta di Windows 9x come sistema operativo,
questo libro li confermerà tutti); un piccolo assaggio, alcune tra le
funzioni non documentate più fantasiose: WinOldAppHackOMatic,
PrestoChangoSelector, TabTheTextOutForWimps, UserSeeUserDo, e Bunny_351
(in realtà di Bunny_351 ora si sa che viene chiamata durante lo
shutdown, e serve a cambiare - mi pare - l'indirizzo dell'exception
handler di default. Rimane fitto il mistero attorno a Bear8, Bear11,
Bear51, Bear86, Bear182, Bear285, Bear306 e Bear498 - parafrasando
Buzzati, "La Famosa Invasione degli Orsi in Windows"? - e Piglet_361)
L'articolo in questione è:
http://www.ercb.com/ddj/1992/ddj.9211.html
Undocumented Windows 95 e Unhautorized Windows 95 devono essere due
libri eccezionalmente interessanti, da un mio personale punto di vista
intriganti, nonostante l'età dell'argomento in questione (ma quanti a
tutt'oggi non hanno il coraggio di disfarsi del proprio Commodore 64?
quanti dall'interprete BASIC sono passati direttamente a studiarne
l'assembler? l'hacking è hacking :)
Qui, se vi interessa, c'è un archivio con gli aggiornamenti
post-Windows98 a Unauthorized Windows 95. Scoprirete come rundll32
riesca a chiamare direttamente del codice a 16 bit, come sia possibile
usare l'intera API DOS (int 21h) dalla modalità protetta a 32 bit,
scoprirete che Windows 95 risente delle stesse limitazioni del DOS
riguardo al primo MB di memoria convenzionale, scoprirete che Windows 95
è un multitasking cooperativo come le sue versioni precedenti, con la
differenza che ora la cosa è stata resa trasparente (ma ugualmente
accessibile dall'user mode...), e come, goffamente, Microsoft cerchi di
impedire che reverser non particolarmente motivati arrivino ad ottenere
queste informazioni:
ftp://ftp.ora.com/pub/examples/windows/win95.update
(dove leggete qualcosa a proposito di SoftRam, saltatelo in blocco. Sono
gli atti del processo per truffa ad un venditore di un falso compressore
di RAM, che tra l'altro utilizzava codice sotto copyright senza
autorizzazione. Una storia, nel complesso, noiosa)
Scavando bene tra i link troverete anche un programma in grado di
decomprimere la tristemente nota vmm32.vxd, estrarne tutte le vxd
contenute, aggiungerne delle altre, eccetera, oltre ovviamente ai
programmi "proof of concept" che dimostrano gli argomenti trattati nel
libro (ovviamente la maggior parte funziona anche in Windows 98 - il
test del primo MB di memoria DOS è inquietante -, e non mi stupirei se
funzionassero anche in Windows ME)
-- 
Posted from 
mx1.aruba.it
 [62.149.128.130] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Hyperion ha colpito ancora:
[snippone vergognoso]
Salvato il post per intero: non capita tutti i giorni di riceverne uno cosi'.
Thanks 1T, hal :-)

Le funzioni nascoste del Rundll32 di Windows
Altr ancora le trovi sul mio sito... ("Accedere alle funzionalità del Pannello di controllo (e della
Shell32 in generale)")
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.msvbsite.net
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.it-lang-vb.net
---------------------------------------------------------------------------

 Buzzati, "La Famosa Invasione degli Orsi in Windows"? - e Piglet_361)
Prima di tutto grazie a te e a Supermariobros per l'ottimo post.
Approposito di orsi, mi pare di ricordare (vado a memoria e potrei
sbagliarmi) che nei credits nascosti di Windows 3.1 ci fosse l'elenco degli
sviluppatori ed anche un orsetto. Forse stanno cercando di dirci qualche
cosa? tipo che Windows č:"more than I can bear"? ;-)
Ciao
*Roby*