информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяАтака на InternetСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 ФБР нашла русский след в атаках... 
 Массовый взлом SharePoint 
 Microsoft Authenticator прекращает... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ещё один вопрос 29.03.02 22:32  Число просмотров: 1011
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
В файле содержится префикс, таблицы для загрузчика, и исполняемый код.
Можно как-нибудь убрать эту всю фигню нафиг на этапе линковки?
<programming>
[C++] Вопрос по линковке 29.03.02 15:54  
Автор: Green Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как в процессе линковки включить "сырой" код из некоторого файла?
Проще говоря, присоединить к создаваемому приложению некоторый др. файл, но ещё на этапе линковки, а потом получить возможность читать эти данные. Например (очень глупый пример), хранить в EXE'шнике необходимую DLL и в случае необходимости создавать её на диске.
Знаю, что можно воспользоваться различными тулзами типа SkillRoupe, но хотелось бы сделать это ещё при линковке.
[C++] Ещё один вопрос 29.03.02 18:36  
Автор: Green Статус: Незарегистрированный пользователь
Отредактировано 29.03.02 18:39  Количество правок: 1
<"чистая" ссылка>
В начале кода программы содержится процедурка для MS-DOS, которая выводит на экран сообщение, что данная прога не может работать под DOS.
Можно как-нибудь убрать эту фишку на этапе линковки?
см. MSDN: "Linker Options" - /STUB:filename 30.03.02 00:14  
Автор: Biasha <Бяша> Статус: Member
<"чистая" ссылка>
Ещё один вопрос 29.03.02 22:32  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
В файле содержится префикс, таблицы для загрузчика, и исполняемый код.
Можно как-нибудь убрать эту всю фигню нафиг на этапе линковки?
Класс! :) 30.03.02 00:06  
Автор: Biasha <Бяша> Статус: Member
<"чистая" ссылка>
[C++] Вопрос по линковке 29.03.02 16:17  
Автор: BOBAH Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Складываешь всё это в ресурс, а потом достаешь:
HMODULE hModule = GetModuleHandle(NULL);
HRSRC hResInfo = FindResource(hModule, "RCDATA_1", RT_RCDATA);
HGLOBAL hGlobal = LoadResource(hModule, hResInfo);
PVOID pData = LockResource(hGlobal);
DWORD DataSize = SizeofResource(hModule, hResInfo);

> Как в процессе линковки включить "сырой" код из некоторого
> файла?
> Проще говоря, присоединить к создаваемому приложению
> некоторый др. файл, но ещё на этапе линковки, а потом
> получить возможность читать эти данные. Например (очень
> глупый пример), хранить в EXE'шнике необходимую DLL и в
> случае необходимости создавать её на диске.
> Знаю, что можно воспользоваться различными тулзами типа
> SkillRoupe, но хотелось бы сделать это ещё при линковке.
[C++] Вопрос по линковке 29.03.02 16:52  
Автор: Green Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А как сделать так, чтоб файл добавлялся в ресурсы каждый раз при линковке сам, а не заносить его ручками. Ведь как я понимаю, усли я помещаю его в ресурсы, то он при этом записывается в .RC файл. А если от линковки к линковке этот файл тоже будет меняться, каждый раз заново заносить?

И ещё. Можно как-нибудь заносить этот файл в ресурсы без .RC - файла, с помощью каких-нибудь дирректив предпроцессора? Уж очень хочется объемов небольших, а RC раздует код готового приложения до неприличного.

> Складываешь всё это в ресурс, а потом достаешь:
> HMODULE hModule = GetModuleHandle(NULL);
> HRSRC hResInfo = FindResource(hModule, "RCDATA_1",
> RT_RCDATA);
> HGLOBAL hGlobal = LoadResource(hModule, hResInfo);
> PVOID pData = LockResource(hGlobal);
> DWORD DataSize = SizeofResource(hModule, hResInfo);
[C++] Вопрос по линковке 29.03.02 18:25  
Автор: BOBAH Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Добавляешь в проект .rc-файл, в нем пишешь оду единственную строку:
IDR_RT_RCDATA1 RT_RCDATA DISCARDABLE "filename.dll"

а в свой .cpp добавь:
#pragma comment(linker,"/MERGE:.rdata=.text")
#pragma comment(linker,"/MERGE:.data=.text")
#pragma comment(linker,"/MERGE:.rsrc=.text")
#pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078")

> А как сделать так, чтоб файл добавлялся в ресурсы каждый
> раз при линковке сам, а не заносить его ручками. Ведь как я
> понимаю, усли я помещаю его в ресурсы, то он при этом
> записывается в .RC файл. А если от линковки к линковке этот
> файл тоже будет меняться, каждый раз заново заносить?
[C++] А как убрать нули в конце? 29.03.02 18:28  
Автор: Green Статус: Незарегистрированный пользователь
<"чистая" ссылка>
В получаемом файле куча нулей в конце. Их можно как-нибудь убрать на линковке?

> Добавляешь в проект .rc-файл, в нем пишешь оду единственную
> строку:
> IDR_RT_RCDATA1 RT_RCDATA DISCARDABLE
> "filename.dll"
>
> а в свой .cpp добавь:
> #pragma comment(linker,"/MERGE:.rdata=.text")
> #pragma comment(linker,"/MERGE:.data=.text")
> #pragma comment(linker,"/MERGE:.rsrc=.text")
> #pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX
> /IGNORE:4078")
>
> > А как сделать так, чтоб файл добавлялся в ресурсы
> каждый
> > раз при линковке сам, а не заносить его ручками. Ведь
> как я
> > понимаю, усли я помещаю его в ресурсы, то он при этом
> > записывается в .RC файл. А если от линковки к линковке
> этот
> > файл тоже будет меняться, каждый раз заново заносить?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach