Forum Informatica Unict

Area Studenti => L'angolo del tecnico => Topic started by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 24-11-2012, 03:02:18



Title: [RISOLTO] Combinazioni [Fn+tasto] non funziona su ASUS + Avvio prog. come SYSTEM
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 24-11-2012, 03:02:18
Stanotte ho risolto un problema nel portatile di mio fratello e, contestualmente, ho scoperto una cosa molto interessante .smile.

Lui (come me) ha un portatile ASUS con Windows 7, ma improvvisamente non gli funzionavano più i tasti Fn+X (ove X è uno tra F1, F2, ..., F12) che permettono di fare tante cose carine, come regolare il volume, la luminosità dello schermo, (dis)abilitare il touchpad, gestire le altre uscite video/schermi secondari.

Poi casualmente lui è riuscito a capire che per avviare queste cose bisognava avviare HControl.exe (messo in una opportuna cartella di ASUS in C:\Program Files (x86), solo che nell'avviarlo veniva chiesto di elevare i privilegi (l'icona del programma mostra lo scudo tipico di queste situazioni, quindi è una informazione manifest -ovvero scritta dentro al file come risorsa di tipo 24=MANIFEST- quella che Windows deve elevare i privilegi del programma all'avvio, almeno con UAC abilitato almeno a livello 1), quindi bisognava capire come mai questo prog. non veniva avviato in automatico già con privilegi elevati.

Analizzando i processi attivi nel mio computer (altro ASUS con Windows 7) con Process Explorer (http://goo.gl/rbY1I) di SysInternals (http://goo.gl/kR2Jq) ho scoperto che il mio HControl.exe era processo figlio di AsLdrSrv.exe, che era stato avviato con privilegi di utente SYSTEM, quindi quasi sicuramente è un servizio. La mia ipotesi è stata confermata dall'aver trovato un servizio chiamato "ASLDR Service" che ha, come un processo figlio, proprio quell'eseguibile, ed è avviato senza parametri, tra l'altro.

Allorché ho tentato di avviare quello stesso programma, sia manualmente (e parimenti ad HControl.exe mi veniva chiesto di elevare i privilegi), sia ri-avviando il servizio (che in effetti, era correttamente avviato in automatico con il sistema), ma HControl.exe non partiva .nono.

Allora ho controllato con Process Monitor (http://goo.gl/p2HjJ), sempre di SysInternals (http://goo.gl/kR2Jq), cosa fa effettivamente AsLdrSrv.exe quando si avvia, e dopo aver scorso velocemente un migliaio di righe di azioni registrate (tutte uguali a blocchi almeno per la colonna "Path"), le ultime azioni effettuate dal programma, prima che smettesse praticamente di fare qualsiasi cosa (pur rimanendo attivo) erano di fare interrogazioni al Registro di Windows sulle chiavi HKLM\Software\Wow6432Node\AsLdr\Run (non esistente!) e poi su HKLM\Software\AsLdr\Run (non esistente!) [si noti che la prima chiave è l'omologa versione compatibilità 32-bit della seconda, ma il programma le ha controllate entrambe poiché questo è il comportamento standard della libreria di gestione registro su sistemi a 64 bit, quando il software eseguito è a 32 bit, cosa saggia].

Queste chiavi non esistevano nel suo computer, ma nel mio (ove tutto fila liscio), la prima delle due contiene una sola chiave dati di tipo REG_SZ (stringa normale) il cui valore è proprio il percorso assoluto di HControl.exe (che, incidentalmente, si trova nella stessa cartella di AsLdrSrv.exe), quindi ho provveduto a creare prima la gerarchia AsLdr\Run sotto HKLM\Software\Wow6432Node e poi ho aggiunto una chiave dati REG_SZ contenente il valore pari al percorso assoluto di HControl.exe; ho, a questo punto, riavviato il servizio "ASLDR Service", e tutto è filato liscio .smile.

Ora, oltre ad aver risolto il problema, sono finalmente riuscito a scoprire un modo elegante, che funziona almeno sui PC Asus, per avviare programmi come Servizio locale (cioè con i privilegi di SYSTEM) senza doverli elencare ufficialmente fra i servizi (il che comporterebbe l'aggiunta della gerarchia appropriata sotto HKLM\System\CurrentControlSet\Services .bah), e cioè basta farlo aggiungendo una singola chiave stringa dentro HKLM\Software\Wow6432Node\AsLdr\Run per ogni programma che si vuole avviare  :-OK.

Buonanotte .ciaociao.


Title: Re:[RISOLTO] Combinazioni [Fn+tasto] non funziona su ASUS + Avvio prog. come SYSTEM
Post by: fabio.rinnone on 10-12-2012, 14:57:04
Bravo reversengineer, sempre a smanettare, eh?


Title: Re:[RISOLTO] Combinazioni [Fn+tasto] non funziona su ASUS + Avvio prog. come SYSTEM
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 10-12-2012, 15:11:16
Zi...  :pray :[Emoticon] PC Asd:


Title: Re:[RISOLTO] Combinazioni [Fn+tasto] non funziona su ASUS + Avvio prog. come SYSTEM
Post by: monsignore on 12-12-2013, 15:40:12
Ciao reverse, ti andrebbe per caso di aiutarmi? sto avendo lo stesso problema nel mio pc asus, ho letto quello che hai scritto ma non sono riuscito a seguirti per bene..potresti aiutarmi in modo un po' piu' semplice?


Title: Re:[RISOLTO] Combinazioni [Fn+tasto] non funziona su ASUS + Avvio prog. come SYSTEM
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 25-12-2013, 03:21:49
Sentiamoci via PM... .penso