튜기's blogggg

struct 관련

by St1tch


---------------------------------------------------------------------------------------------

from struct import *


p = lambda x:pack("<L", x) #pack

up = lambda x:unpack("<L", x)[0] #unpack


a = p(0xaabbccdd)

b = p(0x11223344)


print a

print repr(a)


print b

print repr(b)


a = up(a)

b = up(b)


print hex(a)

print hex(b)


---------------------------------------------------------------------

위 코드에서 

p = lambda x:pack("<L", x)      #pack

이 코드는 4바이트 만큼 리틀엔디언으로 바꿔 준다.


up = lambda x:unpack("<L", x)[0]   #unpack

이 코드는 pack 되있는 코드를 다시 돌려주는 역할을 한다. 튜플이라 0번째 값만 가지고 오면 됨 


쉘코드 짤때 유용


        Byte Order, Size, and Alignment






      Format Characters





블로그의 정보

튜기's blogg(st1tch)

St1tch

활동하기