AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi CRC16 einer Datei auf gewünschten Wert verändern

CRC16 einer Datei auf gewünschten Wert verändern

Ein Thema von klaus Meier9 · begonnen am 18. Dez 2014 · letzter Beitrag vom 18. Dez 2014
Antwort Antwort
Seite 1 von 2  1 2   
klaus Meier9

Registriert seit: 18. Dez 2014
23 Beiträge
 
#1

CRC16 einer Datei auf gewünschten Wert verändern

  Alt 18. Dez 2014, 11:40
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.100 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 18. Dez 2014, 11:54
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.

Geändert von himitsu (18. Dez 2014 um 12:20 Uhr)
  Mit Zitat antworten Zitat
klaus Meier9

Registriert seit: 18. Dez 2014
23 Beiträge
 
#3

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

  Alt 18. Dez 2014, 13:02
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.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#4

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

  Alt 18. Dez 2014, 14:19
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?
  Mit Zitat antworten Zitat
klaus Meier9

Registriert seit: 18. Dez 2014
23 Beiträge
 
#5

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

  Alt 18. Dez 2014, 14:41
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.
  Mit Zitat antworten Zitat
flipdascript

Registriert seit: 20. Mai 2008
25 Beiträge
 
Delphi 2010 Professional
 
#6

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

  Alt 18. Dez 2014, 14:59
Warum paßt Du dann nicht einfach den CRC 16 Wert an nachdem Du den Pfad angepasst hast? Das hat gammatester auch schon vorgeschlagen.
  Mit Zitat antworten Zitat
klaus Meier9

Registriert seit: 18. Dez 2014
23 Beiträge
 
#7

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

  Alt 18. Dez 2014, 15:05
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

Geändert von klaus Meier9 (18. Dez 2014 um 15:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#8

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

  Alt 18. Dez 2014, 15:08
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
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#9

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

  Alt 18. Dez 2014, 15:40
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.
  Mit Zitat antworten Zitat
klaus Meier9

Registriert seit: 18. Dez 2014
23 Beiträge
 
#10

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

  Alt 18. Dez 2014, 15:40
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.

Geändert von klaus Meier9 (18. Dez 2014 um 15:44 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 Uhr.
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