Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Запуск функций по их адресу  (Прочитано 1239 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MasterMan342
Участник

ru
Offline Offline

« : 27-05-2014 19:30 » 

Доброе время суток уважаемые программисты!))

кто-нибудь встречался в C# с вызовом функций по их адресу?
т.е. нужно запустить функцию, загруженную в память по ее виртуальному адресу!

Для любопытных:
Пишу загрузчик PE файлов на C#...
почему на нем а не на си? да прост... а что такого?  Отлично
ну это типа эксперимент такой, из серии "а вдруг смогу"  Улыбаюсь.

структуру загрузчика уже всю сделал, все что нужно уже подготовлено к запуску,
осталось только нажать эту "красную кнопку", и посмотреть что будет)))

вот только как эту "красную кнопку" нажать я еще не придумал, ибо в .NET не предусмотрены
функции запускающие ассемблерный код...
Есть у кого нибудь идеи, как можно сделать в C# аналогию call funcPtr в ассемблере???
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 27-05-2014 20:42 » 

MasterMan342, в этом разделе масса примеров есть использования класса Marshal. Ты хоть какие-нибудь смотрел?

В том числе там есть метод приведения нетипизированного указателя к типу функции (точнее делегату). Атрибутами делегата настраиваются любые особенно, как-то тип вызова и способ передачи параметра и т.д.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines