Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi CRC16 einer Datei auf gewünschten Wert verändern (https://www.delphipraxis.net/183189-crc16-einer-datei-auf-gewuenschten-wert-veraendern.html)

klaus Meier9 18. Dez 2014 10:40

CRC16 einer Datei auf gewünschten Wert verändern
 
Hallo,
ich suche eine Möglichkeit den CRC16 Wert einer Datei an einen gewünschte Wert anzupassen.
d.h. die Datei (z.B. eine ini) wird verändert und durch Hinzufügen eines bestimmten Korrekturwertes bleibt der CRC16 der Datei gleich.

Danke für Infos und Tipps

Klaus

himitsu 18. Dez 2014 10:54

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Im Grunde wird das wohl nur durch Bruteforce gehn ... einen/mehrere Werte anhängen, bis der Hash stimmt,
oder man versucht rückwärts ausrurechnen was man noch anhängen muß, damit es stimmt.

Und ansonsten kommen von mir keinen weiteren oder genaueren Hacking-Tips mehr,
außer man verrät glaubhaft wofür das sein soll und es ist auch nichts Illegales oder Unmoralisches.

klaus Meier9 18. Dez 2014 12:02

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Wie geschrieben es geht um eine ini Datei.
Der Computer steht beim Kunden und ist in einem Produktionsprozess eingebunden.
Es gibt ein Programm, das mit eienr Barch Datei gestartet wird und das sich auch selbst wieder beendet.
Die Checksum der Datei wird beim Start geprüft und falls sie nciht passt, wird eine Meldung angezeigt, die der Anwender bestätigen muss.
Da an dem Computer oftmals kein Anwender davor sitzt, läuft das Programm erst weiter, wenn jemand auf ok geklickt hat.

Mein Kunde sucht nun eine Möglichkeit, dass die Meldung nicht mehr angezeigt wird.
AutoIt oder ähnliches darf nicht installiert weden.

Das Programm ist >10 jahre alt.
Dieses Sicherheitsfeature ist inzwischen nicht mehr notwendig.
Der Source des Programmes ist nicht vorhanden und der Programmier ist nicht mehr verfügbar.

gammatester 18. Dez 2014 13:19

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Selbst nach Deiner Erläuterung sind noch einige Fragen offen:
  • Ist denn überhaupt der CRC16-Algorithmus bekannt, mit dem das Programm arbeitet?
  • Woraus ergibt sich der CRC-Sollwert?
  • Wieso ist der CRC-Wert überhaupt falsch? Wird die Datei extern geändert? Wenn ja, warum wird dann nicht der korrekte CRC-Wert eingesetzt?
  • Wenn die Datei gehackt wird, wie reagiert das Programm darauf?

klaus Meier9 18. Dez 2014 13:41

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Danke für Deine Antwort.
Der CRC Wert ist bekannt, da ihn das Programm anzeigt, z.B.:
CRC Fehler: soll E3F7, ist: E2EE

Es wird standard CRC16 verwendet.

Der CRC Wert ändert sich, da - wie geschrieben - die Ini geändert werden muss, es muss z.B. ein Pfad geändert werden.

Daten gehackt ... wie geschrieben - das Programm zeigt eine Meldung an und macht dann ganz normal weiter.

flipdascript 18. Dez 2014 13:59

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Warum paßt Du dann nicht einfach den CRC 16 Wert an nachdem Du den Pfad angepasst hast? Das hat gammatester auch schon vorgeschlagen.

klaus Meier9 18. Dez 2014 14:05

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Wie geschrieben - die Sourcen und der Programmierer sind nicht verfügbar.

Das Einzige was ich tun kann ist, einen Wert in die ini schreiben, der für die gewünschte CRC Summe sorgt.
Und dieser Thread wurde von mir gestartet mit der Frage, wie ich diesen Wert (ausser mit BruteForce) ermitteln kann.

Und wir verwenden:
http://www.efg2.com/Lab/Mathematics/CRC.htm

Dalai 18. Dez 2014 14:08

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Zitat:

Zitat von klaus Meier9 (Beitrag 1283900)
Mein Kunde sucht nun eine Möglichkeit, dass die Meldung nicht mehr angezeigt wird.
AutoIt oder ähnliches darf nicht installiert weden.

AutoIt muss nicht installiert werden, es reicht es auszupacken und zu benutzen. Solange man keine #includes benutzt, reicht sogar die nackte AutoIt3.exe.

MfG Dalai

gammatester 18. Dez 2014 14:40

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Die Aufgabe ist also: Ändere eine Pfadangabe in der Ini-Datei und einen Hack-Eintrag so, daß die CRC über die gesamte Datei $E3F7 ist.

Theoretisch ist es einfach, wenn Du binäre Wert in eine unbenutzte Sektion schreiben kannst, und sollte auch zeitlich kein Problem sein, wenn es nicht gerade Mega-Bytes sind: Ändere systematisch 16 Bit = 2 Zeichen bis die CRC stimmt.

Allerdings könnten dann problematische Zeichen #0, LF, CR, EOF etc auftauchen. Wenn nur ASCII-Zeichen verwendet dürfen, bin ich noch nicht mal sicher, ob es überhaupt immer eine Lösung gibt.

klaus Meier9 18. Dez 2014 14:40

AW: CRC16 einer Datei auf gewünschten Wert verändern
 
Danke.

a)
Die Sicherheitsrichtlinien auf dem PC verhindern das Ausführen bzw. das Fernsteuern von Maus / Tastatur und ähnliches.

b)
und klar, diese Art ausprobieren wird gemacht falls wir keine programmatische Lösung finden.
Die ini Datei ist ~2MB groß. Ist also keine standard Windows-ini.
Entsprechen dauert das Ausprobieren etwas länger.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz