реклама на сайте
подробности

 
 
> abort handler. вопрос к гуру: как узнать адрес, куда пишутся данные?
max sagaydachny
сообщение Oct 23 2007, 12:56
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 23-10-07
Пользователь №: 31 645



имеется устройство с процессором arm946es.
его родной firmware позволяет запускать бинарные файлы с SD карточки.
в результате запуска стартует не родная операционная система, а код из бинарного файла.

цель проекта: запустить процесс в уже работающей операционной системе.
для этого код из бинарного файла должен передать управление обратно на ROM, чтобы продолжилась загрузка операционной системы ( скорее всего с этим у нас проблем нет )

вопрос: как к нашему коду вернется управление после старта операционной системы?
ответ: используя Protection Unit мы пытаемся не позволить операционной системе установить ее родной abort handler
проблема в том, что минимальный размер страницы при использовании Protection Unit - 4kb
a нам нужно не позволить записать только 4(8?) байтов в vector table (data abort handler и prefetch abort handler )

тоесть наш обработчик должен иметь возможность узнать, что и куда в этом сегменте пытались записать.
если записываемый адрес не наш abort handler - нам нужно записать эти данные как и предполагал их записать "чужой" код.
получается, что нам нужен парсер инструкциЙ STR.
изобретать велосипед не хочется. скорее всего этот код давно существует.
мне не удалось этот код найти.
я смотрел проекты: qemu, skyeye, softgun, swarm
немного тяжело анализировать такие большие проекты, когда мне всего лишь нужен парсер для двух инструкций STR.

вопрос: где такой код искать, который позволяет узнать, по какому адресу предполагалась запись?
также возможно мы используем совершенно не правильный подход для решения нашей проблемы.


выслушаю и приму любые дикие идеи.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- max sagaydachny   abort handler. вопрос к гуру: как узнать адрес, куда пишутся данные?   Oct 23 2007, 12:56
- - scifi   Такая штука реализована в Linux. Ссылка на код ест...   Oct 24 2007, 05:32
|- - max sagaydachny   scifi - спасибо за идею defunct подробнее: 1) ш...   Oct 25 2007, 12:33
|- - defunct   Цитата(max sagaydachny @ Oct 25 2007, 15...   Oct 25 2007, 13:23
- - defunct   Цитатаa нам нужно не позволить записать только 4(8...   Oct 25 2007, 11:42
- - Dron_Gus   Это уже сродни вирусописательству. Там тоже решают...   Oct 25 2007, 12:40
|- - max sagaydachny   Цитата(Dron_Gus @ Oct 25 2007, 15:40) Это...   Oct 25 2007, 13:28
|- - defunct   Цитата(max sagaydachny @ Oct 25 2007, 16...   Oct 25 2007, 13:32
|- - max sagaydachny   defunct я думаю, что родной дата аборт хандлер там...   Oct 25 2007, 13:50
|- - defunct   Цитата(max sagaydachny @ Oct 25 2007, 16...   Oct 25 2007, 13:54
|- - max sagaydachny   abort handler - это обработчик ситуации, когда сов...   Oct 25 2007, 14:24
|- - defunct   Цитата(max sagaydachny @ Oct 25 2007, 17...   Oct 25 2007, 14:38
- - Dron_Gus   2 defunct На мой взгляд автор хочет подменить Дат...   Oct 25 2007, 14:47
- - defunct   Цитата(Dron_Gus @ Oct 25 2007, 17:47) На ...   Oct 25 2007, 15:22


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 22:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016