Привет всем (и извиняюсь за нехороший русский язык свой), я уверен Вы этот #define все знаете: Код (Text): #define SYSTEMSERVICE(_function) KeServiceDescriptorTable.ServiceTableBase[*(PULONG)((PUCHAR)_function+1)] .. который мы используем как: Код (Text): OldNtCreateFile=(NTCREATEFILE)(SYSTEMSERVICE(ZwCreateFile)); .. и мне пришлос это делать как: Код (Text): mov ecx,ZwCreateFile mov ecx,[ecx+2] mov ecx,[ecx] mov ecx,[ecx+1] Потом я увидел (у y0da) что даже есть macro: Код (Text): APIAddressFromIT MACRO api, reg mov reg, api mov reg, [reg + 2] mov reg, [reg] ENDM у меня просто вопрос, каким зинтаксом можно masm-linker заставит, чтобы он поставил этот адресс не в IТ а прямо в код. Потому что он это же делает при этом: Код (Text): mov eax, KeServiceDescriptorTable Или С-compiler делал бы то же самое (черес IT) :? спасибо