Risalire al sorgente di un exe

Nighthawk

Nuovo Alfista
3 Dicembre 2006
762
0
16
39
Teramo
C'è qualche modo veloce per risalire al sorgente di un programma gia compilato in exe?
Mi spiego meglio.. ho un programma che ritrova le password di MSN sul computer sul quale viene lanciato , immagino ricavandole dalle chiavi del registro di sistema, quindi magari aprendolo e seguendo il sorgente potrei capire come funziona e dove legge queste password!

Volevo sapere se fosse possibile sapere in che modo vengono memorizzate queste password sul registro! Premetto che non devo hackerare niente.. è solo una mia curiosità per capire come funziona il registro di sistema in relazione alle password..

Grazie
 
risalire al sorgente di un .exe???
in "modo veloce" addirittura? :muaha) :lol2)

ora passa internik cmq credo sia impossibile...
 
Ok.. mi sono messo un po a "giocherellare" e alla fine ho trovato le sottochiavi di registro dove ci sono i miei account di msn.. Solo che per ogni sottochiave ci sono un po di voci e ovviamente sono cryptate!!

Qualcuno che sa dirmi che tipo di codifica si usa?? :matto)
 
Nighthawk":1vaytt5e ha detto:
reverse engineering?? :scratch)
:crepap) sono 20 anni che lo faccio.
Costo ad esempio per un lavoretto come vuoi far te: 25.000 ;)

Cercare su internet qualcosa: zero
Cercare su internet un programmello che monitorizzi gli accessi al registro: zero

Per tutto il resto... bisogna arrangiarsi :p
 
InterNik":x6wjh1hm ha detto:
:crepap) sono 20 anni che lo faccio.
Costo ad esempio per un lavoretto come vuoi far te: 25.000 ;)

Vedi?? :sedia) Questo fa ridere!! :asd) :asd) :asd)

Non mi serve nessun programmello ;) ... Voglio solo capire che tipo di codifica si usa per memorizzare le password degli account visto che ho trovato la sottochiave che mi serve!!!

Ma se fa tanto ridere.. :ka)
 
Piano piano sono risalito al linguaggio assembly dell'exe.. e ho capito che il programma è stato scritto in visual C++..
 
Nighthawk":w40mz3zj ha detto:
InterNik":w40mz3zj ha detto:
:crepap) sono 20 anni che lo faccio.
Costo ad esempio per un lavoretto come vuoi far te: 25.000 ;)

Vedi?? :sedia) Questo fa ridere!! :asd) :asd) :asd)

Non mi serve nessun programmello ;) ... Voglio solo capire che tipo di codifica si usa per memorizzare le password degli account visto che ho trovato la sottochiave che mi serve!!!

Ma se fa tanto ridere.. :ka)
Fa decisamente ridere, almeno me. Se è una qualsiasi funzione non banale (non dico un MD5 o qualsiasi hash "semiserio") non è che ci farai tantissimo.
A te serve la f-1.
Ovvero devi studiare ad esempio questo http://www.nirsoft.net/utils/mspass.html

Nighthawk":w40mz3zj ha detto:
Piano piano sono risalito al linguaggio assembly dell'exe.. e ho capito che il programma è stato scritto in visual C++..
certamente è una informazione molto utile :)

A costo zero
http://fatmatt.wordpress.com/2007/12/01 ... -password/
 
InterNik":2o1szvja ha detto:
Nighthawk":2o1szvja ha detto:
Piano piano sono risalito al linguaggio assembly dell'exe.. e ho capito che il programma è stato scritto in visual C++..
certamente è una informazione molto utile :)

Daiii :D .. invece di prendermi in giro mi dai una mano?? :D

InterNik":2o1szvja ha detto:
A te serve la f-1
:scratch) :scratch) .. sarebbe?? Non credo che sul registro di sistema usino la md5 come codifica.. giusto??
 
InterNik":d3xo3a8l ha detto:

Aspetta.. non ci siamo capiti!! A me non interessa un programma che mi trova le password di MSN!! A me di quel programma interessa il funzionamento.. Le prenderà dal registro sotto quella ormai famosa chiave, ma come le decodifica?? Da quell'articolo ho visto che la codifica è cambiata da Base64 (con le versioni 5 e precedenti) a cosa??
 
Nighthawk":1bc766cg ha detto:
InterNik":1bc766cg ha detto:
Nighthawk":1bc766cg ha detto:
Piano piano sono risalito al linguaggio assembly dell'exe.. e ho capito che il programma è stato scritto in visual C++..
certamente è una informazione molto utile :)

