Newsgroup: it.comp.lang.visual-basic
Titolo: Access'97: sicurezza? roba da pivelli...

ho tradotto in vb5 un sorgente C per trovare la password di un database
access però nella lettura del file .mdb i caratteri letti erano diversi
da quelli del file quindi il programma non funzionava... l'ho scritto in
TurboPascal7 e allora ha iniziato ha funzionare.
Perchè da vb5 non riesco a leggere i byte dei files normalmente?
Perchè in vb5 non esiste una funzione che eseque l'XOr tra numeri ma
solo tra espressioni logiche?
grazie a chi risponderà
--
by e-mat(olè)

solo tra espressioni logiche?
Come no?
Prova a fare Debug.Print hex(&HF0F0F0F0 xor &H123456)
Ciao.

solo tra espressioni logiche?
Esiste, esiste.
Come segue farai uno xor bit a bit:
    if (pippo xor pluto) = 56 then ....
    risultato = ((aa xor bb) and cc)
Ciao
By -MES-   Maronese Ettore
http://ilmes.freeweb.org
(con OCX per stampare i recordset)
Sito Comune di programmatori Visual Basic
http://www.murialdo.it/it_lang_vb

solo tra espressioni logiche?

Come no?

Prova a fare Debug.Print hex(&HF0F0F0F0 xor &H123456)

Ciao.


--

by e-mat(olè)

 


...
    Questo sarebbe il codice:
    Dim strFile As String
    Dim strLine As String
       InputFile = "c:\documenti\sipwd.mdb"
       Open InputFile For Input As #1  ' Apro il file
       Do While Len(strFile) < 500 ' leggo circa i primi 500 caratteri
          Line Input #1, strLine
          strFile = strFile & strLine
       Loop
       txtNoPwd.Text = strFile ' metto la stringa in una textbox
       Do While Len(txtSiPwd) > 1
          strSiPwd = Mid(txtSiPwd, 1, 1) ' Estraggo il primo carattere
          ...
          ...
          ...
       loop
    E sě... č proprio un tuo errore.
    Se avessi letto l'help di Line input avresti notato questo:
    I dati letti tramite Line Input # vengono in genere scritti su file con
Print #.
    L'istruzione Line Input # consente di leggere tutti i caratteri in un
file un carattere per volta, fino al ritorno a capo (Chr(13)) o alla
sequenza ritorno a capo–avanzamento riga (Chr(13) + Chr(10)). Le sequenze
ritorno a capo–avanzamento riga vengono ignorate e non aggiunte alla stringa
di caratteri
    Questo ti sballa tutti i conti.
    Per fare una cosa come quella che vuoi tu devi:
    1) aprire in file in modo binario
        es: Open InputFile For Binary As #1  ' Apro il file
    2) usare Get #1, posizione, Variaile / Put #1, posizione, Variabile
    per leggere/scrivere il file. Se usi una variabile di tipo string penso
che tu la debba prima dimensionare in modo che possa accogliere tutti i
caratteri che vuoi con
    ad. es.: Variabile = String$(&HFF, Chr$(0)) 'Stringa di lunghezza 255 di
caratteri 0
    E' comunque consigliabile usare un array di Byte (adeguatamente
dimensionato), eviti cosě di utilizzare i Mid$ & Co. che sono lentissimi.
    Ciao
    P.s.:ricordati di chiudere il file

 wrote:
La cosa mi interessa, mi potrebbe risolvere il problema di un mio
cliente che ha dimenticato la pw dell'archivio. Adesso sta cercando di
ricostruire gli ultimi 6 mesi, ma si perdera parecchie informazioni
contabili. Potresti mandarmi questo codice in C che te lo traduco io 
Ciao 
Antonio Tanzillo
www.AT-SOFT.com
NAPOLI





Why? Perche'?
Non credo che ti sbattano in galera per un misero reverse engineering...
--
Roal Zanazzi
z...@iol.it

 wrote in message 7iitig$pu$7...@hermes.iol.it...



Beh, sullo spirito del newsgroup hai ragione.
Inoltre postare qui un cracker di password di Access non mi sembra corretto
nei confronti di quelli di it.comp.database.access (sarebbe come se loro
postassero un decompilatore per VB... anche se sicuramente molti di loro
sono a conoscenza del crack per le password di Access).
Anche se la Microsoft se lo meriterebbe (ma dico io, con tutti i sistemi di
crypting esistenti, dovevano proprio usare un banalissimo xor a chiave
_visibile_?)
--
Roal Zanazzi
z...@iol.it