Andrea Beggi

You can't start a fire without a spark.

Problemi con MSGINA.DLL

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

Mi è capitato di trovare un server Windows 2000 con un problema abbastanza grave: all’avvio appariva una finestra di errore, prima del login. Il messagggio di errore lamentava l’impossibilità di caricare la libreria msgina.dll, reponsabile del processo di logon dell’utente. All’interno della finestra un solo pulsante “Riavvia” permetteva un’unica scelta. Dopo la ripartenza il problema si ripresentava tale e quale.
Il suggerimento della Knowledge Base di Microsoft è l’utilizzo della console di ripristino per sostituire la DLL con quella presente sul CD di installazione, ma per me non ha funzionato.
Fortunatamente i servizi partivano quasi tutti, quindi il server era ancora accessibile dalla rete. Questa particolare installazione non aveva alcun servizio che permettesse di connettersi remotamente alla console (RDP, VNC), e l’installazione di DameWare non ha avuto successo. In ogni caso dubito che sarei riuscito a loggarmi alla macchina, visto il tipo di problema.
Ho risolto sostituendo da remoto il file mdgina.dll, che risiede in \winnt\system32.
Come prima cosa è stato necessario ottenere i privilegi di accesso:
net use \\nomeserver /user:administrator password
Per qualche motivo cercare di aprire direttamente \\nomeserver\c$ in una finestra non funzionava, così ho mappato un’unita:
net use * \\nomeserver\c$
Tramite la lettera di unità creata (nel mio caso Z:), è stato possibile raggiungere \winnt\system32 e sostituire il file.
Attenzione, è molto importante rinominare prima le tre copie di msgina.dll presenti sul server, che risiedono in \winnt\system32, \winnt\system32\dllcache, e \winnt\Service Pack Files\i386, diversamente la DLL sarà automaticamente ripristinata alla versione non funzionante.
Al successivo riavvio del server, il sistema funzionava perfettamente. Ho prelevato la versione funzionante della DLL da un server di un altro cliente, visto che quella presente sul CD in mio possesso era uguale a quella sul server e dava gli stessi problemi.

13 Commenti

Fabio | #

Personalmente niente di nuovo, anche se mi sono risparmiato il tempo per ragionarci su 😉 , ma ignoravo completamente la faccenda del ripristino della DLL.

Grazie Andrea. Operativo al 100%, come sempre!
Fabio

Angelo Genocchi | #

Ottimo, ma questo intervento quanto è costato al propietario del server? Di chi è stata la colpa? Nessuno ve lo chiede mai?

🙂

xlthlx | #

uh non sapevo che la sciura gina potesse dare dei problemi…
si vede che non ti riconosceva :p

Andrea | #

Il problema è stato causato da un black-out che ha corrotto il file. Le batterie dell’UPS non funzionavano da tempo. In questi casi i clienti ti baciano perché possono continuare a lavorare e non hanno perso dati.

Fabrizio Gentili | #

Se dovesse servire a qualcuno segnalo anche un altro problemino legato allo stesso meccanismo GINA (non la stessa DLL) che ho incrociato giusto qualche giorno fa da un cliente, causato dal conflitto di vecchie versioni di PcAnywhere con GINA

http://support.microsoft.com/kb/817142

fabio | #

ma il cliente come se ne è accorto se cmq il server non consentiva il logon ma cmq funzionava ?
perchè l’hanno acceso loro e sono clienti così meticolosi da vedere se la fase di boot arriva correttamente alla videata ctrl-alt-canc ? (e magari aspettano anche qche secondo in più per vedere l’altrettanto fatidico “impossibile caricare uno o più servizi ecc ecc…”)

Andrea | #

Come molti clienti, sono convinti che per far funzionare un server, sia necessario loggarsi…
O_o

fabio | #

ahhhhh….!!!!! ok!
😀
ma… stavo pensando…
come è possibile che il file si sia corrotto in tutti e tre i percorsi ?
a me si era rovinato un file sono riuscito a cavarlo fuori pulito dalla cartella repair

Vito A. Bonardi | #

Ho avuto lo stesso problema installando l’Intel Pro Wireless. Al riavvio quel file risultava corrotto, ho modificato a manina staccando l’hd dal pc collegandolo ad un altro funzionante.. 🙂

Fabs | #

Ma soprattutto, com’e’ possibile che non funzionasse quella sul CD? Non sara’ anche qualcos’altro che si e’ corrotto? Brrrrrrr…

“Every time you turn on your new car, you’re turning on 20 microprocessors.
Every time you use an ATM, you’re using a computer. Every time I use a set-top box or game machine, I’m using a computer. The only computer you don’t know how to work is your Microsoft computer, right?”
(Scott McNealy, CEO, Sun Microsystems, Inc.)

Andrea | #

se non ci fossero persone come TE sti benedetti server sarebbero sempre in “vacanza” !

noname | #

gina.dll è la dll per antonomasia dei rootkit, citando qualcosa d’italiano:
http://www.regiaarmata.it/forum/viewtopic.php?t=50&sid=68488d0f1201bcee4ef77439cf7dc931

n’altra è quella derivata dal DLL Injection, cioè modificare la base dell memoria dove viene eseguita la DLL per creare una Detour (deviazione) che permete di eseguire codice arbitrario. E questi sono solo 2 tipi e non dei più raffinati… Invece uno dei più micidiali è quello che modifica la *GINA.DLL, libreria che svolge tutte le funzioni di autenticazione, logoff, precaricamento drivers, ecc… Capite che presa quella DLL il nostro PC è bello che andato… dire che molto del codice che viene usato per i RK è stato fornito direttamente da Microsoft… non scherzo… appena li trovo vi posto i link alla microzozz dove sipegano alcune tecniche…

Emiliano | #

Grazie Andrea
Consigli utili …ho dato un okkio al sito
fatto bene ed interessante
Grazie
Ciao
Emiliano

Ps …. condivido pienamente le idee sul TCP/IP … e sopratutto sulle trenette al pesto