Die Umkehrung CRC32
Ich bin auf der Suche nach einem Weg, um reverse -eine CRC32-Prüfsumme. Es gibt Lösungen um, aber Sie sind entweder schlecht geschrieben, extrem technische und/oder in der Montage. Die Montage ist (derzeit) jenseits meiner ken, so bin ich der Hoffnung, jemand kann Stück zusammen eine Implementierung in einer Sprache auf höherer Ebene. Ruby ist ideal, aber ich kann analysieren, PHP, Python, C, Java, etc.
Irgendwelche Abnehmer?
- Was genau meinst du mit "umgekehrten"
- Nur Portierung einer C-Implementierung Python: github.com/jellever/Pwnage/blob/master/reversecrc.py
- Können Sie zeigen Sie auf die Tabelle für Ihren code, um zu arbeiten. Was kann ich hinzufügen, hier: #Benutzerdefinierte CRC-Tabelle, ersetzen Sie mit Ihrem eigenen table = []
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer CRC32 ist nur reversibel, wenn der ursprüngliche string ist 4 Byte oder weniger.
Lesen das Dokument nennt "Umkehr CRC-Theorie und Praxis".
Dies ist C#:
Können Sie umkehren durch Rückwärtsfahren aus der bits zu erzeugen, die ursprüngliche 32-bit wenn Sie wissen, die poly es erstellt wurde. Aber wenn Sie schauen, um Umgekehrt die CRC32 aus einer angegebenen Datei und fügen Sie eine Serie von bytes am Ende der Datei entsprechend den ursprünglichen CRC-ich code gepostet auf diesen thread in PHP:
Verbrachte ich ein wenig Zeit auf, so dass ich hoffe, es kann helfen, jemand arbeitet auf härtere Probleme:
Die Umkehrung CRC32
Prost!
Cade Roux Ist rechts über die Umkehrung CRC32.
Die links, die Sie erwähnten, eine Lösung zu beheben CRC geworden invalide durch die Veränderung der ursprünglichen byte-stream. Diese Korrektur wird erreicht, indem Sie einige (unwichtige) bytes und damit der Wiederherstellung der ursprünglichen CRC-Wert.