예제 #1
0
        private static ImageImportDescriptor *GetImportDescriptors(this ProcessModule module)
        {
            ImageNTHeaders *ntHeader = module.GetNTHeader();

            ImageDataDirectory importDataDirectory =
                ntHeader->OptionalHeader.GetDataDirectory(ImageDirectoryEntry.Import);

            return((ImageImportDescriptor *)importDataDirectory.VirtualAddress.AsPtr(module));
        }
예제 #2
0
        private static ImageNTHeaders *GetNTHeader(this ProcessModule module)
        {
            ImageDosHeader *dos = (ImageDosHeader *)module.BaseAddress;

            dos->VerifySignature();

            ImageNTHeaders *nt = (ImageNTHeaders *)dos->e_lfanew.AsPtr(module);

            nt->VerifySignature();

            return(nt);
        }