Hello, Guest the thread was viewed5.6k times and contains 132 replies

last post from detlef at the

68000 Code Spezialist für ZyXEL U-1942 Firmware Hacking gesucht

  • Ich tippe darauf das auf der Modem Platine noch ein EEPROM ist so ein kleines 8 beiniges.


    In dem wird die Konfiguration, Seriennummer und auch das Modell (bzw. die freigeschalteten Funktionen) gespeichert sein.

    Kurz gesagt das reversen der Firmware kann man sich sparen wenn man das EEPROM lokalisiert und neu programmiert.

    Interessant. Der U20 Chip, der mit dem "ED.A-1" Aufkleber versehren ist, sieht nach EPROM aus? Da wäre aber gleich rechts daneben U19, ein 8 beiniger CSI CAT24C04P 09318B - ein Serial EEPROM 512x8 8-Pin. Also vermutlich das, was du meinst.

  • Wenn ich Recht habe müsste man einen freien Platz in der Firmware finden um eine Update Routine ähnlich der, die in 6.12 enthalten ist, die andere Werte in das EEPROM schreibt zu finden. Möglicherweise kann man die vorhandene nutzen und benötigt den Platz nur um extra Code unterzubringen, der ein paar zusätzliche Werte modifiziert

    Den Part verstehe ich nicht. Was für eine Update Routine ("ähnlich der, die in 6.12 enthalten ist")? Was updated diese Routine? Das EEPROM?

    Wie viele Modems sollen den upgedatet werden

    Also bei mir erst mal nur eins ;)

    Ist kein vollständiges Modem vorhanden wäre auch ein Hardware Breakpoint mein Mittel der Wahl.

    Sprich CPU anhalten sobald auf das EEPROM zugegriffen wird und Adressbus auslesen.

    Damit man weiss wo sich die routine für das EEPROM befindet.

    Was meinst Du mit "vollständiges Modem"? Ich habe ein vollständiges U-1496EG+ (inklusive Handbuch, Registrierkarte & Co) und ein U-1496E+ ohne Netzteil. 1496 Netzteile scheinen offenbar weit seltener und auch wertvoller zu sein, als das ZyXEL Modem selbst.

  • Es gibt sicher nicht nur eine elegante Lösung.

    Die einfachste wäre man findet mehr moder weniger geheime AT Befehle in der Firmware die eine Freischaltung ermöglichen.

    So was gibt es wohl. Aber die Freischaltung ist wohl flüchtig - nach dem nächsten Reset wieder weg.
    Ich wollte auch keine unsportliche Abkürzung. ;)



    Wenn man einen Dump von einem freigeschaltetem Modem hat wäre die zweite eleganteste Methode eine spezielle Firmware zu haben die nichts weiter tut als das EEPROM abzudaten und es erlaubt eine normale Firmware einzuspielen. Hier hatten wir vermutlich einen geringfügig kleineren Aufwand weil man nur zwei Dinge verstehen muss Zugriff auf das serielle EEPROM und wie funktioniert der Updatemechanismus.

    Die einfachste Möglichkeit wäre es einfach das serielle EEPROM incircuit oder ausgebaut neu zu programmieren.

    Verstehe ich nicht. Was ist für Dich die "normale Firmware"? Die Firmware in den EPROMs U24 und U25 ist doch die normale Firmware. U-1496E+ (ohne Wahlsperre) und U-1496EG+ (mit Wahlsperre) nutzen die gleiche Firmware.

    Klar gibt es auch noch den Weg die beschränkungen aus der Firmware zu patchen was aber ein sehr gutes Verständnis selbiger vorraus setzt.

    Eine gute Frage ist was passiert wenn man das EEPROM durch ein leeres ersetzt.

    Wird es dann initialisiert.

    Interessanter Ansatz. Aber im Gegensatz zum Austausch von EPROMs invasiv.

  • Ich würde ja eher den EEPROM-Inhalt der "tollen" Karte mal testweise in das EEPROM der "nicht so tollen Karte" schreiben und schauen, was sich dann tut.


    Vorher halt den Inhalt sichern und/oder überhaupt ein anderes (neues) EEPROM nehmen.

    "Where all think alike, no one thinks very much." - "Wo alle dasselbe denken, denkt keiner viel."

    (Walter Lippmann, "The Stakes of Diplomacy", 1915)


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • frank128 deine Firmware ist das eine Update-Datei oder ein Dump des Firmware Flash?

    Falls es kein Dump ist, ist deine Firmware wahrscheinlich nicht vollständig selbst wenn die Größe identisch mit dem EPROMs ist.

    Was passiert wenn man den/die EPROMs eines U-1496E+ auf ein U-1496EG+ transplantiert? Ändert sich das Modell oder nicht?

    Davon auszugehen nur weil die Update Datei gleich ist, ist auch der Inhalt nach einem Update gleich ist blauäugig und meistens falsch.

    Ändert sich das Model nach einer Firmware Transplantation nicht, wird das Modell wo anders gespeichert vermutlich im CAT24C04P.

    Was ist das für ein chip mit dem ED.A-1 Aufkleber? Ist das noch ein Flash? Evtl. Die DSP Firmware? Dann können die Unterschiede auch hier liegen.

    Vermutlich befindet sich die Konfiguration und auch das Modell E bzw EG in dem kleinen 24C04 EEPROM kopiert man hier den E+ Inhalt auf ein EG+ chip ist das Modem danach ein E+.

    Wenn man die Firmwar die Recht gross ist disassembliert hatte und weiss wo die Zugriffe auf den 24C04 liegen und weiss wie dessen Inhalt zu verstehen ist, kann man ein Patch machen was den EG-E Unterschied nicht mehr vom 24C04 ließt sondern fest immer E annimmt dafür ist aber eine lange Analyse der Firmware notwendig. Das ist sicher nicht unmöglich aber 10x so aufwendig wie ein paar Bits im 24C04 flippen und fertig. Der Chip hat 512 Byte Speicher zur no kann man da noch fast jedes Bit einzeln testen.

    Vermutlich sind von den 512 Bytes die meisten 00 oder FF.

    Kann man nicht einfach ATS38=2 AT#G255 ATS38=0 im Anwahlstring oder besser noch im Initalisierungsstring unterbringen? Wenn es nur um die Wahlsperre geht?

  • Der U20 Chip, der mit dem "ED.A-1" Aufkleber versehren ist, sieht nach EPROM aus?

    Hier findet man ein Bild ohne Aufkleber auf dem Chip: MC68B54, wird hier wohl als UART verwendet.

  • Ich würde ja eher den EEPROM-Inhalt der "tollen" Karte mal testweise in das EEPROM der "nicht so tollen Karte" schreiben und schauen, was sich dann tut.


    Vorher halt den Inhalt sichern und/oder überhaupt ein anderes (neues) EEPROM nehmen.

    Wie mache ich das? Ich vermute der XGECU T56 kann das mit dem richtigen Adapter?

  • Ich habe irgendwie bisher ignoriert das die Firmware in 2 EPROMS ist die man nicht updaten kann das hat wohl etwas zur Verwirrung beigetragen.

    Da davon gesprochen wurde das durch Update Funktionen nachgereicht wurden war ich in meinem Kopf davon ausgegangen das das Update nicht als EPROM Set verschickt wurde.

    Demnach sind also alle Firmware Version vollständig und keine Update Patches wie es sie bei updatebarer Firmware öfters gibt.

    Damit ist klar das der Schlüssel eigentlich nur im 24C04 liegen kann.

    Ja der steht in der Supportliste sowohl direkt ohne Adapter als auch über ISP.

    Damit letzteres funktioniert muss aber wahrscheinlich die 5V Leiterbahn zum Rest der Platine unterbrochen werden.

    Also am besten auslöten und Sockel rein.

  • Damit ist klar das der Schlüssel eigentlich nur im 24C04 liegen kann.

    Oder in irgendeinem beliebigen anderen Unterschied zwischen EG+ und E+ Platine, der per Software abgefragt werden kann. Die Boards unterscheiden sich ja sehr stark.

  • ... deine Firmware ist das eine Update-Datei oder ein Dump des Firmware Flash?

    Zwei .rom Dateien mit dem Inhalt der EPROMs U24 und U25.

    https://ftp.gwdg.de/pub/misc/zyxel-euro/U-1496E/firmware/


    Was passiert wenn man den/die EPROMs eines U-1496E+ auf ein U-1496EG+ transplantiert? Ändert sich das Modell oder nicht?

    Laut folgender Aussage ändert sich da nichts:

    Gerade mal die Eproms ausgebaut und ausgelesen, waren 6.13 Roms verbaut und der Inhalt ist identisch mit der 6.13 vom E+.

  • Damit ist klar das der Schlüssel eigentlich nur im 24C04 liegen kann.

    Ja der steht in der Supportliste sowohl direkt ohne Adapter als auch über ISP.

    Damit letzteres funktioniert muss aber wahrscheinlich die 5V Leiterbahn zum Rest der Platine unterbrochen werden.

    Also am besten auslöten und Sockel rein.


    Habe mir für die bevorstehenden invasiven Tests ein günstiges gebrauchtes ZyXEL U-1496EG+ (ohne Netzteil) gekauft. Da kann ich dann rumlöten und testen. Meinem teuer erworbenen NOS Modem wollte ich das nicht antun. ;)

  • Die 6.13 ist die Version wo man es mit AT Befehl dokumentiert deaktivieren kann. (hält vermutlich bis zum nächsten Hardreset.

    Vorsicht, das EEPROM muss möglicherweise zur Firmware passen.

    Das bedeutet ein Downgrade kann es erforderlich machen das ein dazu passendes EEPROM Dump eingespielt wird.

    Upgrades sind da eher unproblematisch.

  • Damit ist klar das der Schlüssel eigentlich nur im 24C04 liegen kann.

    Ja der steht in der Supportliste sowohl direkt ohne Adapter als auch über ISP.

    Damit letzteres funktioniert muss aber wahrscheinlich die 5V Leiterbahn zum Rest der Platine unterbrochen werden.

    Also am besten auslöten und Sockel rein.

    Es gibt theoretisch noch die Möglichkeit, dass über Lötjumper o. ä. die Unterschiede konfiguriert werden und dass im Eeprom nur die üblichen Einstellungen gespeichert sind. Man müsste die Boards mal vergleichen.

  • Damit ist klar das der Schlüssel eigentlich nur im 24C04 liegen kann.

    Oder in irgendeinem beliebigen anderen Unterschied zwischen EG+ und E+ Platine, der per Software abgefragt werden kann. Die Boards unterscheiden sich ja sehr stark.

    Stimmt.

    Ich habe heute mal wieder meine beiden U-1496 in Betrieb genommen, ein 1496E und ein 1496EG+ ... Dann fiel mein Blick auf die U24 und U25, 27C1001 EPROMs mit 2 x 128K x 8. Dann beim 1496E gleich dahinter zwei RAMs 62256, also 2 x 32K x 8. ... Es gibt den MC68B54, offenbar für die RS-232, 2x TMS320C25 und einige Chips aus der 74 TTL Serie. Außerdem ZX1001 und ZX1002, die es auch beim 1496E gibt, über die ich aber nichts herausfinden konnte. .... Ein Unterschied zwischen U1496E und EG+ ist noch, daß das E jeweils einen ZX1003 und ZX1004 besitzt, wo beim EG+ stattdessen je ein TMS320C25 sitzt. Und diese beiden DSPs besitzten jeweils nur ca. 1KB RAM.

  • Entferne doch mal den grünen Aufkleber unter dem sich ein G oder auch nicht befindet.

    Befindet sich dort eins ist die Platine sehr wahrscheinlich nur eine andere Revision die auf gerade verfügbare Bauteile Rücksicht nimmt.

    Befindet sich dort keins sind es zwei unterschiedliche Platinen.

    Die abweichende Partnummer lässt aber vermuten das dort kein G steht.

    Trotzdem würde ich ein Transplantat des EEPROMs zusammen mit den zugehörigen ROMs versuchen.

  • Die 6.13 ist die Version wo man es mit AT Befehl dokumentiert deaktivieren kann. (hält vermutlich bis zum nächsten Hardreset.

    https://www.pointomega.de/static/doku/wahlsp.html

    ZyXel U-1496 EG+ V6.13

    ATS38=2

    AT#G255
    ATS38=2


    funktioniert bei meinem ZyXEL U-1496EG+ mit Firmware 6.12 nicht. Ich werde 6.13 testen, wenn mein zweites U-1496EG+ bei mir ankommt. Was aber funktioniert mit Firmware Version 6.12 ist:

    Quote from ZyXEL U-1496 Series Firmware 6.12 release notes

    In EG+ model, no more blacklist but the modem delays 30 seconds between every call. Press D/V button on EG+ or "MENU" key on SG+ will skip the delay and dial immediately.

    Wer hat von Euch eigentlich ein ZyXEL U-1496SG+ ?

  • Befindet sich dort eins ist die Platine sehr wahrscheinlich nur eine andere Revision die auf gerade verfügbare Bauteile Rücksicht nimmt.

    Achso, deswegen hat das EG+ Board nur eine RJ-Buchse. Die hatten vermutlich nicht genug RJ-Buchsen auf Lager. ;)