1NAME=iphone-arm-esil tests
2FILE=bins/mach0/FileDP
3CMDS=<<EOF
4s main
5aei
6aeim
7e asm.emu=true
8e emu.str=false
9pd 4~!--
10EOF
11EXPECT=<<EOF
12            0x000028ec      b0402de9       push {r4, r5, r7, lr}       ; sp=0x177ff0
13            0x000028f0      08708de2       add r7, sp, 8               ; r7=0x177ff8
14            0x000028f4      05dd4de2       sub sp, sp, 0x140           ; sp=0x177eb0
15            0x000028f8      07d0cde3       bic sp, sp, 7               ; sp=0x177eb0
16EOF
17RUN
18
19NAME=iphone-arm-esil pdsf scr.html=true
20FILE=bins/mach0/FileDP
21CMDS=<<EOF
22e scr.html=true
23e asm.flags=false
24s main
25e emu.str=true
26af
27pdsf
28EOF
29EXPECT=<<EOF
300x00002900&nbsp;argc<br />0x00002904&nbsp;argv<br />0x00002918&nbsp;"alloc"<br />0x00002920&nbsp;str.alloc<br />0x00002928&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002934&nbsp;"init"<br />0x0000293c&nbsp;str.init<br />0x00002940&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x0000294c&nbsp;"X\x10\x9d\xe5"<br />0x0000295c&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002970&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002998&nbsp;"Usage:&nbsp;FileDP&nbsp;[-f/-d]&nbsp;[Full&nbsp;path&nbsp;to&nbsp;file/directory]&nbsp;"<br />0x0000299c&nbsp;bl&nbsp;sym.imp.puts<br />0x000029c8&nbsp;bl&nbsp;sym.imp.strcmp<br />0x00002a1c&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002a38&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002a64&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002a90&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002aa4&nbsp;bl&nbsp;sym.imp.NSLog<br />0x00002ab0&nbsp;str.File_Not_Found_<br />0x00002ab4&nbsp;bl&nbsp;sym.imp.puts<br />0x00002b00&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002b1c&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002b48&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002b64&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002ba4&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002c00&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002c54&nbsp;bl&nbsp;sym.imp.objc_enumerationMutation<br />0x00002ca0&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002cc0&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002cec&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002cfc&nbsp;str.cstr.file_name_is:_____protection_class:__<br />0x00002d04&nbsp;bl&nbsp;sym.imp.NSLog<br />0x00002d50&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002d84&nbsp;str.Directory_Not_found_<br />0x00002d88&nbsp;bl&nbsp;sym.imp.puts<br />0x00002dac&nbsp;bl&nbsp;sym.imp.objc_msgSend<br />0x00002dcc&nbsp;bx&nbsp;lr
31EOF
32RUN
33
34NAME=iphone-arm-esil pdsf
35FILE=bins/mach0/FileDP
36CMDS=<<EOF
37e asm.flags=false
38s main
39e emu.str=true
40af
41pdsf
42EOF
43EXPECT=<<EOF
440x00002900 argc
450x00002904 argv
460x00002918 "alloc"
470x00002920 str.alloc
480x00002928 bl sym.imp.objc_msgSend
490x00002934 "init"
500x0000293c str.init
510x00002940 bl sym.imp.objc_msgSend
520x0000294c "X\x10\x9d\xe5"
530x0000295c bl sym.imp.objc_msgSend
540x00002970 bl sym.imp.objc_msgSend
550x00002998 "Usage: FileDP [-f/-d] [Full path to file/directory] "
560x0000299c bl sym.imp.puts
570x000029c8 bl sym.imp.strcmp
580x00002a1c bl sym.imp.objc_msgSend
590x00002a38 bl sym.imp.objc_msgSend
600x00002a64 bl sym.imp.objc_msgSend
610x00002a90 bl sym.imp.objc_msgSend
620x00002aa4 bl sym.imp.NSLog
630x00002ab0 str.File_Not_Found_
640x00002ab4 bl sym.imp.puts
650x00002b00 bl sym.imp.objc_msgSend
660x00002b1c bl sym.imp.objc_msgSend
670x00002b48 bl sym.imp.objc_msgSend
680x00002b64 bl sym.imp.objc_msgSend
690x00002ba4 bl sym.imp.objc_msgSend
700x00002c00 bl sym.imp.objc_msgSend
710x00002c54 bl sym.imp.objc_enumerationMutation
720x00002ca0 bl sym.imp.objc_msgSend
730x00002cc0 bl sym.imp.objc_msgSend
740x00002cec bl sym.imp.objc_msgSend
750x00002cfc str.cstr.file_name_is:_____protection_class:__
760x00002d04 bl sym.imp.NSLog
770x00002d50 bl sym.imp.objc_msgSend
780x00002d84 str.Directory_Not_found_
790x00002d88 bl sym.imp.puts
800x00002dac bl sym.imp.objc_msgSend
810x00002dcc bx lr
82EOF
83RUN
84
85NAME=thumb emulation arm issue
86FILE=bins/mach0/FileDP
87CMDS=<<EOF
88aes
89e asm.bits
90EOF
91EXPECT=<<EOF
9232
93EOF
94RUN
95
96NAME=string refs: thumb
97FILE=bins/mach0/test-thumb
98CMDS=<<EOF
99af
100e asm.emu=true
101e emu.str=true
102pdf~?str.string
103EOF
104EXPECT=<<EOF
1056
106EOF
107RUN
108
109NAME=string refs: arm32
110FILE=bins/mach0/test-arm32
111CMDS=<<EOF
112af
113e asm.emu=true
114e emu.str=true
115pdf~?str.string
116EOF
117EXPECT=<<EOF
1186
119EOF
120RUN
121
122NAME=string refs: arm64
123FILE=bins/mach0/test-arm64
124CMDS=<<EOF
125af
126e asm.emu=true
127e emu.str=true
128pdf~?str.string
129EOF
130EXPECT=<<EOF
1316
132EOF
133RUN
134
135NAME=arm32: thumb
136FILE=bins/mach0/arm32-ofp.lzh
137CMDS=pd 2~?push
138EXPECT=<<EOF
1391
140EOF
141RUN
142
143NAME=thumb: arm32
144FILE=bins/mach0/arm16-ofp.lzh
145CMDS=pd 2~?push
146EXPECT=<<EOF
1471
148EOF
149RUN
150