AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ZVT - Reversal

Ein Thema von BerTa · begonnen am 4. Aug 2022 · letzter Beitrag vom 5. Aug 2022
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: ZVT - Reversal

  Alt 4. Aug 2022, 17:38
Ach ja,

Code:
CRC_16B   = oBBuffer

-         = $10 // DLE
-         = $02 // STX
6         = $06 // Storno-APDU
48        = $30 // 48
6         = $06 // 6 = APDU-Length ( Password bis lAiBon ??? )
00        = $00 // 000000 = Password
00        = $00 // ...
00        = $00 // ...
135       = $87 // 135 = Bon-Nr.
lAiBon[0] = lAiBon[0]
lAiBon[1] = lAiBon[1]
3         = $10 // DLE <<<<<<<<<<<<<<<<<<<<<<<<<
-         = $03 // ETX <<<<<<<<<<<<<<<<<<<<<<<<<
CRC       = StrToInt(osCrcLow)
CRC       = StrToInt(osCrcHigh)

Bei CRC_16B fehlt eine $10 ?


Wieso kopiert man das Array von CRC_16B nicht direkt in oBBuffer?
Da wären dann nur noch die ersten beiden Bytes nötig und anschließend noch das CRC
und alles dazwischen gäbe es nur einmal, ohne Fehler dank doppelter Wuchhaltung.

Und wieso kommt jemand auf die komische Idee ALLES zwanghaft als Hexadezimal zu übergeben, und dann sinnlos als Kommentar nochmal den richtigen Wert,
anstatt gleich den richtgen Wert zu übergeben und so potentielle Übersetzung-/Umrechnungs-/Konvertierungsfehler auszuschließen?

Weshalb sind STX, ETX und DLE keine Konstanten?

Warum sind osCrcLow/High als String?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Aug 2022 um 17:47 Uhr)
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: ZVT - Reversal

  Alt 5. Aug 2022, 08:22
Ok, anhand dieses Repository (https://github.com/Portalum/Portalum...c/Portalum.Zvt) komm ich auch auf eine ähnliche Zusammenstellung für Reversal:
Code:
DLE
STX
06
30
06
PW
PW
PW
87
RN
RN
DLE
ETX
CS
CS
Die Länge mit sechs scheint sich tatsächlich nur auf drei Bytes Passwort, $87 als Marker für die Rechnungsnummer und zwei Byte für die Rechnungsnummer zu sein. Da ziehe ich meinen obigen Einwand zurück.
Daher kann es eigentlich nur sein, dass das Password, die Rechnungsnummer oder die Checksumme falsch sind.

EDIT: Oder das schreiben auf dem ComPort, wobei ich hoffentlich davon ausgehe, dass dies korrekt gehandelt wird?

Geändert von TiGü ( 5. Aug 2022 um 08:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: ZVT - Reversal

  Alt 5. Aug 2022, 12:33
Daher kann es eigentlich nur sein, dass das Password, die Rechnungsnummer oder die Checksumme falsch sind.
Zumindestens scheint sie ja was Anderes zu berechnen ... siehe in #9 die letzten beiden Bytes ... 03 vs 10 03


Ist manchmal etwas unpraktisch, mit einer doppelten Datenhaltung.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz