v120d02s v2
|
|
RW9UAO | Дата: Четверг, 24.01.2013, 21:58 | Сообщение # 31 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| а еще по хорошему надо грохнуть папку с примерами в библиотеке libopencm3. это в ней глюк.
|
|
| |
RW9UAO | Дата: Пятница, 01.02.2013, 16:58 | Сообщение # 32 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| блеаааать, я походу подобрал метод как вскрывать зашифрованные прошивки для валкеровских поделок. например, обновление прошивки для моей вальки. там все настолько просто.....
|
|
| |
vikctc | Дата: Пятница, 01.02.2013, 17:31 | Сообщение # 33 |
Генерал
Группа: Модераторы
Сообщений: 1745
Статус: Offline
| К спектруму привязать можно?
|
|
| |
RW9UAO | Дата: Пятница, 01.02.2013, 18:30 | Сообщение # 34 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| Цитата (vikctc) К спектруму привязать можно? пока нет =)
|
|
| |
RW9UAO | Дата: Пятница, 01.02.2013, 19:13 | Сообщение # 35 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| итак. хочется для какой-нибудь поделки сделать модификацию, например, написать свой софт для мелкого квадрика, добавить привязку к спектруму. но существует шанс свой софт не дописать, а родной угробить. валкера выкладывает прошивки для некоторых своих поделок. например, для моей "new v120d02s" есть обновление прошивки. но они зашифрованы. а bootloader мы уже потерли своими экспериментами и не можем прошить зашифрованный бинарник. решил я на досуге посмотреть чего можно сделать. смотрим в шифрованный бинарник, в начале файла много повторяющихся байт. это JMP table. значит файл зашифрован слабо. внутри стоит хмега32а4, собираем компилятором winAVR любой код под этот процессор. в начале бинарника идет таблица JMP для прерываний. т.е. если примем байт в УАРТ, то процессор сделает переход по этой таблице. первые байты представляют из себя jmp _reset_vector, который ведет в код начальной инициализации. остальные, если вектор не используется, то по идее тоже на вектор сброса. смотрим код и рядом дизасм его: Код 00: 0C 94 BC 00 jmp 0x00BC 02: 0C 94 DD 00 jmp 0x00DD теперь смотрим в шифрованный бинарь, видны повторяющиеся строки в jmp table. предположим, что используется обычный оператор XOR, получим начальные байты ключа. т.к. первые байты команды будут гарантировано 0C 94. адреса пока оставим как есть. наполняем табличку которой будем построчно XOR файл. Код XOR[16]={0x89, 0xc7, 0, 0, 0xdf, 0x65, 0, 0, 0xb7, 0xca, 0, 0, 0x70, 0x33, 0, 0}; дизассемблируем полурасшифрованный бинарник. таблица переходов расшифровалась, но адреса пока в виде мусора и часть команд в виде мусора. значит идея работает. надо получить остаток ключа. смотрим в код сгенереный компилятором. точнее в точку куда ведет jmp reset_vector Код +000000BC: 2411 CLR R1 Clear Register +000000BD: BE1F OUT 0x3F,R1 Out to I/O location +000000BE: EFCF SER R28 Set Register +000000BF: E2DF LDI R29,0x2F Load immediate +000000C0: BFDE OUT 0x3E,R29 Out to I/O location +000000C1: BFCD OUT 0x3D,R28 Out to I/O location +000000C2: BE18 OUT 0x38,R1 Out to I/O location +000000C3: BE19 OUT 0x39,R1 Out to I/O location +000000C4: BE1A OUT 0x3A,R1 Out to I/O location +000000C5: BE1B OUT 0x3B,R1 Out to I/O location +000000C6: E211 LDI R17,0x21 Load immediate +000000C7: E0A0 LDI R26,0x00 Load immediate +000000C8: E2B0 LDI R27,0x20 Load immediate +000000C9: E2E0 LDI R30,0x20 Load immediate +000000CA: E0FF LDI R31,0x0F Load immediate опа, среди мусора нашлись похожие команды, ведь кроме части таблицы расшифровалась и часть кода. и даже команда CLR R1 видна. записываем адрес этой команды 0x00E4. теперь поищем куда ведет переход с неиспользуемого прерывания. у нас это адрес 0x00DD Код +000000D6: 3EAD CPI R26,0xED Compare with immediate +000000D7: 07B1 CPC R27,R17 Compare with carry +000000D8: F7E1 BRNE PC-0x03 Branch if not equal +000000D9: 940E018B CALL 0x0000018B Call subroutine +000000DB: 940C078E JMP 0x0000078E Jump +000000DD: 940C0000 JMP 0x00000000 Jump +000000DF: 94F8 CLI Global Interrupt Disable +000000E0: E8E1 LDI R30,0x81 Load immediate в мусорном коде находим последовательность байт 94 через нужное нам расстояние, это очень похоже на то, что надо. и даже видим 00 00, это адрес куда будет совершен переход. записываем адрес этой команды, 0x0105. дописываем адреса Код 00: 0C 94 E4 00 jmp 0x00E4 02: 0C 94 05 01 jmp 0x0105 04: 0C 94 05 01 jmp 0x0105 06: 0C 94 05 01 jmp 0x0105 08: 0C 94 05 01 jmp 0x0105 и так всю строку до конца. получаем оставшиеся ключи Код unsigned char XOR[16]={0x89, 0xc7, 0x26, 0xb4, 0xdf, 0x65, 0x26, 0xa1, 0xb7, 0xca, 0x5f, 0x0c, 0x70, 0x33, 0xb9, 0xba}; обрабатываем зашифрованный файл и суем его в дизассемблер. ага. таблица переходов расшифровалась, код куда ведут эти jmp тоже похож на скомпилированный. проверяем куда ведут jmp векторов прерываний, убеждаемся, что в начале этих процедур стоит много push register, а в конце pop register и IRET. вуаля.
Сообщение отредактировал RW9UAO - Пятница, 01.02.2013, 19:41 |
|
| |
RW9UAO | Дата: Пятница, 01.02.2013, 19:44 | Сообщение # 36 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| опять же, опыт и везение. не так много компиляторов с поддержкой xmega, а бесплатных всего 1 =) метод проверен еще на паре валкеровских прошивок. работает. IDApro 6.1 бинарник прожевал, но он не знает хмегу. прийдется таблицу переходов и адреса векторов руками поправить.
Сообщение отредактировал RW9UAO - Пятница, 01.02.2013, 20:13 |
|
| |
Leo | Дата: Пятница, 15.02.2013, 09:18 | Сообщение # 37 |
Генерал
Группа: Проверенные
Сообщений: 2012
Статус: Offline
| Гля, что продають, красава просто.
С уважением, Захаров Л.С.
|
|
| |
RW9UAO | Дата: Пятница, 15.02.2013, 09:51 | Сообщение # 38 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| ога. только дево 7 - унылый совсем передатчик. альтернативная прошивка на него не делается.
|
|
| |
Kuznets | Дата: Пятница, 15.02.2013, 10:23 | Сообщение # 39 |
Генерал
Группа: Модераторы
Сообщений: 2136
Статус: Offline
| Серег, у тебя ведь почти такой? Расскажи, как оно в плане надежности, шестерни держатся?
я не флужу, я реализую свой анлим. ;)
|
|
| |
RW9UAO | Дата: Пятница, 15.02.2013, 10:33 | Сообщение # 40 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| что значит почти. совсем такой. валька она и в африке валька. нормальный верт. Витя не даст соврать, я при нем с 7ми метров падал. я правда и не летал особо. на коптерХ мозгах немного полетал, глюки достали, а к родным мозгам передатчик только едет. запчасти на него на бангуде есть по нормальным ценам, но там с доставкой проблемы, месяца по два посылка идет.
|
|
| |
Leo | Дата: Пятница, 15.02.2013, 11:03 | Сообщение # 41 |
Генерал
Группа: Проверенные
Сообщений: 2012
Статус: Offline
| Ну ладно, тогда так без передатчика, передатчик с приемышем и кейсом и доставкой, побюджетнее передатчик или вотИли побольше вертолет?
С уважением, Захаров Л.С.
|
|
| |
RW9UAO | Дата: Пятница, 15.02.2013, 11:16 | Сообщение # 42 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| от себя советую брать devo8S, она точно телеметрийная. и поддерживается альтернативной прошивкой, после которой получите дсм2/дсмХ. вот 8ка http://www.oomodel.com/walkera....38.html вот 6-ка http://www.oomodel.com/walkera....73.html особо разницы не заметите по идее если не смущают меньшие размеры передатчика, чем привычная аппаратура, то вот http://www.oomodel.com/walkera....73.html еще проще. к ней в "девиации" добавили еще пару тумблеров. просто погуглите модель вертолета, может еще где-то распродажи остались. на бангуде дорого. на али надо отзывы смотреть. чемодан - по моему баловство. валкеру вообще надо брать ртф, сильно дешевле, там с цены передатчика снимают долларов 100 легко. в дево 10 - _НЕТ_ не было и не будет телеметрии. продаван врет. если только там не установлен ВЧ модуль от 8S и не прошита допиленная девиация http://www.deviationtx.com/
Сообщение отредактировал RW9UAO - Пятница, 15.02.2013, 11:19 |
|
| |
RW9UAO | Дата: Пятница, 15.02.2013, 11:21 | Сообщение # 43 |
Генерал
Группа: Проверенные
Сообщений: 2085
Статус: Offline
| сравните доставку с этим еще http://www.rc711.com/shop....292_294 кста, а чем мотивирован выбор 120-го размера? может вам на Mini-CP еще посмотреть? он меньше и падает не больно.
|
|
| |
Leo | Дата: Пятница, 15.02.2013, 11:45 | Сообщение # 44 |
Генерал
Группа: Проверенные
Сообщений: 2012
Статус: Offline
| да, блин, вроде как смотришь в магазине, а не покупаешь. В принципе сыну охота подарить комнатный (тсс!), а на аппу жалко тратиться, их и так 2 у меня. А те, что на спектрум биндятся - дорого стоят.
С уважением, Захаров Л.С.
|
|
| |
Kuznets | Дата: Пятница, 15.02.2013, 12:00 | Сообщение # 45 |
Генерал
Группа: Модераторы
Сообщений: 2136
Статус: Offline
| Цитата (RW9UAO) ...devo8S, она точно телеметрийная. телеметрия на комнатной вертушке? Смысл, как в грелке для пупка с дистанционным управлением, вспомним Задорного Да и на большой это скорее дань моде и излишество несексуальное. На верте летать надо, а не цыферки смотреть Взялся за штурвал, будь пилотом (бл...! ), а не бортинженером.
я не флужу, я реализую свой анлим. ;)
Сообщение отредактировал Kuznets - Пятница, 15.02.2013, 12:01 |
|
| |
|