domenica 30 settembre 2007

Un piccolo gesto per la liberta'

Vorrei unirmi a tutti gli altri che in questo momento stanno aderendo alla protesta contro il regime Birmano.




Indossiamo un capo rosso per dimostrare la nostra solidarieta' con il popolo birmano.

Questo e' il mio piccolo contributo.

Liberta' per tutti i popoli.

sabato 29 settembre 2007

Windows Vista Hack #3

Altr piccolo suggerimento per gli utenti di Vista ;-)
Avrete notato che per accedere al sistema operativo non esiste piu' l'account administrator.
L'account non è stato tolto ma semplicemente "nascosto". Per attivarlo basta questa semplice procedura:
- Avviare il sistema operativo (:S) in modalita' provvisoria con prompt dei comandi (F8 subito dopo il POST);
- Nella finestra di "DOS" inserire il seguente comando:
net user administrator /active:yes
- riavviate il computer;

A questo punto riavrete il vostro bell'account administrator.... bye

Microsoft le licenze OEM e il CD scomparso!

Vorrei non parlare di microsoft e licenze e costi ma per forza di cose lo devo fare :d
Allora, ero da un cliente e mi capita la situazione di un dominio con una 15ina di client collegati. Per chi non è un sistemista deve sapere che un dominio è una specie di gruppo costituito da computer controllati da un server centrale. Un server che ci da la possibilita' gestire centralmente le password, i privilegi, le cartelle pubbliche e tanto altro.
Ovviamente per fare cio' esiste un ben definito Sistema Operativo (scusa Debian :d) della microsoft che si chiama Windows 2003 Server Standard Edition (almeno nel mio caso specifico era questo).
Come è facile immaginare suddeto sistema operativo parte da un prezzo d 700 euri circa nn ricordo il prezzo ma nn è rilevante ai fini della storia :d
Questo cliente che ti combina? semplice ti perde il cd di installazione. Ed in piu' cosa succede? che si guasta il disco rigido e devo reinstallare il sistema operativo!!!
Fiducioso (che ingenuo) chiamo microsoft al seguente numero 0270398398 e mi risponde un operatore automatico, arrivo a parlare dopo aver premuto qualche tasto con una signora che cortesemente mi spiega che:
- il sistema nasce e muore con il proprio cd di installazione
Io replico:
- ma ho il codice attaccato sul case è originale! Puo' mandarmi una copia pagando le spese?
lei:
- avendo il codice attaccato è un sistema operativo OEM quindi nasce e muore con quel cd e con quel computer
io:
- ma non devo cambiare macchina mi è guastato l'hdd e devo sostituirlo.
lei:
- non posso aiutarla.
io:
- grazie lo stesso buonasera.
lei:
- buongiorno.
la soluzione sarebbe di una semplicita' estrema, in quanto basta andare su emule e scaricarsi una copia e poi mettere il proprio seriale ed avere quindi il sistema originale.
Ma poi il cliente sara' in regola a livello di legge?
Alla fine lui ce l'ha originale, l'ha pagato perche' non puo' avere la copia di un cd che ha perso?
Sinceramente non saprei ma alla fine so gia' che se è così fra poco la microsoft avra' venduto un sistema operativo server in piu'. :-(

venerdì 28 settembre 2007

Google Earth stranezze


Da quando è uscito google earth molti si sono prodigati per trovare stranezze in giro per il mondo. Qualche giorno fa mentre stavo guardando la sede del Pentagono :-d ho notato sul tetto tre strane ombre... zoomando mi sono uscite queste figure... Gia' così sembrano abbastanza chiare... partendo da sinistra:

  1. una persona sdraiata;
  2. la Calabria;
  3. un busto con qualcosa in mano;

Certo se ne trovano in giro di cose strane.... bye

giovedì 27 settembre 2007

Windows Vista Hack #2

