Перейти к содержимому
Калькуляторы

DES-2108/B1 (пластик) теряют управление ровно через 30 секунд после старта

Есть и работают.

Дело не в них. Вернее, не только в них.

 

В том блоке, о котором говорит @myth по смещению 0x1b0000 лежит конфиг свички. И первые 6 байт - как раз MAC. И он не тот, что в бутварах, а тот, что напечатан на корпусе свички.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

16 минут назад, sol сказал:

смещению 0x1b0000 лежит конфиг свички

Судя по тому, что этой флешке никакого особого драйвера не нужно (судя по даташиту), можно попытаться ее записать (или хотя бы проверить, пишется ли в нее) командами по типу "mm".

Если же не поможет, то нужно попытаться собрать что-то для данного CPU, что сможет загрузиться по tftp, и записать этот блок.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 минуты назад, [anp/hsw] сказал:

Если же не поможет, то нужно попытаться собрать что-то для данного CPU, что сможет загрузиться по tftp, и записать этот блок.

Скилл слабоват ((((

 

А вот командами работы с памятью сейчас попробую.

 

 

Нихрена.

ARMboot 1-> 
ARMboot 1-> md.b fffb0000
fffb0000: 00 21 91 f1 ac 36 00 00 01 00 a8 c0 00 ff ff ff    .!...6..........
fffb0010: fe 00 a8 c0 00 4d 44 4c 3a 44 45 53 2d 32 31 30    .....MDL:DES-210
fffb0020: 38 2d 56 35 2e 30 31 2e 42 30 31 20 20 20 20 20    8-V5.01.B01     
fffb0030: 20 20 20 20 20 20 20 20 20 20 20 20 20 00 ff 2c                 ..,
ARMboot 1-> mw.b fffb0000 0x33 1
ARMboot 1-> md.b fffb0000
fffb0000: 00 21 91 f1 ac 36 00 00 01 00 a8 c0 00 ff ff ff    .!...6..........
fffb0010: fe 00 a8 c0 00 4d 44 4c 3a 44 45 53 2d 32 31 30    .....MDL:DES-210
fffb0020: 38 2d 56 35 2e 30 31 2e 42 30 31 20 20 20 20 20    8-V5.01.B01     
fffb0030: 20 20 20 20 20 20 20 20 20 20 20 20 20 00 ff 2c                 ..,
ARMboot 1-> 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

21 минуту назад, sol сказал:

А вот командами работы с памятью сейчас попробую.

 

А setenv/saveenv сохраняют информацию после перезагрузки? Может получиться так, что в загрузчике просто write/erase убили.

Но если есть, например, восстановление через tftp, а в самом образе прошивки есть указания на конкретные смещения, куда она пишется, то достаточно просто будет сменить одно из смещений, и таким образом записать куда надо, просто подменив содержимое прошивки.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только что, [anp/hsw] сказал:

А setenv/saveenv сохраняют информацию после перезагрузки?

Да, они как раз сохраняют.

 

1 минуту назад, [anp/hsw] сказал:

Но если есть, например, восстановление через tftp

Есть. Выглядит как закачка файла по tftp/xmodem в буфер в ОЗУ и потом fburn, а он не работает. Я так уже пробовал.

Не ругается, говорит, что пишет (но по времени работы не похоже) и всё. По факту ничего не происходит.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

30 минут назад, sol сказал:

Да, они как раз сохраняют.

1. Найти в ОЗУ смещение куда пишется env

2. Найти копию env в ОЗУ

3. Командой mw (уж в ОЗУ-то она точно пишет) изменить смещение и содержимое в ОЗУ.

4. Сделать saveenv

5. It's Hacked!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вот вопрос: armboot работает из флешки или всё таки на начальном этапе копирует себя в RAM и работает оттуда?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

27 минут назад, [anp/hsw] сказал:

1. Найти в ОЗУ смещение куда пишется env

2. Найти копию env в ОЗУ

3. Командой mw (уж в ОЗУ-то она точно пишет) изменить смещение и содержимое в ОЗУ.

4. Сделать saveenv

5. It's Hacked!

Много думал.

Мне, как железячнику, быстрее и проще сваять jtag и решить вопрос в корне.

Или отпаять, шивнуть и запаять.

Спасибо китайскому брату, "Широкофюзеляжный сиденья программист" для TSOP-48 в наличии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 минут назад, sol сказал:

armboot работает из флешки или всё таки на начальном этапе копирует себя в RAM и работает оттуда?

И так и так может. Иногда можно узнать из лога загрузки. Но судя по размерам флеша и оперативки, тут скорее всего без копирования - и так мало...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там не линукс. Там нечто своё.

Образ прошивки после распаковки - около 2 мб.

 

А флеша - 2 мб и ОЗУ 8мб ...

Так что за глаза.

В аттаче образ флешки, снятый с помощью ф-ции дампа памяти загрузчика.

out.bin

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А лог загрузки есть полный? Учитывая, что доступ к сети не нужен после загрузки, достаточно просто собрать этот armboot с правильным конфигом (единственное, что интересует - доступ к флешу) и загрузить через tftp. Затем не прошивать его, а просто запустить командой go (или что там вместо нее).

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А в первоначальном моём посте он и есть.

От "Подать Энергию" до MAC Illegal, после которого уже ничего не происходит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

18 минут назад, sol сказал:

до MAC Illegal

Забавно, есть бэкдор:


...iLovEDlinKSwiTcH....MAC illegal

Осталось понять, куда это нужно записать, чтобы проверка мака прошла успешно...

 

Кто-то уже даже ковырял: http://wordpress.panaceas.org/wp/index.php/2017/04/23/the-dgs1216t-dgs1224t-and-the-illegal-mac/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, [anp/hsw] сказал:

судя по ковырянию прошивка берет мак и хэш из бут окружения. потому и писать их надо туда... попробуйте прописать мак/хэш из того ковыряния - если поднимется, то ковырять прошивку вытягивать алгоритм генерации хеша (func_5ed88), ну и посмотреть ф-ю которая глушит эту проверку (func_5eeec)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, прошивка берёт МАК не из окружения. А из свой конфигурашки. Которую я не знаю, как переписАть.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну судя по тому линку - то из окружения. хотя мож конечно в разных девайсах по-разному...

если сильно скучно - попробуйте слить дамп из памяти, натравить на него showman/hexrays/что-то подобное и смотреть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

44 минуты назад, NiTr0 сказал:

ну судя по тому линку - то из окружения.

Не вытанцовывается.

МАС (тот, что написан на коробке, тот, которым оперирует armboot, тот да, в окружении) сидит в первых 6 байтах блока конфигурации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добыл живую такую свичку.

ARMboot 1-> printenv
bootdelay=5
ethaddr=08:00:3e:26:0a:55
ipaddr=192.168.1.77
serverip=192.168.1.99
netmask=255.255.255.000
bootfile=armboot.bin
sdramImgAddr=0x00100000
flashAddr=0xffe00000
bootSource=flash
board_cmd_version=0x1
board_cmd_flashsize=0x200000
board_cmd_sdramsize=0x800000
board_cmd_platformrev=0xb3
board_cmd_smi_delay_tiem=0x1
board_cmd_signature=0xcaca
board_cmd_board_start_address=0xffff0000
board_cmd_loader_start_address=0xffe00000
board_cmd_runtime_start_address=0xffe40000
board_cmd_support_platformrev=0xb1:0xb2:0xb3
board_cmd_macaddress=1c:af:f7:ed:3d:18
board_cmd_md5=49:3b:7b:c8:13:be:b5:3d:40:88:ef:18:76:49:85:f9
board_cmd_serialnumber=F3RQ2A4000421

Environment size: 659/4092 bytes

JTAG едет, самому делать лень (LPT порт же надо, а где его в 21 веке взять...), а мой ST-LINK в китайском исполнении в JTAG не умеет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мдяяя. Внимательно покурил http://wordpress.panaceas.org/wp/index.php/2017/04/23/the-dgs1216t-dgs1224t-and-the-illegal-mac/

 

Хеш там снимается не просто с суммы MAC + "Секретное Словцо". Переменная MAC (L44) имеет размер не 6 а 8 байт и в дампе видно, что первый 6 байт это таки МАС, а вот потом ещё 2 байта и в них есть некое значение.

Пробовал просто суммировать, считать все виды CRC. Не оно...

 

Надо ждать JTAG...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Списался с автором http://wordpress.panaceas.org/wp/index.php/2017/04/23/the-dgs1216t-dgs1224t-and-the-illegal-mac/

Он прислал свои дампы, по которым работал.

Я в ARM ассемблере не очень, но IDA сильный инструмент.

 

qqqqq.tar.xz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 15.12.2019 в 13:39, sol сказал:

JTAG едет, самому делать лень (LPT порт же надо, а где его в 21 веке взять...), а мой ST-LINK в китайском исполнении в JTAG не умеет...

ejtag_tt его умеет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я бы глянул что живет в func_5eeec - судя по логике это отключение проверки мака...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Муть египеццкая там. Мешок вложенных вызовов мутных ф-ций.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попался dgs-1248 с маком-нелегалом. Интересно было почитать (и даже понял), жалко только, что нет решения, кроме забивки сушествующих пар

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.