Сейчас на форуме: Dart Raiden, Alf, bedop66938 (+6 невидимых)

 eXeL@B —› Электроника —› Novatek NT96650(MIPS32 24Kec), разобрать прошивку (видеорегистратор)
Посл.ответ Сообщение

Ранг: 46.1 (посетитель), 1thx
Активность: 0.02=0.02
Статус: Участник

Создано: 02 октября 2014 01:20 · Поправил: carver
· Личное сообщение · #1

скачал с оффсайта прошивку под видеорегистратор,
ls430w_EN_11_201404090_64GBsupport.zip
LS430W_201401230FW_E00_EC.zip
LS430W-A0E-10.rar
ls330w_20140507_e00.zip

пытаюсь загрузить в IDA, шоб понимать шо и где выйдет поправить, но столкнулся с двумя проблемами.

1) ИДА типа мипс умеет, но 24K, уже не шарит. вообщем пока отступаю 4 байта, и вручную дальше.

2) во всех прошивках, на этот проц(код то референсный), есть адресс, после которого код заканчивается,
идет magic BCL1, dword 9, два размера, а потом каша.
каша похожая на какой-то архиватор, шо преподавали в китайской школе.
в начале прошивки, есть адресс/размер каши.

вообщем, понятное дело, два вопроса,

1) я так понимаю без большого напряга - иду заставить понимать остальные MISP опкоды - не выйдет.
так-что пропускаем,

2) и вопрос больше в том, как в новатековских прошивках (читай туева туча видеорегистаторов)
разобрать ту кашу, що идет после BCL1, и превратить ее в код с данными.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 октября 2014 01:37
· Личное сообщение · #2

это типа самим нужно искать на оффсайте, тянуть, проверять? да ну на

Добавлено спустя 9 минут
atheros 7240, тоже mips32 24k и ида его нормально декомпилит



Ранг: 46.1 (посетитель), 1thx
Активность: 0.02=0.02
Статус: Участник

Создано: 02 октября 2014 02:23 · Поправил: carver
· Личное сообщение · #3

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



Ранг: 89.1 (постоянный), 134thx
Активность: 0.060.07
Статус: Участник

Создано: 02 октября 2014 07:30
· Личное сообщение · #4

carver пишет:
разобрать ту кашу, що идет после BLC1, и превратить ее в код с данными.

carver пишет:
ls430w_EN_11_201404090_64GBsupport.zip

дароф, первое что в голову пришло rghost.ru/58308980

зы: у мну все еще есть промеры, могу сдампить флеху..

| Сообщение посчитали полезным: carver

Ранг: 46.1 (посетитель), 1thx
Активность: 0.02=0.02
Статус: Участник

Создано: 02 октября 2014 08:15 · Поправил: carver
· Личное сообщение · #5

Привет, тоже думал что XOR, но по байтам не сходилось.
счас вот нашел красивый пример со старой прошивки,

в LS300W20130328 (LS300W_130328.zip) идет чистый текст:
Code:
  1. 00023400: 63 6C 61 6D 70 65 64 3D | 25 64 2C 4D 3D 25 64 2C  clamped=%d,M=%d,
  2. 00023410: 44 3D 25 64 0D 0A 00 00 | 44 61 74 65 20 69 73 20  D=%d♪◙ Date is
  3. 00023420: 73 61 76 65 64 0D 0A 00 | 41 3A 5C 65 6E 67 6D 6F  saved♪◙ A:\engmo
  4. 00023430: 64 65 00 00 43 41 4C 49 | 42 52 41 54 49 4F 4E 00  de  CALIBRATION
  5. 00023440: 5E 52 20 57 61 69 74 20 | 62 61 63 6B 67 72 6F 75  ^R Wait backgrou
  6. 00023450: 6E 64 20 74 61 73 6B 20 | 69 64 6C 65 20 74 69 6D  nd task idle tim
  7. 00023460: 65 6F 75 74 20 0D 0A 00 | 4D 4F 56 49 45 00 00 00  eout ♪◙ MOVIE
  8. 00023470: 25 73 3A 3A 25 73 28 29 | 3A 25 64 3A 20 43 61 70  %s::%s():%d: Cap
  9. 00023480: 74 75 72 65 20 69 6D 61 | 67 65 21 0D 0A 00 00 00  ture image!♪◙

