-
-
Notifications
You must be signed in to change notification settings - Fork 198
/
Copy pathimports_corruptedIAT.asm
61 lines (47 loc) · 1.54 KB
/
imports_corruptedIAT.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
; a PE with an IAT with corrupted pointers
; Ange Albertini, BSD LICENCE 2013
%include 'consts.inc'
%include 'headers.inc'
istruc IMAGE_DATA_DIRECTORY_16
at IMAGE_DATA_DIRECTORY_16.ImportsVA, dd Import_Descriptor - IMAGEBASE
at IMAGE_DATA_DIRECTORY_16.IATVA, dd ImportAddressTable - IMAGEBASE, IAT_SIZE
iend
%include 'section_1fa.inc'
%include 'code_printf.inc'
Msg db " * a PE with an IAT with corrupted pointers", 0ah, 0
_d
Import_Descriptor:
istruc IMAGE_IMPORT_DESCRIPTOR
at IMAGE_IMPORT_DESCRIPTOR.OriginalFirstThunk, dd kernel32.dll_hintnames - IMAGEBASE
at IMAGE_IMPORT_DESCRIPTOR.Name1, dd kernel32.dll - IMAGEBASE
at IMAGE_IMPORT_DESCRIPTOR.FirstThunk, dd kernel32.dll_iat - IMAGEBASE
iend
istruc IMAGE_IMPORT_DESCRIPTOR
at IMAGE_IMPORT_DESCRIPTOR.OriginalFirstThunk, dd msvcrt.dll_hintnames - IMAGEBASE
at IMAGE_IMPORT_DESCRIPTOR.Name1, dd msvcrt.dll - IMAGEBASE
at IMAGE_IMPORT_DESCRIPTOR.FirstThunk, dd msvcrt.dll_iat - IMAGEBASE
iend
istruc IMAGE_IMPORT_DESCRIPTOR
iend
_d
kernel32.dll_hintnames dd hnExitProcess - IMAGEBASE, 0
msvcrt.dll_hintnames dd hnprintf - IMAGEBASE, 0
_d
hnExitProcess db 0,0, 'ExitProcess', 0
hnprintf db 0,0, 'printf', 0
_d
ImportAddressTable:
kernel32.dll_iat:
__imp__ExitProcess:
dd -1
dd 0
msvcrt.dll_iat:
__imp__printf:
dd -1
dd 0
IAT_SIZE equ $ - ImportAddressTable
_d
kernel32.dll db 'kernel32.dll', 0
msvcrt.dll db 'msvcrt.dll', 0
_d
align FILEALIGN, db 0