реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Фиксики - Вытащить прошивку из китайского детского компьютера. Найти и заменить пару байт. Залить обратно.
Golikov A.
сообщение Nov 12 2014, 15:00
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



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

Соберите компьютер, отдайте ребенку, пусть ловкость тренирует. 2 секунды - это достаточно много для принятия решения, остальное то работает? Другое дело что на таких экранах глаза переломаешь, но зато все жизненные решения ребенок будет обдумывать не более 2 секундwink.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 12 2014, 16:14
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Nov 12 2014, 21:00) *
прикидываю как круто считать прошивку из не известной флешки, потом отделить в куче бинаря код от настроек и прочего, потом его дизасемблить его для неизвестной архитектуры, потом найти в нем перелистывание (которое на самом деле скорее глюк чем фишка), потом поправить, залить и понять что не поправлена контрольная сумма...

....
за это время ребёнок подрастёт, пойдёт в школу, ВУЗ, заведёт своих...
тут-то как раз патч от дедули и подоспеет lol.gif
Go to the top of the page
 
+Quote Post
mcheb
сообщение Nov 12 2014, 16:58
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 30-05-06
Пользователь №: 17 602



Цитата(jcxz @ Nov 12 2014, 19:14) *
....

тут-то как раз патч от дедули и подоспеет lol.gif

biggrin.gif
Go to the top of the page
 
+Quote Post
xintrea
сообщение Nov 12 2014, 17:11
Сообщение #19





Группа: Новичок
Сообщений: 5
Регистрация: 11-11-14
Пользователь №: 83 630



Цитата(Сергей Борщ @ Nov 12 2014, 09:57) *
А нельзя в магазине посмотреть другой экземпляр такой игрушки? Возможно это болезнь именно этого экземпляра - из-за отстутствия какой-нибудь подтяжки или остатков флюса/кофе в клавиатуре он периодически ошибочно ловит нажатие клавиши перелистывания.


Нет, это задано именно программно.

Во-первых, никакого перелистывания нет в играх, оно только в меню и подменю.

Во-вторых в документации написано:

Цитата
После включения на экране компьютера появится изображение и номер программы. Выбрать программу можно с помощью клавиш "Вверх", "Вниз". Также программы периодически меняются на экране. Для подтверждения выбора нужной программы нажмите кнопку "Ввод".


То есть, это гениальное решение китайских специалистов по юзабилити. А может быть эффективные менеджеры потребовали такое поведение, чтобы сразу при включении компьютер показыва как много в него напихано.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Nov 12 2014, 18:18
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну коль игры работают, так от добра добра не ищут... пусть листает бестья заморская%) поправить шансов крайне мало...
Go to the top of the page
 
+Quote Post
kovigor
сообщение Nov 12 2014, 18:44
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Golikov A. @ Nov 12 2014, 21:18) *
поправить шансов крайне мало...

Зато можно обратиться в магазин и попробовать там обменять на другую модель, где такого эффекта нет. Если товарный вид, конечно, не утрачен.
А еще можно, нахоясь в меню, попробовать понажимать комбинации вроде "Ctrl NumLock", "Pause", или просто зажать клавишу, посредством которой входили в меню. Возможно, это решит проблему ...
Go to the top of the page
 
+Quote Post
mantech
сообщение Nov 14 2014, 08:54
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(muravei @ Nov 12 2014, 11:30) *
Вот и сделайте "эмулятор" этого "компьютера".


Кстати, да, неплохая мысль, если идея такого компа вам понравилась, может есть смысл повторить его на том-же СТМ, ресурсов у него явно больше, чем у этой капли, он полностью документирован, и сама идея на порядок реальнее той, что вы задумали.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Nov 14 2014, 09:22
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



надо на STM сделать обратную листалку, устройство которое жмет кнопку назад с заданными интервалами, только с выключателем чтобы в играх не мешала.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 14 2014, 12:02
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Golikov A. @ Nov 14 2014, 15:22) *
надо на STM сделать обратную листалку, устройство которое жмет кнопку назад с заданными интервалами, только с выключателем чтобы в играх не мешала.

Всё равно будут иногда проскакивать или нескомпенсированные импульсы или наоборот - лишние, ибо вы точно не знаете частоту листания.
Да ещё хуже, что меню будет дёргаться взад-вперёд.
Только если на этой STM сделать обратную связь от изображения на экране.....
Типа - если изображение поменялось, а нажатия не было, то генерить импульс "назад". Но вряд-ли ТС такое потянет rolleyes.gif
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Nov 14 2014, 12:23
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



значит реверсировать прошивку от непонятного проца потянет, а такое нетsm.gif?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Nov 14 2014, 12:57
Сообщение #26


Ally
******

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



Цитата(Golikov A. @ Nov 14 2014, 14:23) *
значит реверсировать прошивку от непонятного проца потянет, а такое нетsm.gif?


Реверс значительно легче чем разработка, это очевидно.
Для реверса достаточно снять FLASH, прочитать ее на программаторе, посмотреть первые сектора, натравить IDA и другие тулсы поиска магических чисел и вычислить архитектуру под которую подходит стема команд.

Такое в бытность мою хакером делали за полдня.

Для реверса не нужно читать мануалы на тысячу страниц и изучать периферию.
Вообще можно не быть сильным программистом и знать тучу алгоритмов и прикладную область.
Go to the top of the page
 
+Quote Post
mantech
сообщение Nov 14 2014, 14:26
Сообщение #27


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(AlexandrY @ Nov 14 2014, 15:57) *
Для реверса не нужно читать мануалы на тысячу страниц и изучать периферию.
Вообще можно не быть сильным программистом и знать тучу алгоритмов и прикладную область.


Я надеюсь это шутка biggrin.gif

Ибо не представляю, как вообще в непонятном коде, пусть даже определили тип проца, и нашли под него дизассемблер, и что??

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

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

Вообщем, мне тут писали, что ни в жизнь не смочь разобраться в полностью документированном IMX6, а тут вообще ничего нет, кроме железки biggrin.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 14 2014, 15:32
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Nov 14 2014, 18:57) *
Для реверса не нужно читать мануалы на тысячу страниц и изучать периферию.

Ну-ка определите, что сей кусок кода делает не читая мануалов на периферию
Конфигурит McASP или настраивает SPI+EDMA? smile3046.gif
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

Могу даже архитектуру подсказать.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Nov 14 2014, 15:36
Сообщение #29


Ally
******

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



Цитата(jcxz @ Nov 14 2014, 17:32) *
Ну-ка определите, что сей кусок кода делает не читая мануалов на периферию

Могу даже архитектуру подсказать.


TMS320C6x

А периферия меня не интересует. В рабочей игрушке она рабочая ей незачем интересоваться. biggrin.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 14 2014, 15:39
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(AlexandrY @ Nov 14 2014, 18:57) *
Реверс значительно легче чем разработка, это очевидно.

Это неочевидно. Зависит от ПО. Его сложности и стиля написания (или отсутствия такового).
Написание "Hello world!" с использованием готовых либ, я думаю тут почти ни у кого не вызовет проблем.
И будет во много раз легче чем его реверс.

Цитата(AlexandrY @ Nov 14 2014, 21:36) *
А периферия меня не интересует. В рабочей игрушке она рабочая ей незачем интересоваться. biggrin.gif

Так вопрос-то возможно как раз о периферии и идёт - возможно что ложно определяется наличие нажатия на кнопу. Возможно косяк с автоповтором нажатой кнопы.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.02316 секунд с 7
ELECTRONIX ©2004-2016