unsigned int로 변환하는건 쉽다.
& 0xffffffff
해주면 된다.
문제는 signed로 변환이다.
pwnable.kr exploitable 풀면서 고민해봤다.
이 문제는 eip를 signed로 받아서 약간 골치아프다.
0xffffffff에 1 더하고 값을 빼고 음수를 취하면 된다.
def int32(x):
return -(0xffffffff+1 - x)
----------------
ctypes 모듈을 이용해도 편하다.
from ctypes import * c_int32(4521442434223).value
'Programming > python' 카테고리의 다른 글
bs4를 이용한 웹 크롤링 (파싱) (0) | 2019.01.14 |
---|---|
파이썬에서 한글 인식 (0) | 2019.01.14 |
python md5, sha256 (0) | 2018.08.19 |
requests 모듈 (0) | 2017.01.11 |
python - 튜플 (0) | 2016.04.20 |