15 августа 2011 г.

TortoiseSVN позволяет создавать локальные репозитории

На днях возникла необходимость в локальном репозиторий SVN на машине с Windows. Выбирал как бы по-проще это организовать. Уже остановился на VirtualSVN Server и тут натолкнулся где-то (на радостях ссылку потерял), что все это можно сделать средствами TortoiseSVN, который и так стоит на машине. Как я раньше этого не замечал... А ларчик просто открывался...

9 августа 2011 г.

Создание и использование Shim DLL для получения логов общения через COM-порт.

Продолжаю решать задачу получения лога общения ПО RoadRover со своим оборудованием по последовательным (COM) портам. Описанный ранее способ Spy не работает под WinCE 6.0. Какие есть ещё способы снять лог работы с COM портом? Можно сделать виртуальный COM-порт, этакий прокси, но это довольно хлопотно. Есть более простой способ — воспользоваться Application Verifier.

6 августа 2011 г.

Версия 1.1 образа Windows CE 6.0 под эмулятор

Пересобрал WinCE, максимально приблизив сборку по составу модулей к устройству RoadRover на основании файла ceconfig.h с этого устройства.

26 июля 2011 г.

Spy: Windows CE API-перехватчик

В рамках исследования ПО RoadRover появилась необходимость перехватить обмен информацией между программной и аппаратной частями (модуль радио, bluetooth и т.п.). Как выяснилось в процессе анализа исполняемых файлов, общение с оборудованием происходит через COM-порты. Соответственно, для этого вызываются функции CreateFile, WriteFile и ReadFile. Вызовы этих функций и решено перехватить для получения протокола общения. 

Поиск по Интернету навел на интересную статью Spy: A Windows CE API Interceptor, перевод которой я привожу ниже. Прошу прощения за некоторую корявость перевода, это явно не мой конек.

21 июля 2011 г.

Анализ ПО ГУ RoadRover. Дизассемблирование.

Основным инструментом при анализе исполняемых файлов я использовал IDA 5.5. Дополнительно на всякий случай установил сигнатуры mfc8_arm.sig, ce6libc.sig, ce6lib.sig.

Для начала дизассемблируем Manager.exe и проанализируем таблицу импорта. Импортируемые функции зачастую являются ориентирами для понимания дизассемблированного кода. К сожалению, функции из MFC80U импортируются по Ordinal, а не по именам.
 
Попробуем получить таблицу зависимостей Ordinal -> Name.

Анализ ПО ГУ RoadRover

ПО RoadRover располагается в директории \StaticStore\D2280. По названию исполняемых файлов легко определить за что они отвечают:
  • Manager.exe - основной процесс UI. Он стартует при загрузке системы и отображает основное меню. При выборе конкретного элемента меню запускает соответствующее приложение.

11 июля 2011 г.

Строительство Windows CE 6 под эмулятор для запуска ПО ГУ RoadRover

Для анализа и реверсинга ПО понадобиться где-то запускать его. Делать это на самом ГУ представляется затруднительным, т.к. не хочется выковыривать его из машины, а работать в самой машине неудобно. Поэтому есть смысл подготовить стенд на базе MS Device Emulator. Для этого создадим образ Windows CE 6.0 под этот эмулятор.

Результирующий образ WinCE можно скачать со страницы Device Emulator Image моего проекта изучения и модернизации ПО RoadRover.