리버스 엔지니어링(5)
-
[rev] 리버싱 핵심원리 2부) PE File Format 14장~20장
이번 글은 14장 "실행압축" 입니다. 이번장에서는 지난 13장 "PE File Format"에서 학습한 내용이 나옵니다. https://baebenzene.tistory.com/5 [rev] 리버싱 핵심원리 2부) PE File Format 13장 이번 글은 2부 PE File Format 입니다. 1부에서 파일들을 IDA로 디버깅하여 공부를 해봤는데요, 그럼 이런 생각이 들 수도 있습니다. " 모든 파일을 IDA로 실행 가능할까? " 하지만 이것은 불가능합니다. baebenzene.tistory.com 데이터 압축 이번 장에서는 압축에 대해 배웁니다. 일반적으로 압축이라 한다면 ZIP확장자를 생각하는데요. 사실 압축은 두 가지 압축이 존재합니다. - 비손실 압축 파일의 크기를 줄일 때 사용하는 방식으..
2023.07.05 -
[rev] 리버싱 핵심원리 2부) PE File Format 13장
이번 글은 2부 PE File Format 입니다. 1부에서 파일들을 IDA로 디버깅하여 공부를 해봤는데요, 그럼 이런 생각이 들 수도 있습니다. " 모든 파일을 IDA로 실행 가능할까? " 하지만 이것은 불가능합니다. 왜냐하면 IDA는 디버거라 PE파일만 대상으로 하기 때문입니다. 여기서 PE파일이란 Windows에서 사용하는 실행파일을 말합니다. 흔히 사용하는 .exe 확장자를 가진 파일도 PE파일이죠. PE파일의 종류는 exe 외에 여러가지가 있습니다. 종류 주요 확장자 종류 주요 확장자 실행 계열 EXE, SCR 드라이버 계열 SYS, VXD 라이브러리 계열 DLL, OCX, CPL, DRV 오브젝트 파일 계열 OBJ 이제부터 PE파일의 구조를 살펴보겠습니다. PE File Format 교재 는 ..
2023.03.07 -
[rev] 리버싱 핵심원리 1부) 기초 리버싱 8장~11장
이번 글은 8장 abex' crackme #2 부터 시작됩니다. https://baebenzene.tistory.com/3 [rev] 리버싱 핵심원리 1부) 기초 리버싱 5장~7장 이번 글은 5장 스택 부터 시작됩니다. https://baebenzene.tistory.com/2 [rev] 리버싱 핵심원리 1부) 기초 리버싱 1장~4장 리버싱 핵심원리 2022년 1월부터 이 책을 공부하면서 정리를 목적으로 이 글을 작성 baebenzene.tistory.com abex' crackme #2 abexcm2-voiees.exex 파일 IDA로 실행 다음과 같은 창이 생성된다. 아무 값이나 입력하고 Check를 누르면 "Nope, This serial is wrong!"이란 메세지가 출력된다. 먼저 "Nope,..
2023.03.06 -
[rev] 리버싱 핵심원리 1부) 기초 리버싱 5장~7장
이번 글은 5장 스택 부터 시작됩니다. https://baebenzene.tistory.com/2 [rev] 리버싱 핵심원리 1부) 기초 리버싱 1장~4장 리버싱 핵심원리 2022년 1월부터 이 책을 공부하면서 정리를 목적으로 이 글을 작성하게 되었습니다. 이 책에서는 Ollydbg를 통해 디버그를 하며 실습하지만, IDA를 통해 이번 공부를 실습해볼 생각 baebenzene.tistory.com 스택 스택을 알아보기 전 프로세스 메모리의 구조부터 먼저 설명하겠습니다. 메모리는 text, data, heap, stack으로 구성되어 있습니다. text 영역은 실행할 프로그램의 명령어 코드가 저장되는 공간 data 영역은 프로그램 내 필요한 전역변수, 정적변수가 저장되는 공간 heap 영역은 프로그램 사용..
2023.03.05 -
[rev] 리버싱 핵심원리 1부) 기초 리버싱 1장~4장
리버싱 핵심원리 2022년 1월부터 이 책을 공부하면서 정리를 목적으로 이 글을 작성하게 되었습니다. 이 책에서는 Ollydbg를 통해 디버그를 하며 실습하지만, IDA를 통해 이번 공부를 실습해볼 생각입니다. IDA란? Hex-rays사의 IDA는 디스어셈블러(바이너리>>어셈블리어)와 디버깅 기능을 지원하는 프로그램입니다. 다른 디버거에 비해 기능이 다양하고 난독화 코드에도 강해 현시점 가장 성능이 좋은 디버거입니다. 단, Pro버전은 비용이 비싸기 때문에 IDA freeware을 통해 디버그를 해보도록 하겠습니다. IDA에서 주로 사용했던 기능들 위주로 설명하겠습니다. 1. 기본화면 IDA를 실행하고 파일을 열면 해당 화면이 나옵니다. 화면 중앙의 창은 어셈블리 코드를 그래픽으로 보여줌으로써 코드의 ..
2023.03.04