"clamped=%d,M=%d,D=%d\r\n", "Date is saved\r\n", "A:\engmode",
"CALIBRATION", "^R Wait background task idle timeout \r\n",
"MOVIE", "%s::%s():%d: Capture image!\r\n"

а в BG1404090EN11(ls430w_EN_11_201404090_64GBsupport.zip) уже такая каша
Code:
  1. 00122998: 0A 84 A9 3C 61 74 65 B9 | 11 67 B9 09 24 63 6C 61  &#9689;„©<ate№&#9668;g№&#9675;$cla
  2. 001229A8: 6D 70 65 64 B9 11 21 B9 | 08 20 73 61 76 B9 05 9B  mped№&#9668;!№&#9688; sav№&#9827;›
  3. 001229B8: 71 41 3A 5C 65 6E 67 6D | B9 05 A1 72 43 41 4C 49  qA:\engm№&#9827;ЎrCALI
  4. 001229C8: 42 52 41 54 49 4F 4E 00 | 5E 52 20 57 61 69 74 20  BRATION ^R Wait
  5. 001229D8: 62 B9 09 AA 72 B9 05 DD | 3F 20 69 64 6C 65 20 74  b№&#9675;Єr№&#9827;Э? idle t
  6. 001229E8: 69 6D 65 6F 75 74 20 0D | 0A 00 4D 4F 56 49 45 B9  imeout &#9834;&#9689; MOVIE№
  7. 001229F8: 07 E3 1E 25 73 28 29 3A | 20 B9 08 84 8F 5A 69 6D  •г&#9650;%s(): №&#9688;„ЏZim
  8. 00122A08: 61 67 B9 06 93 40 B9 0E | 18 66 75 6C B9 07 D8 5B  ag№&#9824;“@№&#9835;&#8593;ful№•Ш[
  9. 00122A18: B9 0A 22 B9 05 88 6C 25 | 73 2C B9 06 88 58 65 74  №&#9689;"№&#9827;€l%s,№&#9824;€Xet


если смотеть на строку "^R Wait background task idle timeout \r\n"
то похоже что в ls430w где-то есть табличка,
превращающая B9 09 AA 72 и B9 05 DD 3F в "ackground task"

что реально записанно в дампе, интересный вопрос.
попробую погуглить от любого и сравнить, может там есть что-то недостающее.

Добавлено спустя 1 час 26 минут
ida и mips24k,
по идее 0x70A31002 - должно быть mul r2,r5,r3
наверное просто не понимает.

Code:
  1. ROM:80005E0C 04 00 A2 28          slti    $v0, $a1, 4
  2. ROM:80005E10 03 00 40 50          beqzl   $v0, loc_80005E20
  3. ROM:80005E10                # ------------------------------
  4. ROM:80005E14 02                   .byte    2
  5. ROM:80005E15 10                   .byte 0x10
  6. ROM:80005E16 A3                   .byte 0xA3  # г
  7. ROM:80005E17 70                   .byte 0x70  # p
  8. ROM:80005E18                # ------------------------------
  9. ROM:80005E18 7A 17 00 08          j       loc_80005DE8
  10. ROM:80005E1C DF FF 02 24          li      $v0, 0xFFFFFFDF





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 октября 2014 10:15
· Личное сообщение · #6

Code:
  1. ROM:00000000              # Segment type: Pure code
  2. ROM:00000000                             .text # ROM
  3. ROM:00000000 04 00 A2 28                 slti    $v0, $a1, 4
  4. ROM:00000004 03 00 40 50                 beqzl   $v0, 0x14
  5. ROM:00000008 02 10 A3 70                 mul     $v0, $a1, $v1
  6. ROM:0000000C 7A 17 00 08                 j       0x5DE8
  7. ROM:00000010 DF FF 02 24                 li      $v0, 0xFFFFFFDF
  8. ROM:00000010


| Сообщение посчитали полезным: carver

Ранг: 46.1 (посетитель), 1thx
Активность: 0.02=0.02
Статус: Участник

Создано: 02 октября 2014 17:24 · Поправил: carver
· Личное сообщение · #7

спасибо, не могу обяснить почему, но в старом IDB файле mul не распознавался,
запустил старую иду, там все ОК, теперь и последняя общедоступная распознает.

