Tamagotchi-Hack

Разбираем и анализируем электронные девайсы и гаджеты (а также собираем их обратно)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Tamagotchi-Hack

Post by Lavr »

Меня несколько увлёк вариант микропроцессора 6502 от Sunplus Technology Co. Ltd. который по Интернету
так и называют SunPlus CPU6502 или SunPlus 6502.
И я, погуглив материалы по нему, натолкнулся на довольно интересную информацию...

Думаю, многие помнят вот такую игрушку, называемую Тамагочи...
Tamagotchi_0124.jpg
Коллега rw6hrm упоминал где-то на страницах форума, что игрушка эта выполнена на основе 6502.
Но подробностей никаких не было. Сам я это "яйцо" в руках никогда не держал и видел лишь издалека... :wink:

В поиске материалов по SunPlus 6502, попалась мне страница, где собран материал, о том, как
некая Natalie Silvanovich, a security researcher on Google Project Zero, сподобилась "взломать" Тамагочи,
определить её процессор, как SunPlus 6502, и слить из неприступной Тамагочи, не имеющей интерфейсов,
её прошивку ПЗУ.

Natalie Silvanovich presented her successful attempts in analysing the TamaGotchi games

Возможно, это будет интересно прочесть многим.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Фото вскрытой Тамагочи для нашего форума, пожалуй, поинтереснее будет! :wink:
tamagotchi-rom-dump.gif
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Сделана Тамагочи на основе Generalplus GPLB5X series LCD controller. (Generalplus - подразделение Sunplus Technology)

Есть прямая ссылка на даташит этой микросхемы:
http://www.generalplus.com/products/lcd ... V19_ds.pdf

Но у меня по каким-то причинам не скачалось.

Другая ссылка на на даташит этой микросхемы здесь:
https://github.com/natashenka/Tamagotch ... master/die
но тоже не скачивается.

И не только у меня не скачивается:
The datasheet link had broken so a quick google found this possible alternative.
http://www.generalplus.com/doc/ds/GPLB5 ... V21_ds.pdf
Но и этот link - тоже broken.... Generalplus даташиты перепрятала... :wink:

Но в итоге искомый datasheet нашелся здесь:
https://datasheetspdf.com/datasheet/GPLB52640A.html
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Я, собственно, почему обратил внимание на Tamagotchi-Hack, возможно, что по аналогичной методике
может получиться внедриться в код Compukidz Laptop, и попробовать изменить его алгоритм работы.
compukidzL.jpg
Поскольку контроллеры этих игрушек, судя по всему, близки или даже идентичны - из набора Sunplus Technology Co. Ltd.

К сожалению, пока не совсем понятно, как Natalie Silvanovich смогла внедрить свой код,
понятно, что пин управляющей кнопки был использован как порт ввода-вывода, понятно, что программа
использовала видео-ОЗУ, понятно, что был задействован протокол SPI.

Непонятно пока, как через вывод кнопки эта программа была внесена в видео-ОЗУ.
По всем ссылкам упоминается видео-доклад Natalie Silvanovich, но по нему пока тоже не очень понятно... :-?


P.S. Есть еще "презентация" в формате PDF, размером в 40 МБайт:
"Many Tamagotchis Were Harmed in the Making of this Presentation [29c3]"
но её содержимое также оставляет желать лучшего... :-?

P.P.S. Видимо, не всем по нраву эта "реклама Hack-ов". Ссылка на видео, тоже протухла, "аккаунт удалён".
Пересмотрел видео-презентацию вот отсюда
: https://www.youtube.com/watch?v=c4PkcZScBV8
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Конвертировал презентацию в формате PDF "Many Tamagotchis Were Harmed in the Making of this Presentation [29c3]"
через сервис http://convertonlinefree.com/PDFToWORDRU.aspx# в формат MS Word.

Фото внутренностей Tamagotchi:
InTamaGo.gif
В презентации формата PDF много лишнего и огромных детских картинок, отсюда и 40 МБайт. :-?
Попробую откинуть всё лишнее, поскольку интересен лишь метод загрузки кода в сабж.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Просмотрел я все вышеперечисленные материалы... в общем особо грандиозного Hack-а как бы и нет... :-?

Во-первых это несколько не те Тамагочи, которые я помню, и про которые я написал "многие помнят вот такую игрушку".
Это шибко продвинутые Тамагочи образца 2010 года, у которых есть весьма интересные фичи:
- инфракрасный интерфейс: Тамагочи могут общаться друг с другом;
- SPI- интерфейс: внутренняя программа в ПЗУ имеет т.н. GeneralPlus Test Program, которая может проделать тесты, залить извне код и выполнить его;
- коннектор Serial ROM: через него подключаются внешние ПЗУ с дополнительными играм.

Во-вторых, и собственно, это самый трудный момент - необходимо было определить тип микроконтроллера внутри Тамагочи.

Здесь девушке помогли, декорпусировали "каплю" на плате обычными методами - кислотой, а далее
по фотографии кристалла девушка определила тип микроконтроллера:
GPLB52320.gif
Как она это сделала - не знаю. По всем источникам на кристалле был только серийный номер... :-?

После того, как определился микроконтроллер GPLB52320 от GeneralPlus, по даташиту стало ясно,
что внутри - урезанный (и расширенный) 6502, и следует анализирвать внешнее ПЗУ на повод
его кодов.
serEEPROM.gif
Содержимое ПЗУ было проанализировано, определены картинки и коды, после этого через флешь, согласно распиновке:
serFLASH.gif
в Тамагочу начали подставлять свой код, и смотреть, что получится...
В итоге получилось запрограммировать пины кнопок как выход SPI, и слить содержимое масочного ПЗУ
19-ю блоками.

Второй вариант - надо было разобраться, что делает эта самая GeneralPlus Test Program в ПЗУ.
В частности, она делает вот что:
• Polls port A for a code, runs test and outputs results on port B.
• Code 0x16 fills RAM up with code from Port B and jumps to it!
• Can dump code from any GeneralPlus LCD controller so long as Port A,
Port B and TEST are bonded.
То есть, она читает код по порту А и согласно ему может выполнить некоторые действия:
в частности, считать блок кодов из порта В и передать ему управление.
Вот, собственно, и всё... :-?

Я так кратко и без особого восторга, поскольку применительно к Compukidz Laptop, эта методика имеет
весьма далёкое отношение, поскольку коннектора Serial ROM у нас в нём нет, похоже, и эапустить код
мы так не сможем.

Вариант с GeneralPlus Test Program - ближе к телу. Но чтобы его использовать надо точно знать модель
микроконтроллера, залитого под "каплю".
У разных чипов GeneralPlus эта самая Test Program расположена по разным адресам и, вероятно,
управляющие коды надо посылать согласно конкретному даташиту на микроконтроллер...


P.S. На всякий случай, вот здесь обширная подборка средств разработки от GeneralPlus:
http://www.generalplus.com/1LVlangLNxxS ... _support_d
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Да... и со всеми этими экспериментами девушка угробила вот столько бедных Тамагочей... :wink:
TamaGo.gif
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Tamagotchi-Hack

Post by Lavr »

Lavr wrote:Другая ссылка на на даташит этой микросхемы здесь:
https://github.com/natashenka/Tamagotch ... master/die
но тоже не скачивается.
Вероятно, всё же у моей Оперы 9.64 проблемы с https://github.com/... :-?

Но весь архив Tamagotchi-Hack вместе с GPLB52640A-52320A-51640A-51320AV19_ds.pdf
скачивается: https://github.com/natashenka/Tamagotch ... master.zip

Только там порядка 30 МБайт.
iLavr