|
|
  |
Фиксики - Вытащить прошивку из китайского детского компьютера. Найти и заменить пару байт. Залить обратно. |
|
|
|
Nov 12 2014, 15:00
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
прикидываю как круто считать прошивку из не известной флешки, потом отделить в куче бинаря код от настроек и прочего, потом его дизасемблить его для неизвестной архитектуры, потом найти в нем перелистывание (которое на самом деле скорее глюк чем фишка), потом поправить, залить и понять что не поправлена контрольная сумма... Соберите компьютер, отдайте ребенку, пусть ловкость тренирует. 2 секунды - это достаточно много для принятия решения, остальное то работает? Другое дело что на таких экранах глаза переломаешь, но зато все жизненные решения ребенок будет обдумывать не более 2 секунд
|
|
|
|
|
Nov 12 2014, 16:14
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Golikov A. @ Nov 12 2014, 21:00)  прикидываю как круто считать прошивку из не известной флешки, потом отделить в куче бинаря код от настроек и прочего, потом его дизасемблить его для неизвестной архитектуры, потом найти в нем перелистывание (которое на самом деле скорее глюк чем фишка), потом поправить, залить и понять что не поправлена контрольная сумма... .... за это время ребёнок подрастёт, пойдёт в школу, ВУЗ, заведёт своих... тут-то как раз патч от дедули и подоспеет
|
|
|
|
|
Nov 12 2014, 17:11
|
Группа: Новичок
Сообщений: 5
Регистрация: 11-11-14
Пользователь №: 83 630