можешь еще проверить, у меня парой байт дальше, идет опкод 0x7C86200A
он должен распознаватся как lwx r4, r6(r4), но я даже слова lwx в mips.w32 не найду.
Code:
  1. 0020: 80 20 04 00      sll     $a0, 2
  2. 0020:               # ------------------------
  3. 0024: 0A               .byte  0xA
  4. 0025: 20               .byte 0x20
  5. 0026: 86               .byte 0x86
  6. 0027: 7C               .byte 0x7C
  7. 0028:               # ------------------------
  8. 0028: 08 00 86 90      lbu     $a2, 8($a0)
  9. 002C: 84 00 C6 30      andi    $a2, 0x84




Ранг: 89.1 (постоянный), 134thx
Активность: 0.060.07
Статус: Участник

Создано: 02 октября 2014 17:45 · Поправил: LinXP
· Личное сообщение · #8

carver
https://dashcamtalk.com/mobius/
пошарься там, может чтото полезное найдешь, кста, там прошивки без шифрованного блока..

и это
http://www.cnx-software.com/2013/11/18/binwalk-utility-helps-you-analyze-and-reverse-engineer-firmware-files/
https://github.com/devttys0/binwalk




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 октября 2014 18:05 · Поправил: reversecode
· Личное сообщение · #9

http://www.onlinedisassembler.com/odaweb/CBbWnx/0
это похоже на cavium octeon 2
ida не поддерживает, llvm вроде тоже нет
вроде гцц только
--> Link <-- в гцц добавлен



Ранг: 46.1 (посетитель), 1thx
Активность: 0.02=0.02
Статус: Участник

Создано: 02 октября 2014 23:32
· Личное сообщение · #10

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

дамп для такого же проца, нашел на taker.im , даже два, по слову "дамп" в топике GW1 находятся
http://www.taker.im/phpBB2/topic/152615-g1w-%D0%BD%D0%B0-ntk-96650/page__st__560

в mobius "шифрованный" блок - тоже в наличии.
binwalk у меня есть старый, под виндовс.

reversecode спасиба за линк. вроде раньше видел, но про mips не обратил внимание.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 октября 2014 23:37
· Личное сообщение · #11

carver пишет:
попробую сначала с его алгоритмом разобратся. там сразу видна процедура что распаковывает.

какие сложности?
http://decompiler.fit.vutbr.cz/decompilation/
выцепить саму процедуру и вставить
если не октеон2 инструкции то декомпильнет



Ранг: 46.1 (посетитель), 1thx
Активность: 0.02=0.02
Статус: Участник

Создано: 03 октября 2014 02:22 · Поправил: carver
· Личное сообщение · #12

да, уже все получилось.

подгрузил в симулятор бут, а вместо его запакованной части - запакованную прошивку,
запустил бут и тот все распаковал.
вообщем, по вопросам, новатековскую BCL1 распаковал.

счас пытаюсь осилить скриптик, шоб сделал idc.SetManualInsn? по неизвестным для IDA коммандам.

думаю пока достаточно, шоб повтыкать шо там и как.


шо такое октеон2? - х.з. у меня же говночайна, какой там мипс64 или 32Core ?

там все по 20 баксов, но нада покупать три штуки, одна не вкючится,
вторая сломается, а третья будет работать как фирма,
но в сумме все обойдется в два раза дешевлле.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 03 октября 2014 09:22 · Поправил: reversecode
· Личное сообщение · #13

все вопросы в caviumnetworks.com
они добавляли в gdb, mips инструкции которые у вас не декодятся

octeon2 64битный, но видимо он умеет и как 32 работать

судя по патчам lwx и до octeon2 поддерживались,
но поддерживаются и octeon2
поэтому кавиум только подправил, добавил и поддержку octeon2, ну и новых инструкций добавили
Code:
  1. - {"lwx",     "d,t(b)",    0x7c00000a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,   D32      },
  2. + {"lwx",     "d,t(b)",    0x7c00000a, 0xfc0007ff, LDD|WR_d|RD_t|RD_b,     0,   D32|IOCT2},




Ранг: 12.0 (новичок)
Активность: 0=0
Статус: Участник

Создано: 03 октября 2014 17:47 · Поправил: sfinks_2002
· Личное сообщение · #14

Ребят, а никто не знает нормальный, современный отладчик ?




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 03 октября 2014 18:48
· Личное сообщение · #15

qemu


 eXeL@B —› Электроника —› Novatek NT96650(MIPS32 24Kec), разобрать прошивку (видеорегистратор)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати