| 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 |