<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.bettyhacks.com/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.bettyhacks.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.44.130.209</id>
		<title>Bettyhacks.com - Hack BettyTV-Remote - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.bettyhacks.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=84.44.130.209"/>
		<link rel="alternate" type="text/html" href="http://www.bettyhacks.com/wiki/index.php?title=Special:Contributions/84.44.130.209"/>
		<updated>2026-04-21T16:13:51Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.2</generator>

	<entry>
		<id>http://www.bettyhacks.com/wiki/index.php?title=Smartcardchip</id>
		<title>Smartcardchip</title>
		<link rel="alternate" type="text/html" href="http://www.bettyhacks.com/wiki/index.php?title=Smartcardchip"/>
				<updated>2007-11-07T18:33:29Z</updated>
		
		<summary type="html">&lt;p&gt;84.44.130.209: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Hardware=&lt;br /&gt;
[[Image:SmartcardChip1.jpg|thumb|Der Smartcard-Chip ist rot umrandet]]&lt;br /&gt;
In der Betty-Fernbedienung ist folgender Smartcard-Chip eingebaut:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Security &amp;amp; Chip Card ICs&lt;br /&gt;
SLE 66C24PE&lt;br /&gt;
8/16-Bit Security Controller&lt;br /&gt;
68-Kbytes ROM, 2304 Bytes RAM, 2-Kbytes EEPROM&lt;br /&gt;
Dual Key Triple DES&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Leider gibt es nur eine sehr kurzes 8 seitiges [http://www.infineon.com/cms/en/services/download.html?filename=%2fdgdl%2fSPI_SLE66C24PE_0105.pdf%3ffolderId%3ddb3a304412b407950112b416848b20bf%26fileId%3ddb3a304412b407950112b41684c420c0&amp;amp;location=Products.Chip_Card___Security_ICs.Chip_Card_Controllers.SLE_66_family__Enhanced_High_Performance_Controller.SLE_66C24PE.DOCUMENTS.SPI_SLE66C24PE_0105.pdf PDF] mit Information zum Chip. Nicht einmal die Pinbelegung ist beschrieben.&lt;br /&gt;
&lt;br /&gt;
Anschlussbelegung:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
          Masse 1 o       8 Power&lt;br /&gt;
         nReset 2   SLE   7 Takt&lt;br /&gt;
           Data 3 66C24PE 6 nicht verbunden&lt;br /&gt;
nicht verbunden 4         5 nicht verbunden&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Chip ist wie folgt mit der CPU verbunden:&lt;br /&gt;
&lt;br /&gt;
* CPU Pin 132 (P2.17) steuert den nReset pin. Wird der CPU-Pin auf LO gesetzt ist der Reset aktiv.&lt;br /&gt;
&lt;br /&gt;
* CPU Pin 78 (P0.10) steuert ÃÂ¼ber einen externen Inverter den Power Pin. Wird der CPU-Pin auf LO gesetzt wird der Chip mit Spannung versorgt.&lt;br /&gt;
&lt;br /&gt;
* CPU Pin 40 (XCLK) ist ÃÂ¼ber einen externen Frequenzteiler mit dem Takteingang des Chips verbunden. Im Betrieb wird ÃÂ¼ber den CPU-Pin der 7,5 MHz Peripherietakt ausgegeben. Durch den Frequenzteiler wird der Takt halbiert. Der Smartcard-Chip wird dadurch mit mit 3,75 MHz getaktet.&lt;br /&gt;
&lt;br /&gt;
* CPU Pin 75 (TXD1) und CPU Pin 75 (RXD1) sind mit dem Daten Pin verbunden. Die Datenrate ist 1/64 der Taktfrequenz, also 58593,75 Bit/s und somit nahe an der von einem PC unsterstÃÂ¼tzen Baudrate von 57600 Bit/s (nur ca. 1,7% Abweichung). &lt;br /&gt;
&lt;br /&gt;
Zum Experimentieren kann man den Chip auslÃÂ¶ten und z.B. mit dem Mastermouse-Interface verbinden. Die andere Seite des Interfaces wird an die serielle PC Schnittstelle angeschlossen. Jetzt kann man mit einen Programm wie z.B. WinExplorer Kommandos an den Chip schicken und die Antworten auswerten. Dadurch lÃÂ¤sst sich das ÃÂbertragungsformat herausfinden und man kann eine Kommandoliste aufstellen.&lt;br /&gt;
&lt;br /&gt;
=ATR=&lt;br /&gt;
&lt;br /&gt;
Nachdem beim Chip ein Reset ausgefÃÂ¼hrt wurde, wird wie bei Smartcards ÃÂ¼blich, ein ATR ausgegeben. Jedoch ist dieser bei der Betty properitÃÂ¤r.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Betty-ATR:&lt;br /&gt;
03 02 01&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Das erste Byte enthÃÂ¤lt die Anzahl der ATR Bytes incl. des LÃÂ¤ngenbytes selbst.&lt;br /&gt;
* Das zweite Byte ist das Lifecycle Byte: 1=Virgin, 2=Personalisiert&lt;br /&gt;
* Das letzte Byte ist eine XOR PrÃÂ¼fsumme ÃÂ¼ber alle vorherigen Bytes.&lt;br /&gt;
&lt;br /&gt;
Bei allen Infineon-Chips gibts eine von Hersteller undokumentierte Funktion den Chip dazu zu bringen statt die Applikation zu starten den Hersteller-ATR auszugeben.&lt;br /&gt;
&lt;br /&gt;
Die Datenleitung muss dazu beim Starten auf LO gehalten und z.B. nach einer Sekunde wieder freigegeben werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
Hersteller-ATR:&lt;br /&gt;
33 66 00 04 9C FF xx xx xx xx xx xx 55 0A 07 22 5A&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Die sechs Byte mit xx enthalten eine eine vom Hersteller vergebene Seriennummer. Betty verwendet die gleiche Nummer (im Batteriefach der Fernbedienung).&lt;br /&gt;
* Die fÃÂ¼nfte Stelle gibt den Chiptyp an: 9C = SLE66C24PE&lt;br /&gt;
&lt;br /&gt;
=Protokoll=&lt;br /&gt;
&lt;br /&gt;
Der Kommandoblock hat folgenden Aufbau:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! LÃÂ¤ngenbyte&lt;br /&gt;
! Kommandobyte&lt;br /&gt;
! Optionale Datenbytes&lt;br /&gt;
|-&lt;br /&gt;
| EnthÃÂ¤lt die Anzahl der zum Chip gesendeten Bytes incl. des LÃÂ¤ngenbytes selbst.&lt;br /&gt;
| Gibt an welche Aktion der Chip durchfÃÂ¼hren soll.&lt;br /&gt;
| Bei manchen Kommandos nicht vorhanden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Antwortblock ist wie folgt aufgebaut:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! LÃÂ¤ngenbyte&lt;br /&gt;
! Statusbyte&lt;br /&gt;
! Optionale Datenbytes&lt;br /&gt;
! PrÃÂ¼fsummenbyte&lt;br /&gt;
|-&lt;br /&gt;
| EnthÃÂ¤lt die Anzahl der Antwortbytes incl. des LÃÂ¤ngenbytes selbst.&lt;br /&gt;
| An diesem Byte kann man erkennen ob das Kommando feherfrei ausgefÃÂ¼hrt wurde oder fehlgeschalgen ist.&lt;br /&gt;
| Bei manchen Kommandos nicht vorhanden.&lt;br /&gt;
| XOR PrÃÂ¼fsumme ÃÂ¼ber alle vorherigen Bytes dieses Antwortblocks&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Statuswerte in der Antwort haben folgende Bedeutung (Zahlen im Hex. Format):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Status&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 15&lt;br /&gt;
| Das Kommando wurde erfolgreich ausgefÃÂ¼hrt&lt;br /&gt;
|-&lt;br /&gt;
| 16&lt;br /&gt;
| Das Kommandobyte ist zwar gÃÂ¼ltig, jedoch nicht die ÃÂ¼bergebenen Daten&lt;br /&gt;
|-&lt;br /&gt;
| 17&lt;br /&gt;
| Das Kommandobyte ist ungÃÂ¼ltig&lt;br /&gt;
|-&lt;br /&gt;
| 18&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 19&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Durch das Ausprobieren aller 256 MÃÂ¶glichkeiten fÃÂ¼r das Kommandobyte und weglassen aller Kommandos bei denen Status 17 zurÃÂ¼ckgegeben wurde ist folgende Liste entstanden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folgende Kommandos werden unterstÃÂ¼tzt (Zahlen im Hex. Format):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Kommando&lt;br /&gt;
! In der Firmware&lt;br /&gt;
verwendet?&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| 3F&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 41&lt;br /&gt;
| Ja&lt;br /&gt;
| SC_ID auslesen&lt;br /&gt;
|-&lt;br /&gt;
| 42&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 43&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 44&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 45&lt;br /&gt;
| Ja&lt;br /&gt;
| SC_MEM auslesen&lt;br /&gt;
|-&lt;br /&gt;
| 46&lt;br /&gt;
| Ja&lt;br /&gt;
| SC_MEM beschreiben&lt;br /&gt;
|-&lt;br /&gt;
| 47&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 48&lt;br /&gt;
| Ja&lt;br /&gt;
| 12 dez. Byte lange Zufallszahl ausgeben&lt;br /&gt;
|-&lt;br /&gt;
| 49&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 4A&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 4B&lt;br /&gt;
| Nein&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 4D&lt;br /&gt;
| Ja&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 4F&lt;br /&gt;
| Ja&lt;br /&gt;
| ?&lt;br /&gt;
|-&lt;br /&gt;
| 50&lt;br /&gt;
| Ja&lt;br /&gt;
| SC_Sec_MEM auslesen&lt;br /&gt;
|-&lt;br /&gt;
| 51&lt;br /&gt;
| Ja&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Kommando 3F===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 41 (SC_ID auslesen)===&lt;br /&gt;
* wird in der Firmware bei Adresse 80035BA4 verwendet&lt;br /&gt;
* keine Kommando-Daten&lt;br /&gt;
* Daten im Antwortblock: Kommandobyte-Echo, 6 Byte lange ID (identisch mit der ID im Batteriefach), 00, 8 * unbekannte Bytes&lt;br /&gt;
&lt;br /&gt;
===Kommando 42===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 43===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 44===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 45 (SC_MEM auslesen)===&lt;br /&gt;
* wird in der Firmware bei Adresse 80035890 verwendet&lt;br /&gt;
* Kommando-Daten: Registernummer (DWORD), Unbekannt1 (DWORD)&lt;br /&gt;
* Daten im Antwortblock: Kommandobyte-Echo, 3 * 00, Unbekannt1-Echo (DWORD), Registernummer-Echo (DWORD), Registerinhalt (DWORD), 5 * unbekannte Bytes&lt;br /&gt;
* Wertebereich fÃÂ¼r Registernummer: 0 .. E2h&lt;br /&gt;
&lt;br /&gt;
===Kommando 46 (SC_MEM beschreiben)===&lt;br /&gt;
* wird in der Firmware bei Adresse 8003596C verwendet&lt;br /&gt;
* Kommando-Daten: Registernummer (DWORD), Registerinhalt (DWORD)&lt;br /&gt;
* keine Daten im Antwortblock&lt;br /&gt;
* Wertebereich fÃÂ¼r Registernummer: 0 .. E2h&lt;br /&gt;
&lt;br /&gt;
===Kommando 47===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 48 (12 Byte lange Zufallszahl ausgeben)===&lt;br /&gt;
* wird in der Firmware bei Adresse 800357C8 verwendet&lt;br /&gt;
* keine Kommando-Daten&lt;br /&gt;
* Daten im Antwortblock: Kommandobyte-Echo, 3 * 00, 12 dez. * Zufallsbytes&lt;br /&gt;
&lt;br /&gt;
===Kommando 49===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 4A===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 4B===&lt;br /&gt;
* wird in der Firmware nicht verwendet&lt;br /&gt;
&lt;br /&gt;
===Kommando 4D===&lt;br /&gt;
* wird in der Firmware bei Adresse 80035AFC verwendet&lt;br /&gt;
* Kommando-Daten: 0 bis 3Eh Bytes mÃÂ¶glich (die Firmware benutzt 4 Byte)&lt;br /&gt;
* Daten im Antwortblock: 4 * 8 Byte BlÃÂ¶cke (manchmal ist Block 2 und 3 identisch)&lt;br /&gt;
&lt;br /&gt;
===Kommando 4F===&lt;br /&gt;
* wird in der Firmware bei Adresse 80035568 verwendet&lt;br /&gt;
* Kommando-Daten: Unbekannt1 (DWORD), Unbekannt2 (DWORD)&lt;br /&gt;
* Daten im Antwortblock: Kommandobyte-Echo, 3 * 00, Unbekannt2-Echo (DWORD), 16 dez. * unbekannte Bytes&lt;br /&gt;
* Wertebereich fÃÂ¼r Unbekannt1: 0 .. Bh&lt;br /&gt;
&lt;br /&gt;
===Kommando 50 (SC_Sec_MEM auslesen)===&lt;br /&gt;
* wird in der Firmware bei Adresse 80035A10 verwendet&lt;br /&gt;
* Kommando-Daten: Registernummer (DWORD), Unbekannt1 (DWORD)&lt;br /&gt;
* Daten im Antwortblock: Kommandobyte-Echo, 3 * 00, Registernummer-Echo (DWORD), Registerinhalt (DWORD), 5 * unbekannte Bytes&lt;br /&gt;
* Wertebereich fÃÂ¼r Registernummer: 0 .. 95h&lt;br /&gt;
&lt;br /&gt;
===Kommando 51===&lt;br /&gt;
* wird in der Firmware bei Adresse 80035610 verwendet&lt;br /&gt;
* Kommando-Daten: Unbekannt1 (DWORD)&lt;br /&gt;
* Daten im Antwortblock: Kommandobyte-Echo, 3 * 00, Unbekannt1-Echo (DWORD), 8 * 00, 8 * unbekannte Bytes.&lt;/div&gt;</summary>
		<author><name>84.44.130.209</name></author>	</entry>

	</feed>