Reverse Engineering

P5CC036 ist meines Wissens ein Controller, kein Prozessortyp. Der Prozesser ist vermutlich (siehe http://www.charismathics.com/fileadmin/files/pdf/datasheets/SPI_P5CC036.pdf) ein Secure_MX51, welcher neben speziellen Erweiterungen ein 80c51-Instruction set implementiert. Dokumentation dazu gibts z.B. hier.

Ich frage mich aktuell nur, woher du weisst, dass das Blob ein Executable ist, welches in C geschrieben wurde. Er könnte doch auch nur Daten enthalten, beispielsweise Konfigurationen. In der Regel ist doch bei SmartCards nicht (nur) der Code interessant, sondern das Schlüsselmaterial, welches für die kryptographischen Funktionen verwendet wird.
 
Ich frage mich aktuell nur, woher du weisst, dass das Blob ein Executable ist, welches in C geschrieben wurde. Er könnte doch auch nur Daten enthalten, beispielsweise Konfigurationen. In der Regel ist doch bei SmartCards nicht (nur) der Code interessant, sondern das Schlüsselmaterial, welches für die kryptographischen Funktionen verwendet wird.

der witz an einer smartcard ist, das genau dieses material auch in einem dump nicht vorhanden ist ... man kann einmal, ggf. mehrmals auf die bereiche schreiben und so schlüssel hinterlegen, aber diese speicherbereiche sind sozusagen write-only ... die smartcard ist dafür entwickelt worden diese infos nicht wieder preis zu geben ... nur der smartcard prozessor darf von diesen speicherbereichen lesen, ggf auch nur die crypto sub einheit ...

typische ansätze das schlüsselmaterial zu extrahieren beinhalten entweder seitenkanal angriffe auf so dinge wie den stromverbrauch oder EMV, oder es wird gleich der chip aufgefräßt und schichtweise hochauflösend abfotografiert und ggf. neu kontatktiert sobald der entsprechende speicher freigelegt ist
 
der witz an einer smartcard ist, das genau dieses material auch in einem dump nicht vorhanden ist ... man kann einmal, ggf. mehrmals auf die bereiche schreiben und so schlüssel hinterlegen, aber diese speicherbereiche sind sozusagen write-only ... die smartcard ist dafür entwickelt worden diese infos nicht wieder preis zu geben ... nur der smartcard prozessor darf von diesen speicherbereichen lesen, ggf auch nur die crypto sub einheit ...

Und was ändert das an der Semantik des Blobs? Natürlich wird er nicht Schlüsselinformationen des privaten Schlüssels enthalten. Aber warum sollen das nicht beispielsweise Zertifikate, öffentliche Schlüssel oder verschlüsselte Daten sein?
 
P5CC036 ist meines Wissens ein Controller, kein Prozessortyp. Der Prozesser ist vermutlich (siehe http://www.charismathics.com/fileadmin/files/pdf/datasheets/SPI_P5CC036.pdf) ein Secure_MX51, welcher neben speziellen Erweiterungen ein 80c51-Instruction set implementiert. Dokumentation dazu gibts z.B. hier.

Ich frage mich aktuell nur, woher du weisst, dass das Blob ein Executable ist, welches in C geschrieben wurde. Er könnte doch auch nur Daten enthalten, beispielsweise Konfigurationen. In der Regel ist doch bei SmartCards nicht (nur) der Code interessant, sondern das Schlüsselmaterial, welches für die kryptographischen Funktionen verwendet wird.
genau richtig den prozessor meine ich,ich weiß das weil ich weiß was die karte tut,es geht auch nicht direkt um schlüssel sondern die karte simuliert ein system und das ist in C ich weiß auch wie es simuliert oder emuliert wird...aber es geht mir einfach drum ,wie man sowas grundsätzlich macht ,
 
weiß eigentlich jemand was hexbase bedeutet?.......und zwar nur von 0 bis F
um genau zu sein hexbase 18 und 19.
 
Zuletzt bearbeitet:
hexbase

hex-base
hexadecimal-base

sprich "zahl zur basis 16"

'0'=0
'1'=1
...
'9'=9
'A'=10
...
'F'=15

eine zahl zur basis x wird dargestellt als folge von ziffern ... ist nichts angegeben ist das meist die basis 10 (dezimal) ...

steht da hex dran ist die basis nicht 10 sondern 16 ... das gilt i.d.R. auch wenn die zahl anfäng mit 0x

sprich 0xAFFE ... 10*16^3 + 15*16^2 + 15*16^1 + 14*16^0 = 45054 = 4*10^4 + 5*10^3 + 0*10^2 + 5*10^1 + 4*10^0

hexbase 0x18 ist demnach 24 (dezimal) und 0x19 ist 25 (dezimal)
 
hexbase

hex-base
hexadecimal-base

sprich "zahl zur basis 16"

'0'=0
'1'=1
...
'9'=9
'A'=10
...
'F'=15

eine zahl zur basis x wird dargestellt als folge von ziffern ... ist nichts angegeben ist das meist die basis 10 (dezimal) ...

steht da hex dran ist die basis nicht 10 sondern 16 ... das gilt i.d.R. auch wenn die zahl anfäng mit 0x

sprich 0xAFFE ... 10*16^3 + 15*16^2 + 15*16^1 + 14*16^0 = 45054 = 4*10^4 + 5*10^3 + 0*10^2 + 5*10^1 + 4*10^0

hexbase 0x18 ist demnach 24 (dezimal) und 0x19 ist 25 (dezimal)
moin moin,

ja soweit sogut,wenn das so ist 18=24dezimal bedeutet das doch das zusätzliche buchstaben dazukommen oder?
es gibt aber systeme die wechseln ihre schlüssell zb. von hexbase 18 auf 19 um und diese schlüssel gehen aber nur von 0x00 bis 0xFF(16byte) deswegen ist das unlogisch oder?dann müßte ja in den schlüsseln auch ein I oder G drin sein ,ist es aber nicht.
 
ich find wikipedia schrecklich unverständlich,viel zu technisch!
abgesehen davon hatte ich das schon vorher gelesen bevor ich hier gefragt habe,ich habe doch oben beschrieben das bei hexbase 19 auch andere buchstaben auftauchen ist ja auch beschrieben in wikipedia was das zu bedeuten hat von hexbase 2-32,nur ich habe auch oben beschrieben,das wenn ich ein 16byte string von 18 auf 19 convertiere aufeinmal GGH6...usw auftauchen und da dran kann ich sehen das da was nicht stimmt weil es darf nur von 0x00 bis 0xFF gehen kein G kein H usw.......das ist mein problem was ich nicht verstehe,da hilft mir auch kein wikipedia und anscheinend auch kein google.
 
hi ich versteh ja wie du das meinst aber es passt ebend nicht zusammen,
schau so ist das unter hexbase 18:
:10201a0XXXXFFFFFF180490601D89471DF581E2A2
:10202b00C16F11BFF4D2FFFFFFFFFFFFFFFFFFF02
:10203c00FFFFFFFFFFF000000000000000000003E

nach den FFFFFF kommt die 18 die ,die hexbase ausweißt und danach
0490601D89471DF581E2C16F11BFF4D2 ,wie sieht das in hexbase 19 aus ?kann man sowas convertieren?
 
Zuletzt bearbeitet:
Zurück
Oben