Altro piccolo suggerimento per gli utenti del nuovo OS...
Allora mi sono ritrovato nella situazione di avere solo 3 gigabyte di spazio libero su C e dovevo masterizzare un dvd pieno pieno di dati.... intorno ai 4,2 gigabyte....
Beh subito il sistema mi dice che non c'è spazio per il mio progetto....
Ovviamente cerco su internet ma su tutti i siti trovo il solito suggerimento di cambiare il percorso di registrazione da C ad eventuale hdd con + spazio libero (D: nel mio caso).
Si ma il problema rimane :-(
Effettivamente questo suggerimento è giusto ma riguarda la seconda parte della masterizzazione. Prima di tutto il sistema operativo copia in una directory temporanea il contenuto che noi desideriamo masterizzare...
Ovviamente dove andiamo a cercare?
Ma nel registro di sistema ovvio.... quindi esegui -> regedit
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/CD Burning/StagingInfo/Volume{numeri e lettere}
Bene adesso cambiate la voce "StagingPath" con un percorso di vostra scelta in un hdd con molto spazio... ricordate che la directory deve esistere (es: d:\cartella per masterizzare)... di default windows mette un valore all'interno della directory temporanea dell'account locale probabilmente per motivi di sicurezza e privacy... quindi regolatevi sull'uso che ne fate....

sabato 21 luglio 2007

Camfrog Hack
















Ciao a tutti,
spero che non si fraintenda quello che sto per scrivere per colpa del titolo....
Molte volte si associa la parola hacker ad un "essere" informatico cattivo che causa danni ai computer di poveri utenti ignari.
Non è una definizione corretta!!!
La definizione che mi è sembrata piu' giusta è quella di wikipedia:
<>
Bene, chiarito questo aspetto, vi spiego cosa stiamo per fare.
Molti di voi conosceranno il famoso programma di video chat "Camfrog" che tanto spopola nella rete fra i chatters...
Attraverso un po' di programmazione in visual basic.net (si può fare anche con il vb6) e qualche chiamata alle API di sistema di Windows vedremo come entrare nel programma per costruire quello che potremmo definire un BOT, cioè un robot software (programma) che è in grado di automatizzare determinati processi, oppure, data una direzione ne traccia le possibili soluzioni.
Chi di voi conosce camfrog ha gia' capito a cosa mi riferisco. Non tratterò almeno in questa fase la costruzione del database delle domande e delle risposte (non ci trovo nulla di stimolante nell'implementare un dataset) ma mi concentrerò principalmente nel logging e nell'innesto della finestra di chat delle cosiddette "room".
Come si vede dall'immagine in alto, in evidenza la finestra di una room, dietro invece il software BOT che "ascolta" tutto quello che succede in room.
All'inizio avevo sperato di riuscire ad interpretare lo scambio messaggi che avviene tra server e client per poter loggare la porta su cui avviene tale scambio.
Purtroppo dopo diversi tentativi mi sono arreso, ma spero di ritornarci presto sull'argomento.
Quello che ho usato per "loggare" camfrog non è altro che un semplice script in visual basic che rimane in ascolto non sulla porta TCP bensì sull'handle della finestra principale della room.
Un handle (letteralmente "maniglia") è un oggetto che ci permette di riferirci all'applicazione di interesse.
Ogni finestra in Windows ha un proprio handle che è univoco. Riferendoci ad un determinato handle ci riferiremo ad un oggetto specifico all'interno del sistema operativo.
Nella parte in rosso ho evidenziato il pulsante processi, una datagridview per mostrare i dati, e l'handle principale della finestra della room.
Private Sub process_view()
Dim p As Process()
p = Process.GetProcesses()
start_datagrid()
Dim row_index As Integer = 0
Dim pr1 As Process
For Each pr1 In p
Me.DataGridView1.Rows.Add()
Me.DataGridView1.Rows.Item(row_index).Cells(0).Value = pr1.Id.ToString
Try
Me.DataGridView1.Rows.Item(row_index).Cells(1).Value = pr1.Handle.ToString
Catch ex As Exception
Me.DataGridView1.Rows.Item(row_index).Cells(1).Value = "Errore: " & ex.Message.ToString
End Try
Me.DataGridView1.Rows.Item(row_index).Cells(2).Value = pr1.MainWindowHandle
Me.DataGridView1.Rows.Item(row_index).Cells(3).Value = pr1.ProcessName
Me.DataGridView1.Rows.Item(row_index).Cells(4).Value = pr1.MainWindowTitle
row_index += 1
Next
End Sub
Private Sub start_datagrid()
Me.DataGridView1.Rows.Clear()
Me.DataGridView1.Columns.Clear()
Me.DataGridView1.Columns.Add("ID", "Id")
Me.DataGridView1.Columns.Add("HANDLE", "Handle")
Me.DataGridView1.Columns.Add("MAINWINDOWHANDLE", "Main Windows Handle")
Me.DataGridView1.Columns.Add("NAME", "Nome")
Me.DataGridView1.Columns.Add("MAINWINDOW", "MainWindow")
End Sub
In queste prime due Sub non facciamo altro che inizializzare la datagrid e caricare all'interno della stessa i processi in memoria. Da notare che il ciclo try...catch che previene un errore dovuto ad insufficienti diritti di accesso per alcuni processi.
Adesso non dovete fare altro che richiamare il metodo CellContentClick e salvare l'handle in una variabile globale... ho chiamato questa variabile pr_handle.
Adesso ho evidenziato in rosso il pulsante logging e la finestra dove andremo a leggere quello che succede nella nostra room. La finestra in questione non è altro che un controllo richtext.

