Re: Hook без длл
От: ADK  
Дата: 24.05.02 07:10
Оценка: 4 (1)
Здравствуйте SUnteXx, Вы писали:

Если бы в MSDN было всё описано, то и не спрашивали бы

#define CODE "MY_CODE"
#pragma comment(linker,"/BASE:0x99990000") // Хороший адрес, вряд-ли там кто-то бывает
#pragma comment(linker,"/merge:.rdata="CODE) // Все секции в одну загони
#pragma comment(linker,"/merge:.rsrc="CODE)
#pragma comment(linker,"/merge:.reloc="CODE)
#pragma comment(linker,"/merge:.idata="CODE)
#pragma comment(linker,"/merge:.data="CODE)
#pragma comment(linker,"/merge:.text="CODE)
#pragma comment(linker,"/section:"CODE",SERW") // Атрибуты: Shared — Execute — Read — Write

И ДЛЛ не понадобится вообще


#4 04/21/02 17:40:38 Цитировать » Править » Удалить

--------------------------------------------------------------------------------
Можно ли пользовать глобальные хуки без выкладывания callback функции в отдельную dll


Можно...

#define CODE "HOOKER"
#pragma code_seg(CODE)
// Выбрать имя секции

#pragma comment(linker,"/section:"CODE",SERW")
// Атрибуты секции: Shared — Execute — Read — Write

#pragma comment(linker,"/merge:.text="CODE)
#pragma comment(linker,"/merge:.rdata="CODE)
#pragma comment(linker,"/merge:.reloc="CODE)
#pragma comment(linker,"/merge:.idata="CODE)
#pragma comment(linker,"/merge:.data="CODE)
// Слить все секции в одну, чтобы расшарено было всё

//#pragma comment(linker,"/merge:.rsrc="CODE)
// Не сливать .RSRC, потому что из неё потом ничего не вытащишь...
// не знаю чё за глюк

#pragma comment(linker,"/BASE:0x87650000")
// Выбрать хороший адрес, где никого никогда не будет...
Independent software developer
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.