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 정수형 signed, unsigned 변환  (0) 2018.12.18
python md5, sha256  (0) 2018.08.19
requests 모듈  (0) 2017.01.11
python - 튜플  (0) 2016.04.20
Posted by 범고래_1

댓글을 달아 주세요