Lines Matching defs:imgbase

85 pe_get_dos_header(vm_offset_t imgbase, image_dos_header *hdr)
89 if (imgbase == 0 || hdr == NULL)
92 signature = *(uint16_t *)imgbase;
96 bcopy ((char *)imgbase, (char *)hdr, sizeof(image_dos_header));
106 pe_is_nt_image(vm_offset_t imgbase)
111 if (imgbase == 0)
114 signature = *(uint16_t *)imgbase;
116 dos_hdr = (image_dos_header *)imgbase;
117 signature = *(uint32_t *)(imgbase + dos_hdr->idh_lfanew);
132 pe_get_optional_header(vm_offset_t imgbase, image_optional_header *hdr)
137 if (imgbase == 0 || hdr == NULL)
140 if (pe_is_nt_image(imgbase))
143 dos_hdr = (image_dos_header *)(imgbase);
144 nt_hdr = (image_nt_header *)(imgbase + dos_hdr->idh_lfanew);
158 pe_get_file_header(vm_offset_t imgbase, image_file_header *hdr)
163 if (imgbase == 0 || hdr == NULL)
166 if (pe_is_nt_image(imgbase))
169 dos_hdr = (image_dos_header *)imgbase;
170 nt_hdr = (image_nt_header *)(imgbase + dos_hdr->idh_lfanew);
184 pe_get_section_header(vm_offset_t imgbase, image_section_header *hdr)
190 if (imgbase == 0 || hdr == NULL)
193 if (pe_is_nt_image(imgbase))
196 dos_hdr = (image_dos_header *)imgbase;
197 nt_hdr = (image_nt_header *)(imgbase + dos_hdr->idh_lfanew);
211 pe_numsections(vm_offset_t imgbase)
215 if (pe_get_file_header(imgbase, &file_hdr))
227 pe_imagebase(vm_offset_t imgbase)
231 if (pe_get_optional_header(imgbase, &optional_hdr))
243 pe_directory_offset(vm_offset_t imgbase, uint32_t diridx)
248 if (pe_get_optional_header(imgbase, &opt_hdr))
256 return(pe_translate_addr(imgbase, dir));
260 pe_translate_addr(vm_offset_t imgbase, vm_offset_t rva)
268 if (pe_get_optional_header(imgbase, &opt_hdr))
271 sections = pe_numsections(imgbase);
273 dos_hdr = (image_dos_header *)imgbase;
274 nt_hdr = (image_nt_header *)(imgbase + dos_hdr->idh_lfanew);
302 return((vm_offset_t)(imgbase + rva - sect_hdr->ish_vaddr +
313 pe_get_section(vm_offset_t imgbase, image_section_header *hdr, const char *name)
321 if (imgbase == 0 || hdr == NULL)
324 if (pe_is_nt_image(imgbase))
327 sections = pe_numsections(imgbase);
329 dos_hdr = (image_dos_header *)imgbase;
330 nt_hdr = (image_nt_header *)(imgbase + dos_hdr->idh_lfanew);
354 pe_relocate(vm_offset_t imgbase)
366 base = pe_imagebase(imgbase);
367 pe_get_section(imgbase, &sect, ".text");
368 txt = pe_translate_addr(imgbase, sect.ish_vaddr);
371 pe_get_section(imgbase, &sect, ".reloc");
373 relhdr = (image_base_reloc *)(imgbase + sect.ish_rawdataaddr);
384 lloc = (uint32_t *)pe_translate_addr(imgbase,
386 *lloc = pe_translate_addr(imgbase,
390 sloc = (uint16_t *)pe_translate_addr(imgbase,
395 sloc = (uint16_t *)pe_translate_addr(imgbase,
400 qloc = (uint64_t *)pe_translate_addr(imgbase,
402 *qloc = pe_translate_addr(imgbase,
430 vm_offset_t imgbase,
439 if (imgbase == 0 || module == NULL || desc == NULL)
442 offset = pe_directory_offset(imgbase, IMAGE_DIRECTORY_ENTRY_IMPORT);
449 modname = (char *)pe_translate_addr(imgbase,
463 pe_get_messagetable(vm_offset_t imgbase, message_resource_data **md)
471 if (imgbase == 0)
474 offset = pe_directory_offset(imgbase, IMAGE_DIRECTORY_ENTRY_RESOURCE);
498 *md = (message_resource_data *)pe_translate_addr(imgbase,
507 pe_get_message(vm_offset_t imgbase, uint32_t id, char **str, int *len, uint16_t *flags)
514 pe_get_messagetable(imgbase, &md);
583 pe_patch_imports(vm_offset_t imgbase, const char *module, image_patch_table *functbl)
590 if (imgbase == 0 || module == NULL || functbl == NULL)
593 if (pe_get_import_descriptor(imgbase, &imp_desc, module))
596 nptr = (vm_offset_t *)pe_translate_addr(imgbase,
598 fptr = (vm_offset_t *)pe_translate_addr(imgbase,
601 while (nptr != NULL && pe_translate_addr(imgbase, *nptr)) {
602 fname = (char *)pe_translate_addr(imgbase, (*nptr) + 2);