Originariamente inviato da Antonyy74
Allora maschero il mio digest, metto tra i caratteri altri caratteri che non fanno parte del digest e poi estraggo la stringa corretta ?????

In linea di massima rimane inutile: è sempre possibile rimpiazzare la tua dll con una che restituisce sempre true, o modificarla (anche direttamente in memoria) in maniera analoga: basta sovrascrivere il codice della funzione con dei NOP (opcode 90) lasciando giusto il codice di cleanup dello stack in fondo e mettere 1 nel registro EAX (che contiene il valore restituito); et voilà, la tua funzione restituisce true per qualunque digest.

Tutto questo naturalmente è possibile solo se l'utente ha accesso in scrittura alla dll o è il proprietario del processo; in alternativa, avendo solo l'accesso in lettura alla dll, è comunque possibile disassemblarla e cercare di capire quali caratteri vengono saltati.