Сейчас на форуме: vsv1, r0lka, -Sanchez-, testrev1337, johnniewalker, Kybyx (+3 невидимых) |
eXeL@B —› Крэки, обсуждения —› Формат карт для iGo [ARM] |
Посл.ответ | Сообщение |
|
Создано: 19 июня 2009 18:41 · Личное сообщение · #1 Уважаемая общественность! Ищу заинтересованных в следующей задаче для совместного поиска решения. Имеется программа IGo от Nav'N'Go - GPS-навигатор для WinCE-устройств. Замечательная программа, очень удобная (Navitel на мой взгляд и рядом не валялся) свежие ломанные версии регулярно появляются в сети. Но как говориться, есть один нюанс... Эта программа использует карты только в своем собственном формате (файлы носят расширение *.fbl). Карты России - ни о чем, квадратики городов без улиц да федеральные трассы. Но существует ресурс sibreg.com на котором энтузиасты сами делают карты восточной сибири. Задача - вскрыть формат карт IGo и написать конвертер в этот формат. Я пробую ковыряться с IDA во внутренностях, но пока не очень получается. IGo Amigo (http://torrents.ru/forum/viewtopic.php?t=1854152) тоже подойдет, используется тот же формат карт. Но IGo 8.3 субъективно кажется легче будет разобрать (как мне _показалось_ Amigo сильно объектный, множество ф-ций которые возможно являются методами объектов, бла-бла. Могу ошибаться, и возможно кому-то именно эту прогу будет вскрыть легче). Хотелось бы 1) выдрать алгоритм загрузки карты (узнать запакована ли она, если да - то как) 2) по этому алгоритму либо по дальнейшему её использованию узнать узнать формат карты 3) узнав формат карты написать конвертер в этот формат Программа минимум - узнать как загружаются карты (наверняка они пожаты) соответственно как минимум распаковать их и в дальнейшем отреверсить формат данных эмпирически. Я не очень-то силен в дизассемблировании, тем более ARM я вообще первый раз вижу, но к сожалению без этого не обойтись. Карты компрессированы/закодированы - мне не удалось найти в них никаких текстовых строк, например. Я мог бы расковырять формат данных если бы не это. Другого способа выяснить алгоритм запаковки карты кроме как дизасемблирование я не вижу. Если бы кто помог с первым этапом - остальные шаги выполню сам, некоторый опыт подобного анализа есть. Результаты и процесс будет выложен здесь. link_deleted_by_forum_engine/files/btupmd810 - IGo 8.3.2.83157 с минимальным набором данных + .idb файл (строки "причесаны", пара комментариев на перспективных направлениях). Выкладывал несколько недель назад для друга сведующего в АРМах, но кажется он куда-то опять пропал в командировку (прошлый раз он отвисал на Байконуре несколько месяцев ). Пара перспективных направлений для того чтобы "пойти в обход": - там есть встроенные дебаги, и их можно просто как-то активировать - найти как это сделать через файл конфигурации или еще как. Судя по текстовым строкам программа может дампить все вплоть до нажатий кнопок мышки, в том числе информацию по загруженным картам. Если поискать по строке mapstatus.log - будет ф-ция которая судя по всему дампит карту. - в функции по адресу 0029d6c8 печатается код ошибки при работе с картами - "ошибка ввода-вывода", "нет карт", "ошибка формата файла". Можно посмотреть ф-ции ссылающиеся на нее. Например в ф-ции 002aa918 видно какие значения соответствуют дорогам разного типа. 0029с020 тоже может быть перспективной - куча работы с памятью и арифметики/битовой логики - возможно распаковка. |
|
Создано: 19 июня 2009 18:44 · Личное сообщение · #2 |
|
Создано: 21 июня 2009 09:48 · Личное сообщение · #3 |
|
Создано: 21 июня 2009 12:42 · Поправил: dikiy · Личное сообщение · #4 Fallout пишет: iGO есть помоему и под PC Ха! Действительно, что-то есть. Правда это iGo 8ой версии, в 8.3 другой формат карт. НО! Но запакованы они похоже одинаково. Чтож, начинаю тогда ковырять эту версию, будет прогресс - отпишусь. PS: а вот интересно - вскрытие формата файла как вообще бьется с тематикой форума? Допускается такое обсуждение? |
|
Создано: 21 июня 2009 13:45 · Личное сообщение · #5 |
eXeL@B —› Крэки, обсуждения —› Формат карт для iGo [ARM] |