The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Дрю ДеВолт представил язык системного программирования Hare"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Дрю ДеВолт представил язык системного программирования Hare" +/
Сообщение от n00by (ok), 27-Апр-22, 09:30 
>> А так на тебе фокус:
>> volatile uint32_t * hw_reg = (volatile uint32_t *) 0x100500;
>> * hw_reg = 10;
> ...
>> В сях даже функции можно из таблицы кода на лету импортировать. Читаем таблицу, берем адрес, назначаем его указателю на функцию
> Фокус не очень - представь на секунду, что твой код не контроллирует
> все "от и до" (потому что в чужом процессе) и поэтому
> таблица не имеет фиксированного адреса времени компиляции, зато "стабильно" доступна по
> [REG+0x1005000].

Это, кстати, решается довольно просто. Адреса в таблице переходов можно пересчитать, определив текущий классическим:

     call @f
@f:  pop eax

Что бы "уйти от ассемблера", Микрософт придумала интринсик _ReturnAddress() - то есть средствами "чистого Си" задача не решается.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Дрю ДеВолт представил язык системного программирования Hare, opennews, 25-Апр-22, 16:11  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру