На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> exe и dll отличие , как из exe сделать dll?
    Цитата
    А как поведет себя файл с точки зрения нормального ехе при замене этого поля? Вообще возможно использовать файл одновременно и как ехе и как длл? в смысле не в ущерб ни одному и ни другому.

    Да можно, всё будет ок. (ntoskrnl.exe например)
    Цитата
    Столкнулся с похожей задачей, делаю ехе с релоками, подгружаю как длл, определяю нормально адрес функции, но в самой функции адреса не поправленные, без смещений, получаю ошибку при выполнении.

    Проверь верность релоков. Грузишь LoadLibrary?
        Всем спасибо, проблему решил релоком всех адресов в загруженном файле. В си++ 6 секция релоков к ехе добавляется по опции линкера /FIXED:NO
        Сообщение отредактировано: Zyaba -
          Цитата Zyaba @
          Вообще возможно использовать файл одновременно и как ехе и как длл? в смысле не в ущерб ни одному и ни другому.

          Без проблем. Если функция в экзешнике объявлена на экспорт, то можно загрузить экзешник по LoadLibrary и вызывать ее как обычную из ДЛЛ. Проблема только в том что такой фокус прокатит только в случае если в функции делается чистая математика без использования обращения к статическим данным(адресам). Хотя при желании можно решить и эту проблему, если в экспортируемой функции прописать код возвращающий адреса на внутренние данные(строки, константы...) а потом уже обращаться к этим данным, или наоборот скармливать функции адреса на данные из вызвавшего процесса. Нормальная ДЛЛ при загрузке автоматически инициализирует область данных, имеет свое собственное пространство для глобальных, статических переменных, в случае же с экспортируемой функцией из ехе этого нет, Вы получаете просто точку входа в исполняемый код который должен сам позаботится о адресации к не инициализируемым автоматически на загрузке данным.
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0193 ]   [ 14 queries used ]   [ Generated: 17.05.24, 06:42 GMT ]