$bash

'0x0300 : Study/0x0307 : Reversing'에 해당되는 글 11건

  1. Angr 설치
  2. linux remote ida debug
  3. DWORD? WORD?
  4. Reversing _ 1 day(잠시중단) (2)
  5. Anti Debugging
  6. PE_HelloWorld..!
  7. CodeEnge Basic L10~14
  8. 패커와 프로텍터의 차이점
  9. CodeEnge Basic L06~09
  10. CodeEnge_Basic L01~05

Angr 설치

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

linux remote ida debug

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

DWORD? WORD?

0x0300 : Study/0x0307 : Reversing

dword ptr의 뜻이 전부터 궁금했는데.

결론은 word 2byte . Dword 4 byte

[] 적혀있는것은 포인터로 이해하면 되는데. 아마 이 개념은 원래 알고 있는 거긴한데


결론은 사이즈 표기? 라 이해해야되는건가... 그래서 좀더 검색 해서 정리해보려고 한다.


WinDef.h 에는 다음과 같이 Dword / word 가 정의 되어 있다.


typedef unsigned long       DWORD;
typedef unsigned short      WORD;


따라서 대부분 win32 기반하에선 DWORD는 4byte(32bit 기준)가 된다. 그럼 당연히 WORD는 2byte(16bit)이 된가고 생각하면 된다.

근데 여기서 또 궁금증이 생기는 것이 왜 32bit window에서 word의 size가 16bit이 될까 인데... 이는 하위 호환성이다.


intel 8086 processor 부터 이어지는 intel CPU Architecture의 하위 호환 문제 때매 컴파일러에서도  그냥 WORD를 16bit을 표현했다고 한다.


그 이외에도 VS에는 DWORD32 / 64 형을 지원 한다고 한다.


typedef unsigned int DWORD32, *PDWORD32;
typedef unsigned __int64 DWORD64, *PDWORD64;

DWORD32를 살펴보면 long대신에 int 가 쓰인다. 그럼 이게 좀 궁금해지는게 .. intel에서 하위 호환 문제를 해결 하기 위해서 규칙을 새웠는데 그걸 어기는것이 아닌가... 흠 잘 모르겠따..


출처 : http://wiki.kldp.org/wiki.php/32bitCodeTo64bit


'0x0300 : Study > 0x0307 : Reversing' 카테고리의 다른 글

DWORD? WORD?  (0) 2017.04.21
PE_HelloWorld..!  (0) 2016.11.25
CodeEnge Basic L10~14  (0) 2016.10.06
패커와 프로텍터의 차이점  (0) 2016.10.06
CodeEnge Basic L06~09  (0) 2016.10.05
CodeEnge_Basic L01~05  (0) 2016.10.04

Reversing _ 1 day(잠시중단)

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Anti Debugging

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

PE_HelloWorld..!

0x0300 : Study/0x0307 : Reversing

https://github.com/Bashsi97/PE_Hello-world


깃헙으로 워프를 하자구!

'0x0300 : Study > 0x0307 : Reversing' 카테고리의 다른 글

DWORD? WORD?  (0) 2017.04.21
PE_HelloWorld..!  (0) 2016.11.25
CodeEnge Basic L10~14  (0) 2016.10.06
패커와 프로텍터의 차이점  (0) 2016.10.06
CodeEnge Basic L06~09  (0) 2016.10.05
CodeEnge_Basic L01~05  (0) 2016.10.04

CodeEnge Basic L10~14

0x0300 : Study/0x0307 : Reversing


// 흠...10번이 잴 어려워따


'0x0300 : Study > 0x0307 : Reversing' 카테고리의 다른 글

DWORD? WORD?  (0) 2017.04.21
PE_HelloWorld..!  (0) 2016.11.25
CodeEnge Basic L10~14  (0) 2016.10.06
패커와 프로텍터의 차이점  (0) 2016.10.06
CodeEnge Basic L06~09  (0) 2016.10.05
CodeEnge_Basic L01~05  (0) 2016.10.04

패커와 프로텍터의 차이점

0x0300 : Study/0x0307 : Reversing

패커

패커란 실행파일 압축기를 말 한다. 프로그램이 실행 될 때 먼저 압축 해제 코드를 만나 원본 실행 코드 압축이 풀린 뒤 실행 된다.

이러한 실행 압축을 만드는 것을 패킹이라고 한다. 패커의 사용 목적은 다음과 같다.


1. 실행 파일을 줄이고자 하는 목적

2. pe파일 내부의 코드와 소스를 감추기 위한 목적

프로텍터

프로텍터란 pe 파일(실행파일)을 리버싱으로 부터 보호하기 위한 프로그램이다. 패커처럼 실행 압축 할 뿐만 아니라 리버싱을 막기위한 기법들이 추가 된다. 프로텍터의 사용 목적은 다음과 같다.


1. 크래킹 방지

2. 코드 및 리소스 방지


결론 적으로 패커는 말 그대로 압축. 프로텍터는 프로그램을 보호하기 위한 기법이 추가된 것이라고 생각 한다.

'0x0300 : Study > 0x0307 : Reversing' 카테고리의 다른 글

PE_HelloWorld..!  (0) 2016.11.25
CodeEnge Basic L10~14  (0) 2016.10.06
패커와 프로텍터의 차이점  (0) 2016.10.06
CodeEnge Basic L06~09  (0) 2016.10.05
CodeEnge_Basic L01~05  (0) 2016.10.04
Reversing tools.  (0) 2016.07.08

CodeEnge Basic L06~09

0x0300 : Study/0x0307 : Reversing


한것이 이 4문제 밖에 없어서 광광우럭딱.


'0x0300 : Study > 0x0307 : Reversing' 카테고리의 다른 글

PE_HelloWorld..!  (0) 2016.11.25
CodeEnge Basic L10~14  (0) 2016.10.06
패커와 프로텍터의 차이점  (0) 2016.10.06
CodeEnge Basic L06~09  (0) 2016.10.05
CodeEnge_Basic L01~05  (0) 2016.10.04
Reversing tools.  (0) 2016.07.08

CodeEnge_Basic L01~05

0x0300 : Study/0x0307 : Reversing


// 심심해서 풀어본 리버싱. 사실 첨 풀어보는데 생각보다 쉬운듯.



'0x0300 : Study > 0x0307 : Reversing' 카테고리의 다른 글

PE_HelloWorld..!  (0) 2016.11.25
CodeEnge Basic L10~14  (0) 2016.10.06
패커와 프로텍터의 차이점  (0) 2016.10.06
CodeEnge Basic L06~09  (0) 2016.10.05
CodeEnge_Basic L01~05  (0) 2016.10.04
Reversing tools.  (0) 2016.07.08