Programming/python

python 정수형 signed, unsigned 변환

범고래_1 2018. 12. 18. 11:05

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