|
Цитата(Сергей Борщ @ Nov 12 2014, 09:57)  А нельзя в магазине посмотреть другой экземпляр такой игрушки? Возможно это болезнь именно этого экземпляра - из-за отстутствия какой-нибудь подтяжки или остатков флюса/кофе в клавиатуре он периодически ошибочно ловит нажатие клавиши перелистывания. Нет, это задано именно программно. Во-первых, никакого перелистывания нет в играх, оно только в меню и подменю. Во-вторых в документации написано: Цитата После включения на экране компьютера появится изображение и номер программы. Выбрать программу можно с помощью клавиш "Вверх", "Вниз". Также программы периодически меняются на экране. Для подтверждения выбора нужной программы нажмите кнопку "Ввод". То есть, это гениальное решение китайских специалистов по юзабилити. А может быть эффективные менеджеры потребовали такое поведение, чтобы сразу при включении компьютер показыва как много в него напихано.
|
|
|
|
|
Nov 12 2014, 18:44
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Golikov A. @ Nov 12 2014, 21:18)  поправить шансов крайне мало... Зато можно обратиться в магазин и попробовать там обменять на другую модель, где такого эффекта нет. Если товарный вид, конечно, не утрачен. А еще можно, нахоясь в меню, попробовать понажимать комбинации вроде "Ctrl NumLock", "Pause", или просто зажать клавишу, посредством которой входили в меню. Возможно, это решит проблему ...
|
|
|
|
|
Nov 14 2014, 08:54
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(muravei @ Nov 12 2014, 11:30)  Вот и сделайте "эмулятор" этого "компьютера". Кстати, да, неплохая мысль, если идея такого компа вам понравилась, может есть смысл повторить его на том-же СТМ, ресурсов у него явно больше, чем у этой капли, он полностью документирован, и сама идея на порядок реальнее той, что вы задумали.
|
|
|
|
|
Nov 14 2014, 12:02
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Golikov A. @ Nov 14 2014, 15:22)  надо на STM сделать обратную листалку, устройство которое жмет кнопку назад с заданными интервалами, только с выключателем чтобы в играх не мешала. Всё равно будут иногда проскакивать или нескомпенсированные импульсы или наоборот - лишние, ибо вы точно не знаете частоту листания. Да ещё хуже, что меню будет дёргаться взад-вперёд. Только если на этой STM сделать обратную связь от изображения на экране..... Типа - если изображение поменялось, а нажатия не было, то генерить импульс "назад". Но вряд-ли ТС такое потянет
|
|
|
|
|
Nov 14 2014, 12:57
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Golikov A. @ Nov 14 2014, 14:23)  значит реверсировать прошивку от непонятного проца потянет, а такое нет  ? Реверс значительно легче чем разработка, это очевидно. Для реверса достаточно снять FLASH, прочитать ее на программаторе, посмотреть первые сектора, натравить IDA и другие тулсы поиска магических чисел и вычислить архитектуру под которую подходит стема команд. Такое в бытность мою хакером делали за полдня. Для реверса не нужно читать мануалы на тысячу страниц и изучать периферию. Вообще можно не быть сильным программистом и знать тучу алгоритмов и прикладную область.
|
|
|
|
|
Nov 14 2014, 14:26
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(AlexandrY @ Nov 14 2014, 15:57)  Для реверса не нужно читать мануалы на тысячу страниц и изучать периферию. Вообще можно не быть сильным программистом и знать тучу алгоритмов и прикладную область. Я надеюсь это шутка Ибо не представляю, как вообще в непонятном коде, пусть даже определили тип проца, и нашли под него дизассемблер, и что?? Это ведь не просто процессор, а микроконтроллер с какой-то периферией, причем непонятно какой, по каким адресам и т.п. Далее, нужно вычислить точку входа, затем пробежать всю инициализацию, найти блок меню, его структуру, опросы кнопок и т.п. затем понять, где, что задается и только тогда что-то поправить... Ну и всего-лишь разобраться в асме, оптимизированном си компилятором, это совсем не то, что в рукописном... Вообщем, мне тут писали, что ни в жизнь не смочь разобраться в полностью документированном IMX6, а тут вообще ничего нет, кроме железки
|
|
|
|
|
Nov 14 2014, 15:32
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AlexandrY @ Nov 14 2014, 18:57)  Для реверса не нужно читать мануалы на тысячу страниц и изучать периферию. Ну-ка определите, что сей кусок кода делает не читая мануалов на периферию Конфигурит McASP или настраивает SPI+EDMA? CODE MVK .L2 0x1,B0 $C$L1: ; PIPED LOOP PROLOG [ B0] SPLOOPW 7 ;14 ; (P) $C$L2: ; PIPED LOOP KERNEL $C$DW$L$___CPR76__LPSCTransition__FP11CSL_PscRegsQ2_J18J2MDUiQ2_J18J7MDSTATE$3$B: NOP 1 SPMASK L1,S1,D1 || MV .L1 A6,A8 ; |38| || MV .D1 A4,A6 ; |38| || MVK .S1 296,A4 ; |39| SPMASK S1 || MVK .S1 1,A3 || ADD .L1 A4,A6,A7 ; |39| (P) <0,2> SPMASK S1 || SHL .S1 A3,A8,A5 || [ B0] LDW .D1T1 *A7,A3 ; |39| (P) <0,3> ^ NOP 2 SPMASK L1 || MV .L1X B4,A9 ; |38| NOP 1 AND .L1 A5,A3,A0 ; |39| <0,8> ^ [!A0] ZERO .L2 B0 ; |39| <0,9> ^ NOP 2 NOP 1 SPKERNEL 0,0 $C$DW$L$___CPR76__LPSCTransition__FP11CSL_PscRegsQ2_J18J2MDUiQ2_J18J7MDSTATE$3$E: $C$L3: ; PIPED LOOP EPILOG SHL .S1 A9,2,A9 ; |40| ADD .L1 A9,A6,A4 ; |40| MVK .S2 2560,B4 ; |40| ADD .L2X B4,A4,B4 ; |40| LDW .D2T2 *B4,B5 ; |40| NOP 4 EXTU .S2 B5,27,27,B5 ; |40| CMPEQ .L2 B5,B6,B0 ; |40| [ B0] BNOP .S1 $C$L10,5 ; |40| LDW .D2T2 *B4,B5 ; |42| NOP 4 CLR .S2 B5,0,4,B5 ; |42| OR .L2 B6,B5,B5 ; |42| STW .D2T2 B5,*B4 ; |42| MVK .S1 288,A4 ; |43| || MVK .S2 288,B4 ; |43| ADD .L1 A4,A6,A4 ; |43| LDW .D1T1 *A4,A16 ; |43| MVK .L2 0x1,B0 ADD .L1X B4,A6,A31 ; |43| MVK .L1 1,A4 ; |43| SHL .S1 A4,A8,A7 ; |43| OR .L1 A7,A16,A4 ; |43| STW .D1T1 A4,*A31 ; |43| $C$L4: ; PIPED LOOP PROLOG [ B0] SPLOOPW 7 ;14 ; (P) $C$L5: ; PIPED LOOP KERNEL $C$DW$L$___CPR76__LPSCTransition__FP11CSL_PscRegsQ2_J18J2MDUiQ2_J18J7MDSTATE$8$B: NOP 1 SPMASK S1 || MVK .S1 296,A4 ; |44| ADD .L1 A4,A6,A7 ; |44| (P) <0,2> [ B0] LDW .D1T1 *A7,A3 ; |44| (P) <0,3> ^ NOP 4 AND .L1 A5,A3,A0 ; |44| <0,8> ^ [!A0] ZERO .L2 B0 ; |44| <0,9> ^ NOP 2 NOP 1 SPKERNEL 0,0 $C$DW$L$___CPR76__LPSCTransition__FP11CSL_PscRegsQ2_J18J2MDUiQ2_J18J7MDSTATE$8$E: $C$L6: ; PIPED LOOP EPILOG $C$L7: ; PIPED LOOP PROLOG NOP 1 MVK .L2 0x1,B0 [ B0] SPLOOPW 8 ;16 ; (P) $C$L8: ; PIPED LOOP KERNEL $C$DW$L$___CPR76__LPSCTransition__FP11CSL_PscRegsQ2_J18J2MDUiQ2_J18J7MDSTATE$12$B: NOP 2 SPMASK L1,S1 || ADD .L1 A9,A6,A4 || MVK .S1 2048,A5 SPMASK L1 || ADD .L1 A5,A4,A5 [ B0] LDW .D1T1 *A5,A3 ; |45| (P) <0,4> ^ NOP 2 SPMASK L1 || MV .L1X B6,A4 NOP 1 EXTU .S1 A3,27,27,A6 ; |45| <0,9> ^ CMPEQ .L1 A6,A4,A0 ; |45| <0,10> ^ [ A0] ZERO .L2 B0 ; |45| <0,11> ^ NOP 2 NOP 1 SPKERNEL 0,0 Могу даже архитектуру подсказать.
|
|
|
|
|
Nov 14 2014, 15:39
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(AlexandrY @ Nov 14 2014, 18:57)  Реверс значительно легче чем разработка, это очевидно. Это неочевидно. Зависит от ПО. Его сложности и стиля написания (или отсутствия такового). Написание "Hello world!" с использованием готовых либ, я думаю тут почти ни у кого не вызовет проблем. И будет во много раз легче чем его реверс. Цитата(AlexandrY @ Nov 14 2014, 21:36)  А периферия меня не интересует. В рабочей игрушке она рабочая ей незачем интересоваться.  Так вопрос-то возможно как раз о периферии и идёт - возможно что ложно определяется наличие нажатия на кнопу. Возможно косяк с автоповтором нажатой кнопы.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|