Доброго времени суток. Помогите пожалуйста начинающему. хочется понять как работать со структурами. как на синтаксисе масма будет выглядеть следующее: Код (Text): PMODULES pModules = (PMODULES)&pModules; DWORD dwNeededSize; NtQuerySystemInformation(SystemModuleInformation, pModules, 4, &dwNeededSize); pModules = (PSYSTEM_MODULE_INFORMATION)VirtualAlloc(NULL, dwNeededSize, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE); NtQuerySystemInformation(SystemModuleInformation, pModules, dwNeededSize, NULL); DWORD dwKernelBase = (DWORD)pModules->smi.Base; PCHAR pKernelName = pModules->smi.ModuleNameOffset+pModules->smi.ImageName; Благодарю за внимание.
Код (Text): Local SystemInformation:PVOID Local LengthReturned:ULONG, BufferSize:ULONG invoke ZwQuerySystemInformation, SystemModuleInformation, NULL, NULL, addr BufferSize cmp eax,STATUS_INFO_LENGTH_MISMATCH jnz exit_ mov SystemInformation,NULL invoke ZwAllocateVirtualMemory, NtCurrentProcess, addr SystemInformation, NULL, addr BufferSize, MEM_COMMIT, PAGE_READWRITE test eax,eax jnz exit_ invoke ZwQuerySystemInformation, SystemModuleInformation, SystemInformation, BufferSize, addr LengthReturned test eax,eax jnz err_query_ ----...---- err_query_: invoke ZwFreeVirtualMemory, NtCurrentProcess, addr SystemInformation, addr BufferSize, MEM_RELEASE exit_: Спроси нормально, что ты хочешь найти.
спасибо огромное. мне необходимо получить имя (ImageName + ModuleNameOffset) из структуры SYSTEM_MODULE_INFORMATION
ок. то что нужно я получил! еще небольшой вопрос: Код (Text): void GetHeaders(PCHAR ibase, PIMAGE_FILE_HEADER *pfh, PIMAGE_OPTIONAL_HEADER *poh, PIMAGE_SECTION_HEADER *psh) { PIMAGE_DOS_HEADER mzhead = (PIMAGE_DOS_HEADER)ibase; *pfh = (PIMAGE_FILE_HEADER)&ibase[mzhead->e_lfanew]; *pfh = (PIMAGE_FILE_HEADER)((PBYTE)*pfh + sizeof(IMAGE_NT_SIGNATURE)); *poh = (PIMAGE_OPTIONAL_HEADER)((PBYTE)*pfh + sizeof(IMAGE_FILE_HEADER)); *psh = (PIMAGE_SECTION_HEADER)((PBYTE)*poh + sizeof(IMAGE_OPTIONAL_HEADER)); } как на масме будет выглядеть данный код? особенно смущает : *pfh = (PIMAGE_FILE_HEADER)&ibase[mzhead->e_lfanew]; помогите пожалуйста новичку. заранее благодарен
хочу получить SST. пытаюсь разобраться в сишных исходниках Cr4sha но что-то туго идет. никак не пойму как со структурами нормально работать.
этот архив? http://dump.ru/files/n/n653656336/ нужный мне код это ф-я QuerySystemImageBase(_Img_QuerySystemImageBase_.asm)?
Первый параметр - указатель на структуру с адресом проекции и размером её. Проецируешь в память модуль ntdll, c помощью PsMapViewImageSystemFile, что возвратит - первый параметр там.