mirror of
https://github.com/rizinorg/rizin
synced 2026-08-22 20:26:16 -04:00
563 lines
12 KiB
Text
563 lines
12 KiB
Text
NAME=Open LE cdogs.exe
|
|
FILE=bins/le/cdogs.exe
|
|
CMDS=<<EOF
|
|
iH
|
|
echo ---
|
|
ie:vaddr:quiet
|
|
echo ---
|
|
iS
|
|
echo ---
|
|
ir > $relocs
|
|
cat $relocs~?
|
|
cat $relocs~0x00010~?
|
|
cat $relocs~0x00011~?
|
|
cat $relocs~0x00012~?
|
|
cat $relocs~0x00013~?
|
|
cat $relocs~0x00014~?
|
|
cat $relocs~0x00015~?
|
|
cat $relocs~0x00016~?
|
|
cat $relocs~0x00017~?
|
|
cat $relocs~0x00018~?
|
|
cat $relocs~0x00019~?
|
|
cat $relocs~0x0001a~?
|
|
cat $relocs~0x0001b~?
|
|
cat $relocs~0x0001c~?
|
|
cat $relocs~0x0001d~?
|
|
cat $relocs~0x0001e~?
|
|
cat $relocs~0x0001f~?
|
|
cat $relocs~0x00020~?
|
|
cat $relocs~0x00021~?
|
|
cat $relocs~0x00022~?
|
|
cat $relocs~0x00023~?
|
|
cat $relocs~0x00024~?
|
|
cat $relocs~0x00025~?
|
|
cat $relocs~0x00026~?
|
|
cat $relocs~0x00027~?
|
|
cat $relocs~0x00028~?
|
|
cat $relocs~0x00029~?
|
|
cat $relocs~0x0002a~?
|
|
cat $relocs~0x0002b~?
|
|
cat $relocs~0x0002c~?
|
|
cat $relocs~0x0002d~?
|
|
cat $relocs~0x0002e~?
|
|
cat $relocs~0x0002f~?
|
|
cat $relocs~0x00030~?
|
|
cat $relocs~0x00031~?
|
|
cat $relocs~0x00032~?
|
|
cat $relocs~0x00033~?
|
|
cat $relocs~0x00034~?
|
|
cat $relocs~0x00035~?
|
|
cat $relocs~0x00036~?
|
|
cat $relocs~0x00037~?
|
|
cat $relocs~0x00038~?
|
|
cat $relocs~0x00039~?
|
|
cat $relocs~0x0003a~?
|
|
cat $relocs~0x0003b~?
|
|
cat $relocs~0x0003c~?
|
|
cat $relocs~0x0003d~?
|
|
cat $relocs~0x0003e~?
|
|
cat $relocs~0x0003f~?
|
|
cat $relocs~0x00040~?
|
|
cat $relocs~0x00041~?
|
|
cat $relocs~0x00042~?
|
|
cat $relocs~0x00043~?
|
|
cat $relocs~0x00044~?
|
|
cat $relocs~0x00045~?
|
|
cat $relocs~0x00046~?
|
|
cat $relocs~0x00047~?
|
|
cat $relocs~0x00048~?
|
|
cat $relocs~0x00049~?
|
|
cat $relocs~0x0004a~?
|
|
cat $relocs~0x0004b~?
|
|
cat $relocs~0x0004c~?
|
|
cat $relocs~0x0004d~?
|
|
cat $relocs~0x0004e~?
|
|
cat $relocs~0x0004f~?
|
|
echo ---
|
|
aac
|
|
# aaef
|
|
aflc
|
|
echo ---
|
|
s
|
|
echo ---
|
|
pi 1
|
|
EOF
|
|
EXPECT=<<EOF
|
|
le:
|
|
signature: "LE"
|
|
le_offset: 0x2d98
|
|
byte_order: "little endian"
|
|
word_order: "little endian"
|
|
format_level: 0
|
|
module_name: "cdogs"
|
|
type: "Program module (EXE)"
|
|
cpu: "80386"
|
|
os: "OS/2"
|
|
arch: "x86"
|
|
version: 0
|
|
mflags: 0x200
|
|
flags:
|
|
- "PMWINAPI"
|
|
- "EXE"
|
|
mpages: 61
|
|
initial_eip_obj: 1
|
|
initial_eip: 0x16058
|
|
initial_stack_obj: 2
|
|
initial_esp: 0x26030
|
|
page_size: 0x1000
|
|
last_page_size: 0xd8c
|
|
fixup_size: 0xa14a
|
|
fixup_checksum: 0x0
|
|
loader_size: 0xa278
|
|
loader_checksum: 0x0
|
|
obj_table: 0xc4
|
|
obj_count: 2
|
|
obj_page_map: 0xf4
|
|
obj_iter_data_map: 0x0
|
|
resource_table: 0x1e8
|
|
resource_count: 0
|
|
resident_name_table: 0x1e8
|
|
entry_table: 0x1f1
|
|
directives_table: 0x0
|
|
directives_count: 0
|
|
fixup_page_table: 0x1f2
|
|
fixup_record_table: 0x2ea
|
|
import_module_name_table: 0xa33b
|
|
import_module_name_count: 0
|
|
import_procedure_name_table: 0xa33b
|
|
per_page_checksum_table: 0x0
|
|
enumerated_data_pages: 0xd200
|
|
number_of_preload_pages: 0
|
|
non_resident_names_table: 0x0
|
|
size_non_resident_names: 0
|
|
checksum_non_resident_names: 0x0
|
|
autodata_obj: 2
|
|
debug_info: 0x0
|
|
debug_length: 0x0
|
|
preload_pages: 0
|
|
demand_pages: 0
|
|
heap_size: 0x0
|
|
stack_size: 0x0
|
|
|
|
---
|
|
0x00026058
|
|
---
|
|
paddr size vaddr vsize align perm name type flags
|
|
-------------------------------------------------------------------
|
|
0x0000d200 0x2d000 0x00010000 0x2d000 0x0 -r-x obj1_1
|
|
0x0003a200 0xfd8c 0x00040000 0x26030 0x0 -rw- obj2_1
|
|
---
|
|
5237
|
|
151
|
|
160
|
|
102
|
|
133
|
|
208
|
|
172
|
|
337
|
|
212
|
|
143
|
|
325
|
|
262
|
|
174
|
|
219
|
|
305
|
|
296
|
|
330
|
|
260
|
|
322
|
|
409
|
|
186
|
|
415
|
|
502
|
|
181
|
|
307
|
|
380
|
|
113
|
|
85
|
|
240
|
|
124
|
|
198
|
|
179
|
|
186
|
|
222
|
|
159
|
|
110
|
|
318
|
|
274
|
|
24
|
|
366
|
|
356
|
|
179
|
|
103
|
|
128
|
|
157
|
|
128
|
|
8
|
|
0
|
|
0
|
|
282
|
|
533
|
|
670
|
|
17
|
|
2
|
|
0
|
|
0
|
|
95
|
|
81
|
|
45
|
|
6
|
|
0
|
|
0
|
|
381
|
|
561
|
|
588
|
|
---
|
|
789
|
|
---
|
|
0x26058
|
|
---
|
|
jmp 0x260d0
|
|
EOF
|
|
RUN
|
|
|
|
NAME=Open LX GCC.EXE
|
|
FILE=bins/le/GCC.EXE
|
|
CMDS=<<EOF
|
|
iH
|
|
echo ---
|
|
ie:vaddr:quiet
|
|
echo ---
|
|
iS
|
|
echo ---
|
|
ir
|
|
echo ---
|
|
il
|
|
EOF
|
|
EXPECT=<<EOF
|
|
le:
|
|
signature: "LX"
|
|
le_offset: 0x600
|
|
byte_order: "little endian"
|
|
word_order: "little endian"
|
|
format_level: 0
|
|
module_name: "gcc"
|
|
type: "Program module (EXE)"
|
|
cpu: "80386"
|
|
os: "OS/2"
|
|
arch: "x86"
|
|
version: 0
|
|
mflags: 0x210
|
|
flags:
|
|
- "NOINTFIXUPS"
|
|
- "PMWINAPI"
|
|
- "EXE"
|
|
mpages: 16
|
|
initial_eip_obj: 1
|
|
initial_eip: 0x0
|
|
initial_stack_obj: 4
|
|
initial_esp: 0x800000
|
|
page_size: 0x1000
|
|
page_shift: 0xc
|
|
fixup_size: 0x9b
|
|
fixup_checksum: 0x0
|
|
loader_size: 0xe8
|
|
loader_checksum: 0x0
|
|
obj_table: 0xc4
|
|
obj_count: 4
|
|
obj_page_map: 0x124
|
|
obj_iter_data_map: 0x0
|
|
resource_table: 0x0
|
|
resource_count: 0
|
|
resident_name_table: 0x1a4
|
|
entry_table: 0x1ab
|
|
directives_table: 0x0
|
|
directives_count: 0
|
|
fixup_page_table: 0x1ac
|
|
fixup_record_table: 0x1f0
|
|
import_module_name_table: 0x239
|
|
import_module_name_count: 2
|
|
import_procedure_name_table: 0x246
|
|
per_page_checksum_table: 0x0
|
|
enumerated_data_pages: 0x1000
|
|
number_of_preload_pages: 0
|
|
non_resident_names_table: 0x0
|
|
size_non_resident_names: 0
|
|
checksum_non_resident_names: 0x0
|
|
autodata_obj: 2
|
|
debug_info: 0x0
|
|
debug_length: 0x0
|
|
preload_pages: 0
|
|
demand_pages: 1
|
|
heap_size: 0x0
|
|
stack_size: 0x0
|
|
|
|
---
|
|
0x00010000
|
|
---
|
|
paddr size vaddr vsize align perm name type flags
|
|
--------------------------------------------------------------------
|
|
0x00001000 0xf000 0x00010000 0xf000 0x0 -r-x obj1_1
|
|
0x00010000 0x1000 0x00020000 0x2804 0x0 -rw- obj2_1
|
|
0x00000000 0x0 0x00030000 0x2000000 0x0 -rw- obj3_1
|
|
0x00000000 0x0 0x02030000 0x800000 0x0 -rw- obj4_1
|
|
---
|
|
vaddr paddr target type name
|
|
-----------------------------------------------------
|
|
0x00010006 0x00001006 0x02832000 SET_32 emx_1
|
|
0x0001000d 0x0000100d 0x02832004 SET_32 emx_2
|
|
0x0001d210 0x0000e210 0x02832008 SET_32 doscalls_273
|
|
0x0001d234 0x0000e234 0x0283200c SET_32 doscalls_253
|
|
0x0001d266 0x0000e266 0x02832010 SET_32 doscalls_283
|
|
0x0001d282 0x0000e282 0x02832014 SET_32 doscalls_229
|
|
0x0001d2f2 0x0000e2f2 0x02832018 SET_32 doscalls_257
|
|
0x0001d389 0x0000e389 0x0283201c SET_32 doscalls_282
|
|
0x0001d39f 0x0000e39f 0x02832018 SET_32 doscalls_257
|
|
0x0001d3d9 0x0000e3d9 0x02832020 SET_32 doscalls_281
|
|
0x0001d3f4 0x0000e3f4 0x02832018 SET_32 doscalls_257
|
|
---
|
|
library
|
|
---------
|
|
emx
|
|
doscalls
|
|
EOF
|
|
RUN
|
|
|
|
NAME=Open LX GNUGREP.DLL
|
|
FILE=bins/le/GNUGREP.DLL
|
|
CMDS=<<EOF
|
|
iH
|
|
echo ---
|
|
ie:vaddr:quiet
|
|
echo ---
|
|
is
|
|
echo ---
|
|
iS
|
|
echo ---
|
|
il
|
|
echo ---
|
|
ir > $relocs
|
|
cat $relocs~?
|
|
cat $relocs~GNUREGEX~?
|
|
cat $relocs~EMXLIBC~?
|
|
cat $relocs~emx~?
|
|
EOF
|
|
EXPECT=<<EOF
|
|
le:
|
|
signature: "LX"
|
|
le_offset: 0x80
|
|
byte_order: "little endian"
|
|
word_order: "little endian"
|
|
format_level: 0
|
|
module_name: "GNUGREP"
|
|
type: "Library module (DLL)"
|
|
cpu: "80386"
|
|
os: "OS/2"
|
|
arch: "x86"
|
|
version: 131073
|
|
mflags: 0x8002
|
|
flags:
|
|
- "DLL"
|
|
mpages: 11
|
|
initial_eip_obj: 1
|
|
initial_eip: 0x0
|
|
initial_stack_obj: 0
|
|
initial_esp: 0x0
|
|
page_size: 0x1000
|
|
page_shift: 0x9
|
|
fixup_size: 0x10be
|
|
fixup_checksum: 0x0
|
|
loader_size: 0xcd
|
|
loader_checksum: 0x0
|
|
obj_table: 0xc4
|
|
obj_count: 4
|
|
obj_page_map: 0x124
|
|
obj_iter_data_map: 0x0
|
|
resource_table: 0x0
|
|
resource_count: 0
|
|
resident_name_table: 0x17c
|
|
entry_table: 0x187
|
|
directives_table: 0x0
|
|
directives_count: 0
|
|
fixup_page_table: 0x191
|
|
fixup_record_table: 0x1c1
|
|
import_module_name_table: 0x123a
|
|
import_module_name_count: 3
|
|
import_procedure_name_table: 0x124f
|
|
per_page_checksum_table: 0x0
|
|
enumerated_data_pages: 0x1400
|
|
number_of_preload_pages: 0
|
|
non_resident_names_table: 0x9800
|
|
size_non_resident_names: 38
|
|
checksum_non_resident_names: 0x0
|
|
autodata_obj: 4
|
|
debug_info: 0x0
|
|
debug_length: 0x0
|
|
preload_pages: 0
|
|
demand_pages: 1
|
|
heap_size: 0x0
|
|
stack_size: 0x0
|
|
|
|
---
|
|
0x00010000
|
|
0x00010ddc
|
|
---
|
|
nth paddr vaddr bind type size lib name
|
|
---------------------------------------------------------------
|
|
1 0x000023dc 0x00010ddc GLOBAL UNK 0 grepmain
|
|
2 0x00000000 0x00043000 GLOBAL UNK 0 imp.EMXLIBC_513
|
|
3 0x00000000 0x00043004 GLOBAL UNK 0 imp.emx_2
|
|
4 0x00000000 0x00043008 GLOBAL UNK 0 imp.EMXLIBC_770
|
|
5 0x00000000 0x0004300c GLOBAL UNK 0 imp.EMXLIBC_712
|
|
6 0x00000000 0x00043010 GLOBAL UNK 0 imp.EMXLIBC_521
|
|
7 0x00000000 0x00043014 GLOBAL UNK 0 imp.EMXLIBC_205
|
|
8 0x00000000 0x00043018 GLOBAL UNK 0 imp.EMXLIBC_402
|
|
9 0x00000000 0x0004301c GLOBAL UNK 0 imp.EMXLIBC_595
|
|
10 0x00000000 0x00043020 GLOBAL UNK 0 imp.EMXLIBC_403
|
|
11 0x00000000 0x00043024 GLOBAL UNK 0 imp.EMXLIBC_534
|
|
12 0x00000000 0x00043028 GLOBAL UNK 0 imp.EMXLIBC_214
|
|
13 0x00000000 0x0004302c GLOBAL UNK 0 imp.EMXLIBC_218
|
|
14 0x00000000 0x00043030 GLOBAL UNK 0 imp.EMXLIBC_219
|
|
15 0x00000000 0x00043034 GLOBAL UNK 0 imp.EMXLIBC_221
|
|
16 0x00000000 0x00043038 GLOBAL UNK 0 imp.EMXLIBC_545
|
|
17 0x00000000 0x0004303c GLOBAL UNK 0 imp.EMXLIBC_801
|
|
18 0x00000000 0x00043040 GLOBAL UNK 0 imp.EMXLIBC_546
|
|
19 0x00000000 0x00043044 GLOBAL UNK 0 imp.EMXLIBC_548
|
|
20 0x00000000 0x00043048 GLOBAL UNK 0 imp.EMXLIBC_228
|
|
21 0x00000000 0x0004304c GLOBAL UNK 0 imp.EMXLIBC_557
|
|
22 0x00000000 0x00043050 GLOBAL UNK 0 imp.EMXLIBC_817
|
|
23 0x00000000 0x00043054 GLOBAL UNK 0 imp.EMXLIBC_705
|
|
24 0x00000000 0x00043058 GLOBAL UNK 0 imp.EMXLIBC_520
|
|
25 0x00000000 0x0004305c GLOBAL UNK 0 imp.EMXLIBC_716
|
|
26 0x00000000 0x00043060 GLOBAL UNK 0 imp.EMXLIBC_525
|
|
27 0x00000000 0x00043064 GLOBAL UNK 0 imp.EMXLIBC_400
|
|
28 0x00000000 0x00043068 GLOBAL UNK 0 imp.EMXLIBC_215
|
|
29 0x00000000 0x0004306c GLOBAL UNK 0 imp.EMXLIBC_541
|
|
30 0x00000000 0x00043070 GLOBAL UNK 0 imp.EMXLIBC_223
|
|
31 0x00000000 0x00043074 GLOBAL UNK 0 imp.EMXLIBC_504
|
|
32 0x00000000 0x00043078 GLOBAL UNK 0 imp.EMXLIBC_700
|
|
33 0x00000000 0x0004307c GLOBAL UNK 0 imp.EMXLIBC_509
|
|
34 0x00000000 0x00043080 GLOBAL UNK 0 imp.EMXLIBC_761
|
|
35 0x00000000 0x00043084 GLOBAL UNK 0 imp.EMXLIBC_315
|
|
36 0x00000000 0x00043088 GLOBAL UNK 0 imp.EMXLIBC_401
|
|
37 0x00000000 0x0004308c GLOBAL UNK 0 imp.EMXLIBC_213
|
|
38 0x00000000 0x00043090 GLOBAL UNK 0 imp.GNUREGEX_4
|
|
39 0x00000000 0x00043094 GLOBAL UNK 0 imp.GNUREGEX_6
|
|
40 0x00000000 0x00043098 GLOBAL UNK 0 imp.GNUREGEX_9
|
|
41 0x00000000 0x0004309c GLOBAL UNK 0 imp.GNUREGEX_12
|
|
42 0x00000000 0x000430a0 GLOBAL UNK 0 imp.EMXLIBC_207
|
|
---
|
|
paddr size vaddr vsize align perm name type flags
|
|
-----------------------------------------------------------------
|
|
0x00001600 0x7e00 0x00010000 0x8000 0x0 -r-x obj1_1
|
|
0x00009400 0x200 0x00020000 0x1000 0x0 -r-x obj2_1
|
|
0x00009600 0x200 0x00030000 0x1000 0x0 -r-x obj3_1
|
|
0x00001400 0x200 0x00040000 0x1000 0x0 -rw- obj4_1
|
|
---
|
|
library
|
|
---------
|
|
GNUREGEX
|
|
EMXLIBC
|
|
emx
|
|
---
|
|
1168
|
|
8
|
|
183
|
|
184
|
|
EOF
|
|
RUN
|
|
|
|
NAME=DOSEXT.EXE open extender binary
|
|
FILE=bins/le/DOSEXT.EXE
|
|
BROKEN=1
|
|
CMDS=iH
|
|
EXPECT=<<EOF
|
|
le:
|
|
signature: "LE"
|
|
le_offset: 0x3803c
|
|
mz_offset: 0x352a4
|
|
byte_order: "little endian"
|
|
word_order: "little endian"
|
|
format_level: 0
|
|
module_name: "hello"
|
|
type: "Program module (EXE)"
|
|
cpu: "80386"
|
|
os: "OS/2"
|
|
arch: "x86"
|
|
version: 0
|
|
mflags: 0x200
|
|
flags:
|
|
- "PMWINAPI"
|
|
- "EXE"
|
|
mpages: 7
|
|
initial_eip_obj: 1
|
|
initial_eip: 0xc4
|
|
initial_stack_obj: 2
|
|
initial_esp: 0x1f30
|
|
page_size: 0x1000
|
|
last_page_size: 0x96e
|
|
fixup_size: 0xfbe
|
|
fixup_checksum: 0x0
|
|
loader_size: 0x56
|
|
loader_checksum: 0x0
|
|
obj_table: 0xc4
|
|
obj_count: 2
|
|
obj_page_map: 0xf4
|
|
obj_iter_data_map: 0x0
|
|
resource_table: 0x110
|
|
resource_count: 0
|
|
resident_name_table: 0x110
|
|
entry_table: 0x119
|
|
directives_table: 0x0
|
|
directives_count: 0
|
|
fixup_page_table: 0x11a
|
|
fixup_record_table: 0x13a
|
|
import_module_name_table: 0x10d7
|
|
import_module_name_count: 0
|
|
import_procedure_name_table: 0x10d7
|
|
per_page_checksum_table: 0x0
|
|
enumerated_data_pages: 0x4000
|
|
number_of_preload_pages: 0
|
|
non_resident_names_table: 0x0
|
|
size_non_resident_names: 0
|
|
checksum_non_resident_names: 0x0
|
|
autodata_obj: 2
|
|
debug_info: 0x0
|
|
debug_length: 0x0
|
|
preload_pages: 0
|
|
demand_pages: 0
|
|
heap_size: 0x0
|
|
stack_size: 0x1000
|
|
|
|
EOF
|
|
RUN
|
|
|
|
NAME=hellolx.dll unpack iterated page
|
|
FILE=bins/le/hellolx.dll
|
|
CMDS=p8 12 @ 0x20004
|
|
EXPECT=<<EOF
|
|
68656c6c6f206c7820646c6c
|
|
EOF
|
|
RUN
|
|
|
|
NAME=sdl.dll
|
|
FILE=bins/le/sdl.dll
|
|
CMDS=<<EOF
|
|
p8 8 @ 0x20000
|
|
echo ---
|
|
p8 6 @ 0x1000B
|
|
echo ---
|
|
p8 4 @ 0x202bd
|
|
echo ---
|
|
p8 4 @ 0x20b32
|
|
EOF
|
|
EXPECT=<<EOF
|
|
ccebfd9090909000
|
|
---
|
|
595005000200
|
|
---
|
|
3fad0500
|
|
---
|
|
69010600
|
|
EOF
|
|
RUN
|