eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: amanimm (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Крэки, обсуждения —› Формат карт для iGo [ARM]
Посл.ответ Сообщение

Ранг: 0.3 (гость)
Статус: Участник

Создано: 19 июня 2009 18:41 New!
Цитата · Личное сообщение · #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 тоже может быть перспективной - куча работы с памятью и арифметики/битовой логики - возможно распаковка.

Ранг: 0.3 (гость)
Статус: Участник

Создано: 19 июня 2009 18:44 New!
Цитата · Личное сообщение · #2

BTW, трассировка на эмуляторе у меня не получилась - прога валится с эксепшеном, а железное устройство по activesync подключить не получилось.

Ранг: 45.7 (посетитель)
Статус: Участник

Создано: 21 июня 2009 09:48 New!
Цитата · Личное сообщение · #3

iGO есть помоему и под PC так что если они используют один и тот же формат... то не надо заморачиваться с WinCE под ARM

Ранг: 0.3 (гость)
Статус: Участник

Создано: 21 июня 2009 12:42 · Поправил: dikiy New!
Цитата · Личное сообщение · #4

Fallout пишет:
iGO есть помоему и под PC


Ха! Действительно, что-то есть. Правда это iGo 8ой версии, в 8.3 другой формат карт. НО! Но запакованы они похоже одинаково. Чтож, начинаю тогда ковырять эту версию, будет прогресс - отпишусь.

PS: а вот интересно - вскрытие формата файла как вообще бьется с тематикой форума? Допускается такое обсуждение?


Ранг: 1986.7 (!!!!)
Статус: Модератор
retired

Создано: 21 июня 2009 13:45 New!
Цитата · Личное сообщение · #5

Ковыряй формат, жалко что ли. Нормально это с правилами.
 eXeL@B —› Крэки, обсуждения —› Формат карт для iGo [ARM]

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS