Más contenido relacionado
[CSS×2.0 2014] Polyglotシェルコードの最高記録に挑戦しよう☆
- 8. シェルコードの詳細(先頭のみ)
inc edx
nop
push fs
add dl, dl
nop
nop
jmp 0xa
add dl, ch
dec eax
xor eax, eax
dec eax
test eax, eax
jne 0x31
rex.X xchg eax,eax
push fs
add dl,dl
nop
nop
jmp 0xa
add dl,ch
xor rax,rax
test rax,rax
jne 0x31
■x86 ■x86-64
REXプレフィックスの違いを利用して振り分ける
- 9. andge r9, pc, r2, asr 32
addsls sp, r0, r0, lsl 4
b 0x000003bc
stmiami r0, {r3, r6, r8, ip, sp}^
wldrhne wr12, [r5, -133]!
bc- 20, 4*cr4+lt, 0x00000fa0
lwa r24, 232(0)
b 0x0031c054
lwzu r14, 29981(0)
addsmi r0, r0, 160, 30
smullseq r9, r2, r0, r0
bl 0x000003b8
ldmdami r1!, {r3, r6, lr, pc}
strbhi r7, [r0, 1309]
mov.w 0x00000088,r0 ! 0x9042
bra 0x00000024
mov.l 0x00000008,r2 ! 0xd200
mov.w 0x0000012a,r0 ! 0x9090
.word 0x00eb mov #0,r10
sub r4,r1
.word 0x48c0
mov.b r0,@(133,gbr)
mov.l r7,@(20,r13)
■ARM(リトルエンディアン) ■ARM(ビッグエンディアン)
■PowerPC(ビッグエンディアン) ■SuperH-4(ビッグエンディアン)
※エンディアン違いを上手く利用して振り分ける