본문으로 바로가기

고퍼

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 미디어로그
  • 방명록
관리자
  • 블로그 이미지
    G0pher

    Information Security

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

PE 헤더 구조체

PE Header 구조체에 대해 알아보자 먼저 DOS EXE header를 확장시킨 IMAGE_DOS_HEADER 구조체부터 차례대로 보자 구조체의 크기는 40h이며, 강조된 부분을 알아보자 e_magic : 파일 헤더 시그니처. 포멧 정보를 가지고 있다.e_lfanew : NT header의 오프셋 값을 가지고 있다. 맨 첫 번째로 색칠된 부분이 e_magic 이고, 두 번째로 색칠된 부분이 e_lfanew이다. 이번에는 MS-DOS Stub Program에 대해 알아보자 위 부분은 DOS 모드에서 실행시에만 구동되는 부분이다. 이를 통해 DOS모드와 Windows에서 동시에 실행 가능하게 만들 수 있다. IMAGE_NT_HEADERS 구조체를 살펴보자 크기는 F8h으로 상당히 크며, 3개의 멤버로 로..

Study/reversing 2017. 10. 12. 20:00

PE란?

PE(Portable Executable)란? 윈도우즈 환경의 실행 파일 포맷을 말한다. 다음은 HxD로 메모장을 실행한 모습이다. 위의 사진에 보여지는 부분이 PE헤더라고 하는 영역이다. 알아보기 힘드니 PEview 프로그램을 이용해서 PE에 대해 살펴보자 영역별로 나누어져 볼 수 있음을 알 수 있다. 영역? PE구조에 대해 알아보자 DOS header 부터 Section header까지 PE헤더, 그 밑에 있는 Section들이 PE바디라고 한다. 파일 내용은 .text와 .data, .rsrc 섹션에 나뉘어 저장된다 양쪽에 있는 주소는 위치를 나타내며 각각 파일의 경우 Offset으로 , 메모리의 경우 VA로 절대주소를 나타낸다 VA란 프로세스 가상메모리의 절대주소를 말하며 물리적 주소이다. RVA..

Study/reversing 2017. 10. 11. 21:51

abex Crackme 5번

5번문제도 시리얼을 찾아내야 하는것 같다 디버거로 열어보자 문자열을 찾아 Error에 브레이크포인트를 설정하자 주요 코드들이 보인다 lstrcmpi라는 API가 눈에띈다 두개의 인자를 받으며 [402000]의 문자열이 "L2C-57816784-ABEX" 형태를 보아하니 시리얼로 추측된다 해결!

Wargame/etc 2017. 9. 24. 11:57

abex Crackme 4번

4번문제이다 시리얼을 입력하라고 하는데 버튼이 활성화가 되어있지 않다 숫자를 하나씩 늘려가도 활성화되지 않는다 잘 모르겠으니 올리디버거로 문자열부터 찾아보자 정답시 문자열은 존재하지만 오답시 문자열처럼 보이는것이 없다 버튼을 활성화하는것이 문제임을 추측해볼 수 있다 Well done을 따라가보자 한가지 눈에띄는 부분은 vba로 시작하는 함수들이다 비주얼 베이직으로 프로그래밍 되어었나보다 함수들을 검색해서 vba로 필터해보니 cmp라는 함수를 찾을 수 있었다 입력값을 비교해서 버튼을 활성화시킨다는 가설을 세우고 브레이크포인트를 걸어보자 2개의 인자를 받는다 ecx에 담긴 2117850이라는 값이 아마 비교의 대상인것 같다 버튼이 활성화 되었고 해결!

Wargame/etc 2017. 9. 24. 11:06

abex Crackme 3번

abex crackme 3번문제이다 key 파일이 있어야 문제가 풀리는듯 하다 우선 디버거로 열어보자 CreateFileA라는 API를 이용해서 abex.12c라는 파일을 로드하는것 같다 그리곤 GetFileSize API를 통해 파일의 크기로 KEY파일 진위여부를 판별하는것 같다 그러니 우리는 크기가 12인(dec:18) abex.12.c라는 파일을 생성하면 된다 저장한 후 확장자를 바꿔주고 실행해보면 풀린다

Wargame/etc 2017. 9. 23. 08:51

[Reversing.kr]Easy Crack

Reversing.kr의 첫번째 문제다 실행시 위와같은 화면이 나오고 아무값이나 입력한 후 확인을 누르면 틀렸다고 뜬다 x64dbg 디버거를 통해 풀어보자 문자열을 찾아 주요 코드부분을 찾아냈다. 시작부분에 브레이크포인트를 걸어 재실행시 찾기 쉽게 해놓자 코드를 잘 보면 cmp로 메모리를 특정 문자와 비교하는것을 볼 수 있다 이것이 비밀번호와 비교하는 부분이라고 추측할 수 있다 하지만 자세히 보면 문자열참조 기준이 esp이다 esp는 스택의 최상단을 가리키기 때문에 코드가 실행되는동안 계속 변화한다 esp의 변화과정을 알아내는것이 이 문제의 핵심인듯 하다 스택에 데이터 입출력을 담당하는 명령인 push와 pop을 찾고 esp를 직접적으로 수정하는 부분이 있나 확인해보자 esp+5의 값과 61(a)를 비교..

Wargame/etc 2017. 9. 23. 08:02

prob3.c 핸드레이

prob3.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101Dump of assembler code for function main:0x8048400 : push %ebp //복귀주소 0x8048401 : mov %ebp,%esp0x8048403 : sub %esp,32 //32바이트 공간 할당 0x8048406 : push %edi //백업0x8048407 : push %esi //백업0x8048408 ..

Study/reversing 2017. 9. 21. 20:01

prob2.c 핸드레이

prob2.c 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172Dump of assembler code for function main:0x8048470 : push %ebp //새로운 스택프레임 형성 0x8048471 : mov %ebp,%esp0x8048473 : sub %esp,16 //16바이트 공간 할당 0x8048476 : lea %eax,[%ebp-16]0x8048479 : push %eax //변수의 첫번째 주소 push 0x804847a : push 0x8048560 // '%s' push0x804..

Study/reversing 2017. 9. 20. 00:38
  • 이전
  • 1
  • ···
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • ···
  • 49
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • injection
  • writeup
  • 어셈블리어
  • SQL
  • 시스템
  • 리버싱
  • HTML
  • 파이썬
  • Los
  • 네트워크
  • Python
  • 웹 해킹
  • web
  • 웹
  • webhacking.kr
MORE+

ARCHIVE

CALENDAR

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

LINK

  • ♡
  • DESIGN 아띠 그래픽
  • 이종찬
  • 박상현
  • 이창현
  • 송인봉
  • 신동철
  • 박준형
  • 유현진
  • 박형찬
  • 박형찬
  • 이우진
  • 조학근
  • 박홍주

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 고퍼, ALL RIGHT RESERVED.
고퍼
블로그 이미지 G0pher 님의 블로그
MENU
  • 홈
  • 태그
  • 미디어로그
  • 방명록
CATEGORY
  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바