开发者

MSVC++ - Force everything to be put into a single section except for `.reloc`

开发者 https://www.devze.com 2023-03-21 04:20 出处:网络
I\'ve tried using Microsoft Visual C++ #pragma section( \".text\" )开发者_如何转开发 and __declspec(allocate(\".text\")) on static read-only string data. But there is still a .rdata section in the bin

I've tried using Microsoft Visual C++ #pragma section( ".text" )开发者_如何转开发 and __declspec(allocate(".text")) on static read-only string data. But there is still a .rdata section in the binary. I am NOT using the standard C libraries. I am using MSVC++ as a bytecode compiler for use with code injection.

It would greatly simplify injection by having read-only data inside the ".text" section and not the ".rdata" section. How can I do that? is there a linker option to stuff everything into one single section, or merge 2 sections together?


There is a merge sections option in the Microsoft linker. This looks like it will work for my purposes. /MERGE:[from=to]


Put all strings and other static data in stack manually.

So you don't need other sections, except .text.

char String[] = { 's', 't', 'r', 'i', 'n', 'g', 0 };

And Unicode:

wchar_t WideString[] = { L'H', L'e', L'l', L'l', L'o', L'\0' };
0

精彩评论

暂无评论...
验证码 换一张
取 消