Сейчас на форуме: bartolomeo, asfa, _MBK_, Adler (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Исследование приложения на Windows CE 5.0
Посл.ответ Сообщение


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 12 декабря 2011 21:53
· Личное сообщение · #1

Всем доброго здравия. Столкнулся с проблемой, когда надо подредактировать программку, работающую внутри устройства, на котором, предположительно, стоит Windows CE 5.0. По сложности задачка не трудная, и если б это было на стандартном х86 камне, то решалась бы в считанные минуты, но с этой версией операционки сталкиваюсь впервые. Поэтому неизвестно про неё вообще ничего. Есть ли какая-то литература (желательно на русском) про внутреннее устройство, про то, как девелопить для неё софт, про ARM архитектуру команд. А то даже не могу точно сказать, пятая ли версия там стоит. На запросы в гугле нашёл одну книгу - Введение в Windows Embedded CE 6.0, но даже не понимаю, то ли это, или нет.

Теперь более конкретно:
1. Как я понял, для этой ОС тоже есть такое понятие, как сборка. Т.е. люди, которые устанавливают операционку на устройство, могут поставить "урезанную" версию данной ОС, и некоторый софт не будет запускаться из-за отсутствия системных dll. Так ли это?

2. Для этой оси есть некое подобие cmd.exe, но там оно называется MortScript. Можно ли как-то заставить тот скриптовый движок выводить результат своей работы в файл? Например, после выполнения в нём команды XCopy можно ли как-то увидеть результат её работы в некотором лог-файле?

3. Есть ли руководство по формату исполняемых файлов для этой оси, и чем этот формат отличается от стандартного РЕ для WIndows (если отличается) ?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 12 декабря 2011 22:34 · Поправил: Veliant
· Личное сообщение · #2

1)Не скажу за CE, но WM обычно собирается путем взятия дефолтной виндовой сборки (она вместе с SDK идет) + добавление в XIP драйверов OEM. Вырезать что-либо могут если только места не хватает.

3) Ничем не отличается вроде - тот же PE. Разве что архитектура выставлена ARM. Ну и имена системных либ другие. Почти все функции из kernel32 и user32 вынесены в core

Разрабатывать можно например еще в Pelles C, в нем же и отлаживать/трейсить через ActiveSync

Ассемблер армовский не такой и сложный. Длина команд фиксированная, видна на глаз в hex. Каждая команда содержит поля условий. Собственно довольно неплохая дока на сайте у самих ARM, правда без регистрации скачать не дают pdf вариант. На gaw.ru еще неплохая дока

P.S. Если какон-то определенное устройство ковырять собрался, то даташит на проц понадобится еще, т.к. у них отличается мапинг устройств в память и управляющие регистры. Но есть и плюс - новый HexRays не плохо переводит в C arm-код

| Сообщение посчитали полезным: ARCHANGEL

Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 12 декабря 2011 23:03
· Личное сообщение · #3

Veliant пишет:
новый HexRays не плохо переводит в C arm-код

еще бы он был у кого-то

-----
SaNX




Ранг: 112.9 (ветеран), 186thx
Активность: 0.090.01
Статус: Участник

Создано: 12 декабря 2011 23:10 · Поправил: vden
· Личное сообщение · #4

Вот хорошее руководство
Инструкции всегда равны размеру слова: 4 байта в ARM, 2 байта в Thumb режиме и выровнены соответственно на 4 или 2 байта.

PE-файл такой же, только архитектура ARM. Ещё в секции .pdata можно прочитать список всех функций. Но если не ошибаюсь Ida и так парсит .pdata.

Ещё немного инфы: http://xtin.activebb.net/t9-topic




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 12 декабря 2011 23:15
· Личное сообщение · #5

Veliant
Да не столько устройство, сколько ковыряю ехе для платформы CE. А могу ли я в 2008 студию добавить возможность юзать визард для создания проектов под эту Windows CE? И, я так понимаю, для дебага мне понадобиться какая-то эмуляционная среда?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 12 декабря 2011 23:26
· Личное сообщение · #6

ARCHANGEL пишет:
А могу ли я в 2008 студию добавить возможность

Я в студии почти никогда не работал, но как понял у embeddedотдельная IDE, может и ошибаюсь.
А вот для дебага у них геморой - ставить не самый быстрый эмулятор, на нем запускается образ из sdk, затем ставится ActiveSync и спец сетевые дрова. Только после этого они коннектятся. Проще и быстрей работать будет отладка на реальной железке. На форуме 4pda.ru/forum/showforum=25 есть ссылки на книги и статьи по разработке под WM кстати.
SaNX пишет:
еще бы он был у кого-то

Ну я и без hex-rays разбирал бутлодер своего смарта, чтоб узнать как он дисплей конфигурирует и по какой шине



Ранг: 78.7 (постоянный), 43thx
Активность: 0.070
Статус: Участник

Создано: 12 декабря 2011 23:38
· Личное сообщение · #7

ARCHANGEL пишет:
Да не столько устройство, сколько ковыряю ехе для платформы CE

По Аналогии с WM (WindowsMobile) !
Отлаживать в Студии, правда Шарп, получалось без проблем и IDA некоторые Сборки CE Цепляют как WM !




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 12 декабря 2011 23:41
· Личное сообщение · #8

Подскажите чайнику, Windows CE 5.0 и Windows Mobile 5.0 - это разные вещи или одно и то же?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 12 декабря 2011 23:51 · Поправил: Veliant
· Личное сообщение · #9

По классификации MS это разные вещи, но по большей части совместимые, т.к. WM на CE основана. У них в основном отличия в плане программирования GUI. Например WM основное меню соответствует нижним аппаратным кнопкам, а CE ближе к десктопным. На сколько помню успешно запускал на WM apache и perl сборки под CE))




Ранг: 164.6 (ветеран), 65thx
Активность: 0.120
Статус: Участник
Волшебник

Создано: 13 декабря 2011 00:15
· Личное сообщение · #10

Windows Mobile основана на Windows CE. Разрабатывать ПО можно прямо в студии и без всяких шарпов и .NET Compact Framework, а на могучем русском C++. С отладкой тоже проблем нет: можно отлаживать прямо из студии на реальном устройстве через ActiveSync, можно на эмуляторе, который тоже идёт вместе со студией.

-----
Следуй за белым кроликом





Ранг: 209.5 (наставник), 42thx
Активность: 0.10
Статус: Участник
WinCE ARM M@sTeR

Создано: 13 декабря 2011 04:19
· Личное сообщение · #11

ARCHANGEL пишет:
И, я так понимаю, для дебага мне понадобиться какая-то эмуляционная среда?

Вступать, конпелировать и дебажить можно как в студии (установив SDK, совместимый с операционкой на устройстве) так и в Platform Builder (до версии 6 шел отдельным приложением, теперь встраивается в студию).

ARCHANGEL пишет:
Подскажите чайнику, Windows CE 5.0 и Windows Mobile 5.0 - это разные вещи или одно и то же?

По сути WinMobile это WindowsCE с накрученым на него вендором AKU (Adaptation Kit Update).
Если быть точным то WinMobile 5.0 основана на WindowsCE 4.2, а WinMobile 6.0/6.1/6.5 на WindowsCE 5.x.

-----
Get busy living or get busy dying ©


| Сообщение посчитали полезным: ARCHANGEL
 eXeL@B —› Вопросы новичков —› Исследование приложения на Windows CE 5.0
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати