본문 바로가기

파이썬3 타입 확인, 검사 하는 방법 [파이썬 타입 확인, 검사 하는 방법] type() 함수를 이용하면 된다. 단순히 타입을 확인하고자 하는 경우에는 type() 결과를 print()로 호출하면 된다.a = 1print( type( a ) ) 타입을 검사하고자 한다면 반환 결과를 str로 만들어 문자열로 검사를 하면 된다.a = 1if ( str( type( a ) ) == "" ): print("Integer !")
파이썬3 현재 커서 위치 반환 [ 파이썬3 파일 입출력 현재 커서 위치 반환 ] tell() 내장함수 사용. with open("test.txt", "rb+") as f:f.read(4)print( f.tell() ) f.seek(20)print( f.tell() ) => 결과 : 4, 20
파이썬3 바이너리 값 편집 [파이썬3 바이너리 값 편집][ Python3 기준 ] 파일의 바이너리 값을 편집하고자 한다.ex) 파일의 Data 길이를 나타내는 Header 값을 수정하고자 하는 경우! 파이썬 3에서는 참 편리한 함수를 제공하여 편집이 용이하다. 우선 파일을 바이너리 모드로 열어준다. (b 추가) 바이너리 모드이므로 여기서 read() 함수를 호출하면 type : 으로 읽힌다.bytes 타입으로 산술연산을 할 수 없으므로 int로 변환시켜 계산한다.int.from_bytes(bytes, byteorder, signed=) 함수를 사용하자. bytes bytes-like-object 또는 iterable producing bytes가 들어가야한다. byteorder endian 방식을 표기하는데, 'big' or 'l..
파이썬 Binary 파일값 hex로 다루기 binascii 모듈을 이용해서 파일에서 읽어온 값을 hex 수준에서 다룰 것이다. 보통 파일을 열어 read(4) 후 print 하면 ascii 수준의 값인 "abcd"가 출력된다.이를 hex 수준의 값으로 출력하고 싶다면 binascii.b2a_hex() 함수를 이용하면 된다. 뜻을 풀어보면 다음과 같다.b2a : Binary to Ascii 즉, Binary 값을 Ascii 문자열로 만들건데,_hex() : 16진수 표현식으로 만들거다. ex) 시그니처를 검사한다던지, 파일 헤더값을 참조한다던지 등 hex 값을 이용할 일이 많다. 문자열의 hex 값으로 출력이 잘 된다. binascii.b2a_hex(data)binascii.hexlify(data)Return the hexadecimal repre..
파이썬 한글 인코딩 해결 파이썬 2.7 기준 맨 앞에 주석 한줄을 추가해주면 됨. #-*- coding:utf-8 -*- 이는 아래의 모든 문자열을 UTF-8 형식으로 처리한다는 의미. 파이썬 2.7은 기본적으로 문자열을 Unicode형식으로 처리하므로, 한글 사용 시 위와 같은 인코딩 설정이 필요. --------------------------------------------------------------------------------------------------------------※ 파이썬 3부터는 기본적으로 utf-8을 사용하므로, 위 같은 주석을 쓰지 않아도 됨.
파이썬 입출력 [ 파일 모드 종류 ]r - 읽기모드 (디폴트)w - 쓰기모드, (항상 새로 생성 - 기존 내용 삭제됨.)x - 쓰기모드, (이미 파일 존재 시 오류.)a - 내용추가모드, 파일이 있으면 뒤에 내용을 추가 -- 중간에 추가는 안됨.+ - 읽기쓰기모드t - 텍스트 모드 (default)b - 바이너리 모드, bytes 단위 데이터 처리. +) 알아두기.f = open('file.txt', 'r+t')텍스트 읽기쓰기모드, 맨 앞에서부터 내용을 덮어쓴다. 기존 파일 유지. (파일이 없으면 오류 발생) --> r(읽기모드) 이므로.
ZIP Archive file format [ ZIP Archive file format ]: https://en.wikipedia.org/wiki/Zip_(file_format): https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html [ 구성도 ] ZIP Archive 포맷 구조는 위 그림과 같다. [ Local file header + Data + Data descriptor ] 가 한 세트를 이루어 파일별로 쭉 쓰인다.Data descriptor는 Optional한 헤더로 Flag의 3번째 비트(0x08자리)가 set 된 경우에만 추가되고, 보통은 header+data가 한 세트이다. Central directory file header는 Local file header의 확장으로,..
LOBYTE, BYTE1, BYTE2, BTYE3, HIBYTE IDA에서 Pseudo code로 볼 때, BYTE1() 이런 매크로 함수가 보인다. 이해하기 쉽게 바로 예를 들자면, 0x12345678을 기준으로, LOBYTE = 0x78 (가장 낮은 byte)BYTE1 = 0x56BYTE2 = 0x34BYTE3 = 0x12HIBYTE = 0x12 (가장 높은 byte) 이다.