Domanda Reversing File decrittato in memoria

Stato
Discussione chiusa ad ulteriori risposte.

MadJack

Bannato
11 Aprile 2014
106
17
22
74
Salve a tutti,
ho un software (vocabolario) che si appoggia su un file (in cui ci sono scritti tutti i lemmi e le voci)
JTVah5O.png

apparentemente crittato:
2HXdZQT.png

La mia domanda è: premesso che il software in questione nel momento successivo alla lettura del file esegui una decifratura permettendone una lettura più "comoda", come posso "intercettare" questa versione? C'è una modalità di lettura che non sia quella di utilizzare un visualizzatore RAM? In alternativa, come posso vedere la parte di codice asm relativa al processo di read/decrypt? Grazie mille.
 
@MadJack Fare quello che chiedi è abbastanza semplice. In che linguaggio è scritto il programma? Per trovare il punto in cui il software "apre" il file devi metterti in breakpoint su Kernel32.ReadFile, questa è la funzione standard di lettura di file.

A quel punto segui il flusso del programma tenendoti da parte il puntatore al buffer dove la ReadFile ha caricato in memoria il file. Se trovi steppando la funzione di decrypt hai piu strade:
- Implementare la funzione decrypt in un tuo software in modo da poter decryptare a piacimento
- Dumpare in Olly la zona di memoria che contiene il file in chiaro
- Creare una funzione in assembly per salvarti il file in chiaro (Devi chiamare in sequenza CreateFile, WriteFile, CloseHandle)

Se hai bisogno chiedi pure. ;)
 
Stato
Discussione chiusa ad ulteriori risposte.