Daiii :D .. invece di prendermi in giro mi dai una mano?? :D

InterNik":1bc766cg ha detto:
A te serve la f-1
:scratch) :scratch) .. sarebbe?? Non credo che sul registro di sistema usino la md5 come codifica.. giusto??
ma che c'entra il registro? puoi memorizzarci quello che vuoi.
Un metodo "serio" di memorizzazione delle password prevede l'uso di una funzione difficilmente invertibile (classico MD5, ora obsoleto, poi le varie incarnazioni di SHAx), nel qual caso devi usare tool piuttosto sofisticati e tabelle RT giganti per tentare.

Conoscere quale sia la funzione che dalla password ti dà il suo "salt" (hash) non ti servirebbe a molto, anche disassemblando il codice (attività che faccio da quando avevo 14 anni, ora ne ho quasi 36 :lol: )
Ti servirebbe la funzione INVERSA che, dato l'hash, ti restituisca la password.
Questo con qualche trucchetto (salting) è sostanzialmente impossibile.
---
Venendo invece ad MSN, essendo una Merda Microsoft, la memorizzazione parte dalle versioni vecchi con una semplice condifica -base, ossia è praticamente testo puro.
ANche le versioni successive che usano delle librerie crittografiche sempre microsoft (sempre merde) sono facilmente decodificabili.

Quello che a te serve, anche in questo caso, NON è la funzione di codifica (quella che usa MSN), bensì quella di DECODIFICA (la f "alla meno 1").

Se hai parecchio tempo da perdere basta usare softice per stoppare il programmello nirsoft; altrimenti cerca i vari sbocchinatori internet e troverai forse perfino i relativi sorgenti già fatti.
:ka)
 
ma che c'entra il registro? puoi memorizzarci quello che vuoi.
:OK) Ok che posso memorizzarci quello che voglio, ma non viene applicata una qualsiasi codifica ai dati "sensibili" presenti sul registro??

Un metodo "serio" di memorizzazione delle password prevede l'uso di una funzione difficilmente invertibile (classico MD5, ora obsoleto, poi le varie incarnazioni di SHAx), nel qual caso devi usare tool piuttosto sofisticati e tabelle RT giganti per tentare.
E ci sono.. Appunto per questo dicevo che queste chiavi non potevano essere codificate in MD5.. altrimenti il programmello Nirsoft come farebbe a Decodificare senza avere queste tabelle RT giganti??

Quello che a te serve, anche in questo caso, NON è la funzione di codifica (quella che usa MSN), bensì quella di DECODIFICA (la f "alla meno 1").
Ok.. l'avevo capito.. ho sbagliato a scrivere.. hai ragione ma era quasi palese che non voglio codificare una cosa gia codificata!! Ecco perche non capivo cosa significasse F-1

Se hai parecchio tempo da perdere basta usare softice per stoppare il programmello nirsoft;
Tempo da perdere ce ne ho.. anche abbastanza!! E ora qui ti volevo.. :asd) Quando dovrei stoppare il programmello Nirsoft??
 
InterNik":39w1blog ha detto:
Venendo invece ad MSN, essendo una Merda Microsoft, la memorizzazione parte dalle versioni vecchi con una semplice condifica -base, ossia è praticamente testo puro.
ANche le versioni successive che usano delle librerie crittografiche sempre microsoft (sempre merde) sono facilmente decodificabili.

La ragione è semplice (e indipendente dal fatto che si tratti di roba Microsoft): l'utilità di usare una cifratura forte, su un registry locale, per le password di MSN è... epsilon + zero :D

dato che è prassi comune (indipendente dal fatto che si tratti di roba Microsoft) che la robustezza della cifratura sia adeguata al valore del contenuto

nessuno si sbatte per rendere inviolabile un oggetto sostanzialmente irrilevante.
 
Nighthawk":hj0uqklq ha detto:
ma che c'entra il registro? puoi memorizzarci quello che vuoi.
:OK) Ok che posso memorizzarci quello che voglio, ma non viene applicata una qualsiasi codifica ai dati "sensibili" presenti sul registro??
No, neanche un po'. Con la API basiche scrivi sul registro dei valori interi, stringa etc. Punto e basta.
Nirsoft come farebbe a Decodificare senza avere queste tabelle RT giganti??
perchè NON viene usato un metodo "serio", ma uno merda-microsoft :lol:
L'avessi fatto io neppure gesù bambino ci sarebbe riuscito :p
Ok.. l'avevo capito.. ho sbagliato a scrivere.. hai ragione ma era quasi palese che non voglio codificare una cosa gia codificata!! Ecco perche non capivo cosa significasse F-1
Ho sempre ragione per assioma :lol:
Se hai parecchio tempo da perdere basta usare softice per stoppare il programmello nirsoft;
Tempo da perdere ce ne ho.. anche abbastanza!! E ora qui ti volevo.. :asd) Quando dovrei stoppare il programmello Nirsoft??
Con un breakpoint nell'evento di refresh della lista, ad esempio
 
