Карты навител. *.nm2. Кто нить знаком с форматом?

Тема в разделе "WASM.RESEARCH", создана пользователем punxer, 26 июн 2010.

  1. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    поможите)
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Позже приложу файлы и ссылку на программу что работает с форматом
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Вот все что есть по теме.
     
  4. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    аттач опять не аттачится. Вот ссылко.
    http://rghost.ru/1996449/private/ee4ff45a5d7248467f11402f8fae346f
    В папке с программой лежат интересные текстовые файлики. Пытаюсь применить их. Просто екзешник - это с навигатора. Вин СЕ никогда не реверсил. Вторая программа может только из текстового формата переводить в нм2. Помогите найти место в дизасме. Пока брякаюсь на Createfile, и пытаюсь брякнуться на создании диалога, что вызывается если нажать не экспорт,а сохранить как нм2.
    Я не прошу все сделать за меня. Если есть мысли, какие то адреса, милости просим. С идой и отладчиком я знаком, но пока результата почти ноль, начал восстанавливать код с вин майн и процедуры главного окна, но там не нашел вызов меню нужного при WM_COMMAND. Все диалоги включая нужный в ресурсах.
     
  5. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Понятно. Буду отписываться о результатах в этой теме. Если кто поможет буду очень признателен. Все что нужно есть в архиве, точнее все что есть.
     
  6. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Код (Text):
    1. .text:0049137C                 cmp     dword ptr [eax], 'MTNG'
    2. .text:00491382                 jz      short GotFuckinHeader
    Это из второга модулька, а первый я не смог пока нормальна посмотреть т.к. я использовал фриваре 4.9 а там нет поддержки "арм".

    0) Что конкретна хочецца узнать? 1) Используйте комбинацию ida+olly/ice/etc.
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    http://www.google.com.ua/search?aq=f&sourceid=chrome&ie=UTF-8&q=%22.nm2%22
    приводит сюда
    http://filext.com/file-extension/nm2
    а само об формате намекает, что реверсом ехе его так просто, дешево и полноценно не вскрыть. если он, скажем, не на основе какого нибудь основного формата. хмл, например. вы б приаттачили пару самых простых и маленьких кроликов в этом формате. например, 1 отрезок прямой. тот же отрезок, но ортогонально, тот же ..., но с других координат. текстовая строка итд (не знаю сколько там примитивов). медленно, муторно, да. если есть путь проще - идите им.
     
  8. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Суть в том, что есть открыттый формат mp - польский формат. Есть формат nm2- Navitel, нужно из mp сделать nm2. Армовскя прога что приаттачена прямиком с нужного навигатора. Программа mapedit1-0-63-0 умеет читать и создавать польский формат(mp), а также экспортировать его в Navitel nm2.
    В паппке с mapedit1-0-63-0 есть интересные текстовые файлы. Я сначала подозревал что они помогут. Там захардкожены определенные примитивы и какие то соответствующие коды. Garmin - это и есть польский формат.
    PSR1257
    0) Нужно научиться переводить обратно nm2 в mp, для этого пытаюсь найти место в программе mapedit1-0-63-0 место где выполняется обратное преобразование.
    1) Использую.

    qqwe
    Если открыть файл mp то можно и самому нарисовать одну линию да и в рорамме можно ее нарисовать. Он ткстовый.


    Программа предствляет также услуги COM-сервера как выяснилось. Но ничего интересного опять же там не нашел.

    Спасибо откликнувшемся.
     
  9. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Про COM сервер. Как скормить иде TypeLib?
     
  10. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    И еще наврал. Карты можно только просматривать а не создавать в mapedit1-0-63-0. Создать можно блокнотом. Программой сконвертировать в навител.
     
  11. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Дорисовывать можно. Вот с одним полигоном.
     
  12. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Вот тоже самое. Немного изменены координаты. Добавлена надпись: Ebuchiy Les
    )
     
  13. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    PSR1257
    Код (Text):
    1. .text:0049137C                 cmp     dword ptr [eax], 'MTNG'
    2. .text:00491382                 jz      short GotFuckinHeader
    Функция часть какого то интерфейса и поток выволнения хер определишь. Откуда она вызывается. Щас ольги нет. ( Но и это не то. Зачем при сохранении в этот формат проверять где то сигнатуру.
     
  14. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1. .text:004F39DA ; int __stdcall nm2wORKING(HANDLE hFile, int, int)
    вот что отрыл. Родитель-переходник тоже виртуальная. пока анализ что был что нет.
     
  15. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1. int __thiscall sub_4578A3(int this, int Str, char *pszFrom, int a4)
    Вот походу то что нужно. Буду копать.
     
  16. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    точнее та функция что в ней
     
  17. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Ну хоть кто нить кому интересно и не очень занят подключитесь/
     
  18. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    [​IMG]

    Как отловить появление этого диалога? С условными точками останова не заноком.
     
  19. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    На вызове диалога брякнулся. Но он судя по всему вызывается не раз и с разными процедурами окна( много их.
     
  20. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Код (Text):
    1. .text:00407019 ; int __cdecl ThatDialogBox(__int16, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam)