Thekey.iT

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home }}} Articoli }}} Hacking }}} Guida windows

Guida windows

E-mail Stampa
Valutazione attuale: / 2
ScarsoOttimo 

E' il più instabile, il più insicuro, il più buggato, il più criticato e ora a quanto pare (con la versione "XP"), il più "spione" fra i sistemi operativi, ma è anche il più diffuso al mondo, anzi si può dire che ha quasi il monopolio del mercato, quindi tanto vale spendere qualche parola sul funzionamento di windows....


Possiamo iniziare parlando del "multiprogramming": Windows assegna una diversa priorità all'esecuzione dei vari programmi, in base alla velocità del loro caricamento. Infatti se due programmi vengono avviati contemporaneamente, avrà una priorità maggiore il programma più veloce a caricare i suoi processi. Ma cosa è un processo? Windows lavora per processi e servizi, ogni programma che eseguiamo sul nostro Windows è un processo, che a sua volta può essere suddiviso in sottoprocessi (threads). esistono due tipi di processi: disgiunti (non interagiscono tra loro) e interagenti (il loro avanzamento può essere pregiudicato da altri processi). Il sistema operativo lavora su un thread alla volta, ma può lavorare su più processi contemporaneamente (multitasking): in pratica ad ogni thread viene assegnato un intervallo di tempo (time-slice) in base all'impegno del processore sul sottoprocesso. Ogni processo una volta avviato termina allo spegnimento del PC. un servizio invece, richiede che ci sia presente nel registro di windows una chiave che indichi al sistema operativo la sua presenza al momento dell'avvio (ad esempio il file system). per l'esecuzione di un processo o di un servizio possono servire altri dati che devono essere caricati dal sistema, questi sono i files .ocx, i famosi files .dll e altri, questi files contengono una serie di istruzioni che vengono esportate per far avanzare i processi che le richiedono. I files contenenti queste informazioni sono chiamati "OLE" ("object linked and embedded", "oggetti collegati e incorporati") e si dividono in due tipi: gli OLE IN-PROCESS che vengono eseguiti nello spazio di memoria riservato al programma che li richiede, e gli OLE OUT-PROCESS che per eseguire le loro funzioni richiedono un proprio spazio in memoria. Quando per il caricamento di un processo la RAM è insufficiente, avviene lo "swapping": in pratica le informazioni richieste dalla CPU, vengono "spostate" sul disco fisso.

Tornando al multitasking: esistono due tipi di sistema multitasking, quello cooperativo e quello preemptive. In un sistema cooperativo, quando si blocca un processo, si bloccano anche tutti gli altri (WIN95), mentre nel multitasking preemptive i processi sono indipendenti tra loro. il multitasking viene gestito in base al meccanismo del "time-sharing": ad ogni processo viene assegnata una quantità di tempo in base alla quale i processi stessi vengono alternati. Un processo in attesa di esecuzione è in fase di "ready", un processo in esecuzione è in fase di "running".

Parleremo adesso del "registro di windows": non è altro che un database organizzato in modo simile a quello di files e cartelle all'interno di un drive. per compiere qualsiasi operazione sul registro di windows, si usa l'"editor del registro" (c:windows egedit.exe). una volta avviato, compare una finestra divisa in due parti: a sinistra abbiamo una rappresentazione del database secondo uno schema ad albero, cioè con un ordine simile a quello usato per la visualizzazione dei files con esplora risorse, a destra abbiamo i valori. i dati contenuti al suo interno vengono chiamati "chiavi" e "sottochiavi" ("keys & subkeys"). il nome della chiave è la stringa che la identifica, ogni chiave contiene inoltre un valore, un tipo e una classe. nella finestra di sinistra possiamo individuare cinque gruppi principali: HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA, HKEY_USERS. Soltanto hkey_local_machine e hkey_users sono realmente presenti sul disco rigido, le altre sono create da windows o sono delle "ramificazioni". andiamo ad analizzare queste chiavi principali una ad una:

HKEY_LOCAL_MACHINE: contiene informazioni sul sistema che vengono condivise da tutti gli utenti, molti dei suoi valori si aggiornano automaticamente mentre il computer è in esecuzione. vediamo le sottochiavi principali:

config: contiene dati sulla configurazione hardware

enum: contiene dati sulle periferiche, come il tipo o la casa produttrice

hardware: contiene l'elenco di porte seriali, processori, microprocessori...

network: contiene informazioni sulla rete

security: contiene informazioni sulla sicurezza della rete

software: contiene informazioni sul software presente sul nostro sistema

system: contiene dati sulla configurazione delle periferiche amministrate da windows

HKEY_CLASSES_ROOT: è una ramificazione di hkey_local_machine (softwareclasses) contenente OLE, collegamenti, copia e incolla e informazioni sui files associati

HKEY_CURRENT_CONFIG: anche questa è una ramificazione di hkey_local_machine (config) e contiene dati sulla configurazione corrente del computer

HKEY_DYN_DATA: in questa chiave sono presenti i dati modificati più spesso nel registro, una parte di essa è memorizzata sull'hard disk. Ha due sottochiavi:

config manager: contiene informazioni sui problemi hardware, inoltre contiene la sottochiave hkey_local_machineenum

perfstats: contiene dati sulle prestazioni del sistema

HKEY_USERS: contiene una sottochiave per ogni utente che ha accesso al computer, e controlla le personalizzazioni del sistema (ad eseempio fonts, sfondi ecc.). se c'è soltanto un utente, ci sarà solo la sottochiave ".default". ogni sottochiave utente ha altre sottochiavi:

appevent: contiene la directory dove si trovano i file audio eseguiti da windows

control panel: contiene le informazioni del pannello di controllo

keyboard layouts: contiene informazioni sul tipo di tastiera usata

network: contiene delle sottochiavi che riguardano l'accesso alla rete

remote access: contiene le impostazioni dell'accesso remoto

software: contiene dati sul software installato

HKEY_CURRENT_USER: è una ramificazione di hkey_users, contiene i dati dell'utente attualmente attivo. Per esempio se il computer è usato da BigJim, conterrà la sottochiave hkey_usersBigJim.

Abbiamo terminato la descrizione in generale di keys e subkeys del registro di windows, ma voglio continuare con la descrizione di due subkeys abbastanza importanti: HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversion un e HKEY_LOCAL_MACHINEsoftwaremicrosoftwindowscurrentversion unservices: in esse sono contenuti tutti i files e programmi attivati all'avvio di windows, tra i quali si possono nascondere trojans, programmi inutili, virus ecc. la rimozione delle stringhe con il nome di questi programmi ci permetterà un avvio di windows più veloce e soprattutto un uso del computer più sicuro. Vediamo ora come modificare i dati presenti nel registro, abbiamo due modi, o con il regedit (non c'è bisogno di spiegazioni perchè si usa come "esplora risorse") o con un file ".REG". per capire come funzione un file reg, basta analizzarne uno presente sul nostro computer, apriamolo con il blocco note (non facciamo doppio click altrimenti le informazioni verranno copiate nel registro) e curiosiamo un pò... vediamo che comincia con la parola REGEDIT4, poi fra parentesi quadre abbiamo il nome della chiave, indicato con la directory completa, se sarà una chiave inesistentte, essa verrà creata. Adesso avremo la dichiarazione del nome della stringa (fra virgolette) e del suo valore, quando apriremo il file, i valori indicati verranno modificati o creati.



that's all folks!

ringrazio Marvin e Ankit Fadia per avermi aiutato (più o meno direttamnete) a scrivere questo testo.


-Wasp "il necromante"-

 

Google search

Ricerca personalizzata

Fatti riconoscere