Natalie Silvanovich zeigt wie ein Thamagotchi zu hacken ist: http://hackaday.com/2012/12/31/tamagotchi-hacking-in-depth/ Die interessanteste Frage bleibt aber offen: Wie kann man das Masken-ROM des MCs dumpen? Vielleicht könnte man mit Mikroelektroden direkt auf den Chip gehen?
Vielleicht ein Mikroskop,wenns echtes MaskenROM und kein EPROM ist. 320 oder 640 kByte sind allerdings einiges.
>320 oder 640 kByte sind allerdings einiges. Das mit den 640 kByte für einen 6502 kann ich nicht so recht glauben. Ob sie sich da mal nicht verzählt hat ... >Vielleicht ein Mikroskop,wenns echtes MaskenROM und kein EPROM ist. Laut ihrer Aussage soll es ja eines sein. Das Mikroskop bräuchte wohl eine recht gute Auflösung. Kann man den Code wirklich sehen?
Microprobing scheint die Lösung zu sein: http://www.heise.de/newsticker/meldung/29C3-Tiefenanalyse-von-Mikrocontrollern-und-anderen-Chips-vereinfacht-1775185.html
chris schrieb: > Microprobing scheint die Lösung zu sein: > http://www.heise.de/newsticker/meldung/29C3-Tiefen... Ziemlich teuer wenn man das prof. machen lässt.
Dennis Heynlein schrieb: > Vielleicht ein Mikroskop,wenns echtes MaskenROM und kein EPROM ist. > 320 oder 640 kByte sind allerdings einiges. Kommt auch wieder stark auf den Prozess an, in dem gefertigt wurde (Strukturgröße). Und auf welcher Metallebene codiert wurde, z.T. liegen höhere Metallebenen drüber, sogar als Sichtschutz gedacht. Wenn die Bits in einer Via-Ebene codiert sind, hilft sowieso nur noch planparallel bis zur gewünschten Ebene abtragen. Und wenn man per Mikroskop auslesen kann, heisst das noch lange nicht, dass logisch zusammengehörige Bits auch physikalisch nebeneinander liegen... Da lässt sich beliebig viel Zeit vergraben - daher auch der Preis für professionelles Reverse Engineering
Electronics'nStuff schrieb: > Warum verwendet ein Mensch so viel Intelligenz und Zeit auf so einen > Abfall? Na weil man so seine eigenen Fähigkeiten trainieren kann. Deswegen haben Leute die sowas machen auch meist wesentlich mehr auf'm Kasten als jene die sich fragen wieso man sowas überhaupt macht. ;-P
undef schrieb: > Leute die sowas machen auch meist wesentlich mehr auf'm Kasten als jene > die sich fragen wieso man sowas überhaupt macht. ;-P Mir ist klar, dass das eine sehr kluge Frau sein muss. Allerdings würdest du dich auch wundern, wenn Ronaldinho auf einmal bei dir auf dem Fussballplatz rumkicken würde.
Electronics'nStuff schrieb: > Warum verwendet ein Mensch so viel Intelligenz und Zeit auf so einen > Abfall? Muss denn alles immer einen Sinn haben? Kann man manche Sachen nicht einfach mal so zum Spaß machen? Ich finde den Beitrag sehr interessant und bemerke des öfteren, dass im Video der gesamte Saal zu lachen beginnt. Also ist es eher mit etwas Humor zu nehmen. In etwa so wie diese Live-Hacking Auftritte von diversen (zum Teil sehr klugen) Informatikern.
chris schrieb: > Wie kann man das Masken-ROM > des MCs dumpen? Willst Du wirklich, daß deren Entwickler vor Scham in den Boden versinken müssen? Die sind doch heilfroh, daß keiner weiß, was für stümperhafte Programme sie darin verbrochen haben. Peter
>Willst Du wirklich, daß deren Entwickler vor Scham in den Boden >versinken müssen? Ich weiß nicht. Die Tamagochis wurden sicherlich mehrere Millionen Mal verkauft. Bei dem Erfolg finde ich den Programmierstiel zweitrangig. Es muss immerhin so gut gemacht sein, dass sich die Teenies längere Zeit damit befassen. Natalie erwähnt in ihrem Video, dass es sich bei dem Programm um eine riesige Switch-Case Anweisung handelt. Vielleicht könnte man das Ganze als eine Art große Statemachine betrachten, deren Zustände im externen EEPROM liegen.
bei Minute 12:10 hat sie ja mal aufgeschrieben welcher Prozessor vom optischen Vergleich her in Betracht kommt. http://mirror.fem-net.de/CCC/29C3/mp4-h264-HQ/29c3-5088-en-many_tamagotchis_were_harmed_in_the_making_of_this_presentation_h264.mp4 Für mich ist ja meist bei einem OTP/MaskROM Schluß mit Interesse an Reverse Eng.
Peter Dannegger schrieb: > Willst Du wirklich, daß deren Entwickler vor Scham in den Boden > versinken müssen? Ich gehe davon aus, dass Natalie S. den Code, sollte sie ihn jemals hacken, nicht veröffentlicht. Andernfalls dürfte sie Ärger bekommen (Copyright), was sie sicher nicht will. Sicher achtet man schon auf ihr Tun. Auch ich schaue mir als Programmierer immer wieder gern an, wie man so etwas realisiert hat. Ich bin selbst am Code aus einem MB8843 interessiert, der in einem alten Spielzeug MZ-40K von Sharp steckt. No chance, ausser, man zahlt für das teure RE-Verfahren. Doch so viel ist die Neugierde dann auch nicht wert.
Karl-Heinz M. schrieb: > Auch ich schaue mir als Programmierer immer wieder gern an, wie man so > etwas realisiert hat. Ehe ich mir ein Disassembly anschaue, muß das Programm schon wirklich was sehr interessantes leisten. Ein Tamagotchi kann doch jeder Anfänger ruckzuck in Bascom zusammen schustern. Fremden Code schaue ich mir nur im Klartext als C/C++ Source an. Peter
Peter Dannegger schrieb: > Ehe ich mir ein Disassembly anschaue, muß das Programm schon wirklich > was sehr interessantes leisten. Der eine so - der andere so, klar. Für manch einen ist etwas interessant, was jemand anders überhaupt nicht interessiert. Es geht mir nicht darum das Rad neu zu erfinden, sondern das erfundene Rad zu untersuchen, das macht den Reiz für mich aus. Das kann kein Anfänger. Der kann nur Tamagotchis programmieren, wie Du meinst... Wollte ich etwas kopieren und würde mich das Original gar nicht interessieren, wär ich hier nicht da gewesen ;-) Warum warst Du hier? ;-) Wegen der Info, dass Du als Anfänger Tamagotschis programmieren kannst? ;-) Disassemblies zu untersuchen sind auch nichts für Anfänger, da geb ich Dir recht.
Natalie S. hat sich aber das Interesse am elektronischen Spielzeug über die vom Hersteller geplante Aufmerksamkeitsspanne erhalten.
Dennis Heynlein schrieb: > Natalie S. hat sich aber das Interesse am elektronischen Spielzeug über > die vom Hersteller geplante Aufmerksamkeitsspanne erhalten. Ihr Interesse kann ich gut nachvollziehen. Damit rechnen Hersteller sicher und versuchen, das zu verhindern. Kann ich auch nachvollziehen.
Electronics'nStuff schrieb: > Allerdings würdest du dich auch wundern, wenn Ronaldinho auf einmal bei > dir auf dem Fussballplatz rumkicken würde. Mist, dann war er das gar nicht? ;-)
Peter Dannegger schrieb: > Die sind doch heilfroh, daß keiner weiß, was für stümperhafte Programme > sie darin verbrochen haben. Wenns denn keiner weiß, woher Du?
chris schrieb: > Natalie Silvanovich zeigt wie ein Thamagotchi zu hacken ist: > http://hackaday.com/2012/12/31/tamagotchi-hacking-in-depth/ Die Stimme ist so richtig zum abgewöhnen...
Karl-Heinz M. schrieb: > Der kann nur Tamagotchis programmieren, wie Du meinst... Ich kenne die nur vom Hörensagen. Selber habe ich noch keins gesehen. Der Programmablauf dürfte etwa folgender sein: - Timer starten - Timer läuft ab -> Anzeige: "Hunger" - Taste "Füttern" drücken -> weiter usw. Das sollte wirklich auch ein Anfänger schaffen. Der Trick an den Tamagotchis war nur der, die Idee dazu zu haben und einen Markt dafür zu schaffen. Also nicht die Software war das primäre Problem. Daher habe ich weder Interesse an der SW, noch erwarte ich in der SW irgendeine Innovation. Peter
Peter Dannegger schrieb: > Der Programmablauf dürfte etwa folgender sein: Man merkt, dass du den Vortrag nicht angeguckt hast. Da steckt inzwischen mehr dahinter, die Dinger können mit IR kommunizieren (eine Motivation von Natalie war wohl, aus einem Tamagotchi eine TV-B-Gone zu machen), haben eine Schnittstelle für Aufsteckmodule und können "Nachkommen" produzieren. ...nicht wirklich genug um das Spielzeug für mich interessant zu machen - und mit dem Mask-ROM wirds direkt noch ein tacken uninteressanter - aber durchaus lustig. :) Und der Vortrag war toll, auch weil er eben nicht nur aus "seht her was ich tolles gemacht habe" bestand, sondern auch die Irrwege beschreibt. Viele Grüße, Simon
Hans Franz schrieb: > Die Stimme ist so richtig zum abgewöhnen... Was ja nun auch total wichtig ist... hört sich für mich eher so an, als ob die total unter Stress steht bzw. aufgeregt ist. Wie auch immer, ich fand den Beitrag ganz amüsant, vor allem das mit den drei Bits fürs Gesdchlecht oder so :-) Grüße Markus
Markus M. schrieb: >> Die Stimme ist so richtig zum abgewöhnen... > > Was ja nun auch total wichtig ist... In dem Fall nicht. ;-) > hört sich für mich eher so an, als ob die total unter Stress steht bzw. aufgeregt ist. Genau das dachte ich auch sofort. Geht wohl jedem so, wenn man nicht oft Redner(in) vor grossem Publikum ist.
Ich frage mich, wie ein 6502 Derivat mit angedockten LCD Kontroller immerhin 640k/320k ROM addressieren kann, bzw. ob sie sich da nicht doch vertan hat oder ein Typo drin hat. 32kB bzw. 64 kB würden ja vermutlich dicke reichen, zumal sie ja auch vermutet, das das Tamagotchi 'OS' aus einem einzigen langen switch-case Konstrukt besteht. Ist schon nett, wozu man ein STM32F4 alles benutzen kann, hehehe. Der kleine VL hätte ja wohl nicht gereicht.
Matthias Sch. schrieb: > Ich frage mich, wie ein 6502 Derivat mit angedockten LCD Kontroller > immerhin 640k/320k ROM addressieren kann Da gab es Möglichkeiten: Bank switching; 64k je Bank: http://en.wikipedia.org/wiki/Bank_switching http://www.6502.org/users/andre/adv65/index.html http://mirrors.apple2.org.za/ground.icaen.uiowa.edu/MiscInfo/Programming/auxmem.minimanual Ausserdem ist da wohl auch noch mehr als der Tama untergebracht, wenn ichs nicht falsch interpretiert hab: http://www.kwartzlab.ca/2010/12/tamago-hacking-home-edition-ac/#more-444 Viell. hat sie sich aber einfach verkalkuliert oder es werden nur 32/64k genutzt?
Die CPU die gezeigt wurde hat 320Kbyte ROM und zwar werden zwei Banking eingeblendet. Hauptziel dieser CPU ist Sound, deshalb auch der große Speicher wie auch LCD, auch für das ist der Speicher nicht schlecht.
Chris schrieb: > und zwar werden zwei Banking > eingeblendet Und was ist mit dem Rest (320 - (2 x 64))? Oder hab ich das mißverstanden? Die 6502 hat nur 16 Adressleitungen für 64k.
Karl-Heinz M. schrieb: > Chris schrieb: >> und zwar werden zwei Banking >> eingeblendet > > Und was ist mit dem Rest (320 - (2 x 64))? Oder hab ich das > mißverstanden? > > Die 6502 hat nur 16 Adressleitungen für 64k. Bankswitching .... z.B. wie beim Gameboy. http://gbdev.gg8.se/wiki/articles/Memory_Bank_Controllers Der ROM wird in mehrere Bänke aufgeteilt die stückweise in den Adressbereich der CPU eingeblendet werden durch eine zusätzliche Adresslogik, die zum Beispiel durch I/O-Register oder spezielle Adressen gesteuert wird, zwischen CPU und ROM. Die Lösung Gameboy ist allerdings eine Pre-Design-Variante und es gibt elegantere Lösungen.
>Die CPU die gezeigt wurde hat 320Kbyte ROM und zwar werden zwei Banking >eingeblendet. Hauptziel dieser CPU ist Sound Wobei der im Film zu hörende Sound des Tamagotchi sich nicht unbedingt nach hunderten von KByte anhört. Für mich hört sich das nach ein-stimmigen Piepsen mit einfachem Tongenerator an. Als nicht wie ein WAV-File, welches viel Speicher rechtfertigen würde.
chris schrieb: >>Die CPU die gezeigt wurde hat 320Kbyte ROM und zwar werden zwei Banking >>eingeblendet. Hauptziel dieser CPU ist Sound > > Wobei der im Film zu hörende Sound des Tamagotchi sich nicht unbedingt > nach hunderten von KByte anhört. Für mich hört sich das nach > ein-stimmigen Piepsen mit einfachem Tongenerator an. Als nicht wie ein > WAV-File, welches viel Speicher rechtfertigen würde. Also wenn es da um das verprassen von Speicher geht und vielleicht nicht wirklich Leistung relevant ist, hätte ich da noch einen Tipp :) Fängt mit J an und mit AWA auf.
Datenspeicher für Animation/Sound muß man nicht banken, den kann man an beliebige IOs ranpappen oder auch seriell (SPI, I2C). Peter
Martin Kreiner schrieb: > Dennis Heynlein schrieb: > >> Fängt mit J an und mit AWA auf. > > Kenne ich nicht, was soll das sein? Für Dich ein V und dein heiliger Gral ist nur aus Plastik.
Matthias Sch. schrieb: > Ich frage mich, wie ein 6502 Derivat mit angedockten LCD Kontroller > immerhin 640k/320k ROM addressieren kann, bzw. ob sie sich da nicht doch > vertan hat oder ein Typo drin hat. 32kB bzw. 64 kB würden ja vermutlich > dicke reichen, zumal sie ja auch vermutet, das das Tamagotchi 'OS' aus > einem einzigen langen switch-case Konstrukt besteht. Also mein Apple][ hatte 256kB dynamisches RAM, +16kROM + diverser statischer Speicher auf den Karten die alle gezielt ansprechbar waren, mit dem original einfachen 6502. z.B. lief da ne 192KB Ramdisk drin. Natürlich nicht linear ansprechbar gehen ja nur 64KB. Wenn es bezahlbare größere Chip damals gegeben hätte, hätte er wohl auch mehr gehabt. Da der Apple][ ein sehr gutes Hardwaremanagement hatte, hätte man da noch sehr viel einbauen können und das alle voll kompatible zu der vorhandenen Software.
Dennis Heynlein schrieb: > Karl-Heinz M. schrieb: >> Chris schrieb: >>> und zwar werden zwei Banking >>> eingeblendet >> >> Und was ist mit dem Rest (320 - (2 x 64))? Oder hab ich das >> mißverstanden? >> >> Die 6502 hat nur 16 Adressleitungen für 64k. > > Bankswitching .... > > z.B. > > wie beim Gameboy. > http://gbdev.gg8.se/wiki/articles/Memory_Bank_Controllers > > Der ROM wird in mehrere Bänke aufgeteilt die stückweise in den > Adressbereich der CPU eingeblendet werden Genau das hatte ich ja mittels Links statt eigener Worte erklärt. Chris spricht aber von 2 Banks, also 128k. Wir reden aber von noch mehr, nämlich 320 oder gar 640. 2 Banks zu 64 langen da nicht. Da bleibt bei den von Chris genannte 2 Banks noch etliches übrig. Was damit ist, hat er unbeantwortet gelassen. Viell. aber steh ich auch auf dem Schlauch.
Hier das Memory Mapping. SPU = Sound Processing Unit, max 8 Channels mit 57Khz und polyphonen Kanälen zusätzlich, muss aber nicht benutzt werden. Für mich passt der LCD Controller nicht ganz zu den Tamagotchi´s und ich würde eher zu einer Weltrend CPU tendieren, wobei theoretisch auch der genannte Prozessor eingesetzt werden könnte.
Inzwischen hat Natalie ausdauernd weitergemacht. Sie hat das ROM geknackt und gedumpt, kennt sich mit Sound und Display aus, kann Befehle ausführen und fand einen Debug-Mode in dem Teil: http://www.kwartzlab.ca/author/natalies/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.