Private Function GetMessage()
Dim length As Long = 0
Dim strtmp As String = ""
Dim result As Long = 0
Dim Edit_handle As Long = 0
Dim int_temp As Integer
Dim strtmp2 As String = ""

If pr_handle > 0 Then
Edit_handle = FindWindowEx(pr_handle, 0, "RichEdit20A", vbNullString)
length = SendMessage(Edit_handle , WM_GETTEXTLENGTH, 0, 0) + 1
strtmp = Space(length - 1)
result = SendMessage(Edit_handle , WM_GETTEXT, length, strtmp)
Dim interpreta_b As Boolean = False
If message_old.Length < strtmp =" strtmp.Remove(0," message_old =" strtmp2" edit_handle =" FindWindowEx(pr_handle," length =" SendMessage(Edit_handle ," strtmp =" Space(length" result =" SendMessage(Edit_handle ," long =" 0" long =" 0" intptr =" Nothing" long =" 0" intptr =" Nothing"> 0 Then
Edit_handle = FindWindowEx(pr_handle, 0, "RichEdit20A", vbNullString)
Edit_handle = FindWindowEx(pr_handle, Edit_handle , "RichEdit20A", vbNullString)
ptr_temp = New IntPtr(Edit_handle )
int_temp = SendMessage(ptr_temp, WM_SETTEXT, 0, "Hello")


1) button = FindWindowEx(pr_handle, 0&, "button", vbNullString)
2) ptr_to_button = New IntPtr(button)
3) int_temp = SendMessage( ptr_to_button , WM_KEYDOWN, VK_SPACE, 0)
4) int_temp = SendMessage( ptr_to_button , WM_KEYUP, VK_SPACE, 0)

End If
End Function
Questa è la funzione da richiamare alla pressione del pulsante innesto. Vediamo nel particolare cosa fa. Controlliamo se abbiamo un handle valido quindi con la prima API richiamiamo il controllo RichEdit20A dalla finestra principale della room. In questo modo però otteniamo la finestra di lettura, allora richiamiamo la stessa API ma questa volta invece di passare l’handle della finestra principale passiamo l’handle del controllo ottenuto. Ricaveremo l’handle del secondo controllo RichEdit20A presente nella nostra room che è proprio quello che ci interessa.
Bene adesso non facciamo altro che creare un puntatore da passare alla successiva API per scrivere il testo nel controllo. A questo punto debuggando l’applicazione vedrete comparire la scritta “Hello” nel nostra finestra selezionata in rosso. Ma dobbiamo fare in modo che oltre a scrivere il testo arrivi alla room quindi dobbiamo ottenete un puntatore al pulsante Send. Le ultime 4 righe non fanno altro che:
1) Ottenere l’handle del pulsante Send
2) Ottenere il puntatore al pulsante Send
3) Simulare la pressione del tasto barra spaziatrice
4) Simulare il rilascio del tasto barra spaziatrice
Abbiamo fatto tutto. La nostra applicazione adesso è in grado di leggere e scrivere in maniera autonoma.
Gli sviluppi sono molteplici. Dalla semplice costruzione di un BOT per le domande e le risposte, ma anche Tools per il controllo degli utenti (ban, kick, colori, etc).



sabato 31 marzo 2007

Windows Vista Hack #1

Il team Paradox è riuscito a craccare il sistema operativo vista in brevissimo tempo. La soluzione trovata consiste nell'emulare il bios OEM di alcuni produttori!