print 함수 문자열 출력



print 함수 - 출력


추가적으로 문자열을 합치고 구분기호를 넣을 수 있습니다.


* print(a, b)의 경우 기본적으로 사이 공백을 포함 => ex) 123 456

* sep 파라미터를 통해서 구분기호 삽입가능 => '', ' ----> '



input 함수 입력받기



* 입력받은 값이 모두 문자열로 저장이 되기 때문에 숫자의 경우 형변환이 필요하다. ex) int()를 통해서 형변환하여 계산




변수명 설정시 주의사항

* 공백을 포함할 수 없다.

* 가급적 영어단어로 된 변수설정 (* 한글을 지원하지만 소스코드 공유에서 불편한점이 있음.)

* : , / 의 특수문자 사용 불가.


ex) name = '로픽',  class_name='python'

바이트 오더링 및 레지스터

* 바이트 오더링 : 컴퓨터에서 메모리에 데이터를 저장하는 방식


  - 빅엔디안 : 데이터를 앞에서 부터 순차적으로 적용(사람이 보는 방식과 동일) 

  ㄴ 네트워크 프로토콜에서 사용하는 방식


  - 리틀엔디안 : 데이터를 역순으로 저장하는 방식  ( 00AB12CD -> CD12AB00)

  ㄴ Intel x86 CPU에서 사용하는 방식


* 레지스터 - CPU 내부에 존재하는 다목적 저장 공간


  - 범용 레지스터 - 상수, 주소를 저장할 때 사용. 또한 어셈블리 명령어에서는 특정 레지스터를 조작하는데 사용.

  ㄴ 32비트 기준 : EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP


  - 세그먼트 레지스터 - 메모리 관리


  - 프로그램 상태와 컨트롤 레지스터

  ㄴ EFLAGS : Flag Register ( 각 비트마다 의미를 가지고 있으며, 1,0 ( On/Off | True/False ))

  ㄴ Zero Flag(ZF) : 연산 후 결과값이 0이 되면 ZF가 1(True)로 세팅된다.

  ㄴ Overflow Flag(OF) : 부호 있는 수의 오버플로가 발생했을 때 1로 세팅. MSB가 변경되었을 때 1로 세팅.

  ㄴ Carry Flag(CF) : 부호 없는 수의 오버플로가 발생했을 때 1로 세팅.




출처 : 리버싱 핵심원리 ( 이승원 / 인사이트 )

'리버싱' 카테고리의 다른 글

리버싱) 바이트 오더링 및 레지스터  (0) 2018.12.03
리버싱) Ollydbg (올리디버거)  (0) 2018.11.27
리버싱) 리버스 엔지니어링  (0) 2018.11.24

리버싱) Ollydbg (올리디버거)

Ollydbg

설치 URL : http://ollydbg.de/


- Win32 전문 디버거, 무료료 제공되고 가볍고 빠름.



* 화면 구성

 - Code Window

 - Register Window

 - Dump Window

 - Stack Window


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


* 어셈블리 언어 - 기계어를 인간이 알아볼 수 있도록 만든 언어

ㄴ CPU에 종속되어 제품에 다라 명령어 형태가 다름


* EP(Entry Point) -> 윈도우 실행파일의 시작점


ex) CALL 0040270C => 40270C 를 호출한 후

     JMP  0040104F => 40104F 로 점프하라



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


Ollydbg를 사용시 중요 포인트 지정


1. Goto 명령 이용.

2. BreakPoint 사용.

3. 주석.

4. User defined comment 이용.


코드 검색


1. 코드를 직접실행.

2. 문자열 검색.

3. API 검색.




출처 : 리버싱 핵심원리(이승원 / 인사이트)

'리버싱' 카테고리의 다른 글

리버싱) 바이트 오더링 및 레지스터  (0) 2018.12.03
리버싱) Ollydbg (올리디버거)  (0) 2018.11.27
리버싱) 리버스 엔지니어링  (0) 2018.11.24

+ Recent posts

티스토리 툴바