1NAME=tifdir imports and sections 2FILE=bins/coff/tif_dir.obj 3CMDS=<<EOF 4ii 5iS 6EOF 7EXPECT=<<EOF 8[Imports] 9nth vaddr bind type lib name 10--------------------------------- 110 ---------- NONE FUNC __TIFFmalloc 121 ---------- NONE FUNC __TIFFrealloc 132 ---------- NONE FUNC __TIFFmemset 143 ---------- NONE FUNC __TIFFmemcpy 154 ---------- NONE FUNC __TIFFfree 165 ---------- NONE FUNC _TIFFFindField 176 ---------- NONE FUNC _TIFFFieldWithTag 187 ---------- NONE FUNC _TIFFReadDirectory 198 ---------- NONE FUNC _TIFFErrorExt 209 ---------- NONE FUNC _TIFFWarningExt 2110 ---------- NONE FUNC _TIFFSwabShort 2211 ---------- NONE FUNC _TIFFSwabLong 2312 ---------- NONE FUNC _TIFFSwabLong8 2413 ---------- NONE FUNC __TIFFGetFields 2514 ---------- NONE FUNC __TIFFGetExifFields 2615 ---------- NONE FUNC __TIFFSetupFields 2716 ---------- NONE FUNC __TIFFFillStriles 2817 ---------- NONE FUNC __TIFFNoPostDecode 2918 ---------- NONE FUNC sym.imp.BitData 3019 ---------- NONE FUNC sym.imp.BitData 3120 ---------- NONE FUNC sym.imp.BitData 3221 ---------- NONE FUNC sym.imp.BitData 3322 ---------- NONE FUNC _TIFFSetCompressionScheme 3423 ---------- NONE FUNC __TIFFDataSize 3524 ---------- NONE FUNC __TIFFCheckMalloc 3625 ---------- NONE UNK __fltused 37 38[Sections] 39 40nth paddr size vaddr vsize perm name 41--------------------------------------------------- 420 0x000001cc 0x2f 0x00000000 0x2f ---- .drectve-0 431 0x000001fb 0x8670 0x00000030 0x8670 -r-- .debug$S-1 442 0x0000ad73 0x70 0x000086a0 0x70 -r-- .debug$T-2 453 0x0000ade3 0x625 0x00008710 0x625 -rw- .data-3 464 0x0000b408 0x54 0x00008d40 0x54 -r-- .rdata-4 475 0x00000000 0x8 0x00008da0 0x8 -rw- .bss-5 486 0x0000b45c 0x2895 0x00008db0 0x2895 -r-x .text$mn-6 497 0x0000e967 0x8 0x0000b650 0x8 -r-- .rdata-7 508 0x0000e96f 0x4 0x0000b660 0x4 -r-- .rdata-8 519 0x0000e973 0x8 0x0000b670 0x8 -r-- .rdata-9 5210 0x0000e97b 0x4 0x0000b680 0x4 -r-- .rdata-10 53 54EOF 55RUN 56 57NAME=tiny coff 58FILE=bins/coff/coff.obj 59CMDS=om;is;ir 60EXPECT=<<EOF 61 2 fd: 3 +0x00000064 0x00000000 - 0x00000026 r-x fmap..text_0 62 1 fd: 3 +0x0000008b 0x00000030 - 0x0000004b r-- fmap..data_1 63[Symbols] 64 65nth paddr vaddr bind type size lib name 66--------------------------------------------------- 670 ---------- ---------- NONE UNK 4 imp.MessageBoxA 680 ---------- ---------- NONE UNK 4 imp.ExitProcess 690 0x00000064 0x00000000 LOCAL SECT 4 .text 700 0x00000064 0x00000000 GLOBAL FUNC 4 main 710 0x0000008b 0x00000030 LOCAL SECT 4 .data 72[Relocations] 73 74vaddr paddr type name 75--------------------------------- 760x00000009 0x0000006d ADD_32 .data 770x00000010 0x00000074 ADD_32 .data 780x0000001c 0x00000080 ADD_32 MessageBoxA 790x00000023 0x00000087 ADD_32 ExitProcess 80 81 824 relocations 83EOF 84RUN 85 86NAME=tiny coff2 87FILE=bins/coff/coff2.obj 88CMDS=<<EOF 89om 90is~text 91s sym.__1FooBar__QAE_XZ 92pd 2 93EOF 94EXPECT=<<EOF 95 9 fd: 3 +0x0000017c 0x00000000 - 0x000000ee --- fmap..drectve_0 96 8 fd: 3 +0x0000026b 0x000000f0 - 0x00000b9f r-- fmap..debug_S_1 97 7 fd: 3 +0x00000d1b 0x00000ba0 - 0x00000c13 r-- fmap..debug_T_2 98 6 fd: 3 +0x00000d8f 0x00000c20 - 0x00000c4c r-x fmap..text_mn_3 99 5 fd: 3 +0x00000dbc 0x00000c50 - 0x00000d23 r-- fmap..debug_S_4 100 4 fd: 3 +0x00000ec2 0x00000d30 - 0x00000d59 r-x fmap..text_mn_5 101 3 fd: 3 +0x00000eec 0x00000d60 - 0x00000e33 r-- fmap..debug_S_6 102 2 fd: 3 +0x00000ff2 0x00000e40 - 0x00000e43 r-- fmap..rtc_IMZ_7 103 1 fd: 3 +0x00001000 0x00000e50 - 0x00000e53 r-- fmap..rtc_TMZ_8 1040 0x00000d8f 0x00000c20 LOCAL SECT 4 .text$mn 1050 0x00000ec2 0x00000d30 LOCAL SECT 4 .text$mn 106 ;-- section..text_mn_5: 107 ;-- .text$mn: 108 ;-- ??1FooBar@@QAE@XZ: 109 0x00000d30 55 push ebp ; [05] -r-x section size 42 named .text$mn-5 110 0x00000d31 8bec mov ebp, esp 111EOF 112RUN 113 114NAME=patched reloc x86 115ARGS=-e io.cache=1 116FILE=bins/coff/tif_dir.obj 117CMDS=<<EOF 118af @ sym._TIFFGetField 119pd 1 @ reloc._TIFFVGetField-1 120axt @ sym._TIFFVGetField 121pd 1 @ sym._TIFFVGetField+0xe 122pd 1 @ sym.imp._TIFFFindField 123EOF 124EXPECT=<<EOF 125| 0x00008dbd e80e000000 call sym._TIFFVGetField ; RELOC 32 _TIFFVGetField @ 0x00008dd0 126sym._TIFFGetField 0x8dbd [CALL] call sym._TIFFVGetField 127| 0x00008dde e8ad280000 call _TIFFFindField 128 ; CALL XREF from sym._TIFFVGetField @ 0x8dde 129 ;-- reloc._TIFFFindField: 130 ;-- _TIFFFindField: 131 0x0000b690 .dword 0x00000000 ; RELOC 32 _TIFFFindField 132EOF 133RUN 134 135NAME=patching REL32 amd64 136ARGS=-e io.cache=1 137FILE=bins/coff/coff.obj 138CMDS=<<EOF 139pd 2 @ sym.main+6 140EOF 141EXPECT=<<EOF 142 0x00000006 4c8d05230000. lea r8, [0x00000030] ; sym..data ; "Win64 assembly"; RELOC 32 .data @ 0x00000030 143 0x0000000d 488d152b0000. lea rdx, [0x0000003f] ; str.Coffee_time_ ; "Coffee time!"; RELOC 32 .data @ 0x00000030 + 0xf 144EOF 145RUN 146