OLD | NEW |
| (Empty) |
1 @hex: | |
2 # The following are examples of input sequences that almost look like | |
3 # predefined nop instruction sequences, but differ by 1, just to show | |
4 # that we do reject them. | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 # This is the correct nop case. | |
11 66 0f 1f 44 00 00 | |
12 | |
13 # This is an example where we have incremented the nop by 1. | |
14 66 0f 1f 44 00 01 | |
15 | |
16 # This is the (repeated) correct nop case. | |
17 66 0f 1f 44 00 00 | |
18 | |
19 # This is an example where we have decremented the nop by 1. | |
20 66 0f 1f 43 | |
21 ff ff | |
22 | |
23 # This is the (repeated) correct nop case. | |
24 66 0f 1f 44 00 00 | |
25 | |
26 # Filler (add) to align block. | |
27 00 00 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 # This is an example of a different, correct, nop case. | |
34 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
35 | |
36 # This is an example where we have incremented the nop by 1. | |
37 66 66 66 66 66 | |
38 2e 0f 1f 84 00 00 00 00 01 | |
39 | |
40 # Filler (move) to fill the rest of the block. | |
41 66 bf 88 77 | |
42 | |
43 # This is the (repeated) correct nop case. | |
44 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
45 | |
46 # This is an example where we have decremented the nop by 1. | |
47 66 66 66 66 66 | |
48 2e 0f 1f 83 ff ff ff ff ff | |
49 | |
50 # Filler to realign the decoder. | |
51 00 | |
52 | |
53 # Filler (add) to fill the rest of the block. | |
54 02 04 00 | |
55 | |
56 # This is the (repeated) correct nop case. | |
57 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 # This is the list of all nops, just to see if they validate. | |
66 66 0f 1f 44 00 00 | |
67 66 0f 1f 84 00 00 00 00 00 | |
68 # Filler (add) to fill the rest of the block. | |
69 02 04 00 | |
70 66 2e 0f 1f 84 00 00 00 00 00 | |
71 66 66 2e 0f 1f 84 00 00 00 00 00 | |
72 # Filler (2 moves) to fill the rest of the block. | |
73 66 a3 44 33 22 11 | |
74 a0 44 33 22 11 | |
75 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
76 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
77 # Filler (move, nop) to fill the rest of the block. | |
78 66 a3 44 33 22 11 | |
79 90 | |
80 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
81 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 | |
82 @nval: | |
83 VALIDATOR: 6: Undefined instruction | |
84 VALIDATOR: 12: Undefined instruction | |
85 VALIDATOR: 16: Undefined instruction | |
86 VALIDATOR: 2e: Bad prefix usage | |
87 VALIDATOR: 2e: Illegal instruction | |
88 VALIDATOR: 33: Bad prefix usage | |
89 VALIDATOR: 4e: Bad prefix usage | |
90 VALIDATOR: 4e: Illegal instruction | |
91 VALIDATOR: 53: Bad prefix usage | |
92 *** <input> IS UNSAFE *** | |
93 @dis: | |
94 00000000: 66 0f 1f 44 00 00 nop | |
95 00000006: 66 0f 1f 44 00 01 nop | |
96 0000000c: 66 0f 1f 44 00 00 nop | |
97 00000012: 66 0f 1f 43 ff nop | |
98 00000017: ff 66 0f jmp %ds:[%esi+0xf] | |
99 0000001a: 1f pop %ds | |
100 0000001b: 44 inc %esp | |
101 0000001c: 00 00 add %ds:[%eax], %al | |
102 0000001e: 00 00 add %ds:[%eax], %al | |
103 00000020: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
104 0000002e: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 01 nop | |
105 0000003c: 66 bf 88 77 mov %di, 0x7788 | |
106 00000040: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
107 0000004e: 66 66 66 66 66 2e 0f 1f 83 ff ff ff ff nop | |
108 0000005b: ff 00 inc %ds:[%eax] | |
109 0000005d: 02 04 00 add %al, %ds:[%eax+%eax
*1] | |
110 00000060: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
111 0000006e: 66 0f 1f 44 00 00 nop | |
112 00000074: 66 0f 1f 84 00 00 00 00 00 nop | |
113 0000007d: 02 04 00 add %al, %ds:[%eax+%eax
*1] | |
114 00000080: 66 2e 0f 1f 84 00 00 00 00 00 nop | |
115 0000008a: 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
116 00000095: 66 a3 44 33 22 11 mov [0x11223344], %ax | |
117 0000009b: a0 44 33 22 11 mov %al, [0x11223344] | |
118 000000a0: 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
119 000000ac: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
120 000000b9: 66 a3 44 33 22 11 mov [0x11223344], %ax | |
121 000000bf: 90 nop | |
122 000000c0: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
123 000000ce: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
124 @vdis: | |
125 0: 66 0f 1f 44 00 00 nop | |
126 6: 66 0f 1f undefined | |
127 9: 44 inc %esp | |
128 a: 00 01 add [%ecx], %eax | |
129 c: 66 0f 1f 44 00 00 nop | |
130 12: 66 0f 1f undefined | |
131 15: 43 inc %ebx | |
132 16: ff ff undefined %edi | |
133 18: 66 0f 1f 44 00 00 nop | |
134 1e: 00 00 add [%eax], %eax | |
135 20: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
136 2e: 66 66 66 66 66 [data16] | |
137 33: 2e 0f 1f 84 00 00 00 00 01 nop | |
138 3c: 66 bf 88 77 mov %edi, 0x7788 | |
139 40: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
140 4e: 66 66 66 66 66 [data16] | |
141 53: 2e 0f 1f 83 ff ff ff ff nop | |
142 5b: ff 00 inc [%eax] | |
143 5d: 02 04 00 add %eax, [%eax + %eax] | |
144 60: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
145 6e: 66 0f 1f 44 00 00 nop | |
146 74: 66 0f 1f 84 00 00 00 00 00 nop | |
147 7d: 02 04 00 add %eax, [%eax + %eax] | |
148 80: 66 2e 0f 1f 84 00 00 00 00 00 nop | |
149 8a: 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
150 95: 66 a3 44 33 22 11 mov [0x11223344], %eax | |
151 9b: a0 44 33 22 11 mov %al, [0x11223344] | |
152 a0: 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
153 ac: 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
154 b9: 66 a3 44 33 22 11 mov [0x11223344], %eax | |
155 bf: 90 nop | |
156 c0: 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
157 ce: 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 nop | |
158 @rdfa_output: | |
159 6: [0] unrecognized instruction | |
160 12: [1] unrecognized instruction | |
161 16: [2] unrecognized instruction | |
162 2e: [0] unrecognized instruction | |
163 33: [1] unrecognized instruction | |
164 4e: [0] unrecognized instruction | |
165 53: [1] unrecognized instruction | |
166 return code: 1 | |
OLD | NEW |