DriftSK":2gymjm9t ha detto:
La ragione è semplice (e indipendente dal fatto che si tratti di roba Microsoft): l'utilità di usare una cifratura forte, su un registry locale, per le password di MSN è... epsilon + zero :D

dato che è prassi comune (indipendente dal fatto che si tratti di roba Microsoft) che la robustezza della cifratura sia adeguata al valore del contenuto

nessuno si sbatte per rendere inviolabile un oggetto sostanzialmente irrilevante.
Non sono molto d'accordo, anzi per niente :lol:

Intanto non ci sono differenze sostanziali tra una "buona" codifica ed una "cattiva" codifica, per un informatico medio almeno (per un microcozzaro non sarei così perentorio).
Non pretendo mica chissachè (... anche se mi occupo pure di "chissachè" :crepap) ), ma questi livelli così ridicoli implicano O incapacità totale (e non l'escluderei) O una scientemente decisa strategia (per facilitare il lavoro ad es. alla polizia).

Personalmente propendo per il primo caso.

Poi le password di msn sono dati ultrasensibili, visto che facilmente sono associate proprio agli indirizzo e-mail @hotmail o roba così.

---
Di conseguenza, semplicemente, è la merda-microsoft che si dimostra, una volta di più, un colabrodo :marameo)
 
No, neanche un po'. Con la API basiche scrivi sul registro dei valori interi, stringa etc. Punto e basta.
Ok.. capito! Pensavo che fossero codificate tutte quelle stringhe

Ho sempre ragione per assioma :lol:
:asd) :asd)

Con un breakpoint nell'evento di refresh della lista, ad esempio
ci stavo pensando anche io.. anche perchè il programma in se non ha bisogno di "comandi" ma aggiorna in automatico la lista appena viene lanciato!

Internik capiscimi... ma sono solo un semplice operaio con il diploma superiore e tanta voglia di imparare, però non voglio programmi fatti da altri!! :D
Insomma devo rivedermi un po di assembler.. sono parecchio arruginito!! :OK)
 
Nighthawk":1szv84o5 ha detto:
No, neanche un po'. Con la API basiche scrivi sul registro dei valori interi, stringa etc. Punto e basta.
Ok.. capito! Pensavo che fossero codificate tutte quelle stringhe
:crepap) E come avrebbero dovuto essere "decodificate"?
Secondo "i sacri testi" (ma anche la semplice logica) la sicurezza di un dato risiede nella segretezza della chiave, e non nel metodo più o meno "strano" per codificare i dati.
Questo in teoria... ma non nel caso microcozz :lol:

"Codificare" qualcosa in maniera che non venga letto facilmente è esattamente l'opposto di quanto fa m$

Internik capiscimi... ma sono solo un semplice operaio con il diploma superiore e tanta voglia di imparare, però non voglio programmi fatti da altri!! :D
Insomma devo rivedermi un po di assembler.. sono parecchio arruginito!! :OK)
Io invece sono un povero disoccupato con la III media... buona fortuna e Usa lo Sforzo Luke :spin)
 
InterNik":2mxedpfx ha detto:
le password di msn sono dati ultrasensibili, visto che facilmente sono associate proprio agli indirizzo e-mail @hotmail o roba così.

Stiamo parlando del recupero di password archiviate in locale, e come è noto se qualcuno tocca fisicamente la macchina essa "non è più tua". Quindi il tuo assunto non è applicabile :) non ha oggettivamente importanza il modo e il metodo di cifratura, potrebbero essere anche in cleartext perchè se un qualunque àcaro arriva in console la partita è persa. Non conta che Microsoft abbia usato XOR 69 o che Ubuntu abbia usato la crittografia a curve ellittiche, cambia solo il fattore tempo che - per una password statica - non è determinante.

Si potrebbe iniziare a parlare di criteri di sicurezza nel caso in cui si volesse proteggere questa preziosissima password da una intrusione esterna portata attraverso la rete... ma dal momento che non è questo l'argomento direi che il tuo esempio non calza :p
 
Top