일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 리버싱핵심원리
- Mobile
- 써니나타스
- crack
- upx
- disk
- ZIP
- CodeEngn
- K-shield Jr 10기
- 모바일프로그래밍
- Multimedia
- 안티디버깅
- tar
- 포렌식
- John the ripper
- 침해사고대응
- Frida
- 디스크
- Reversing
- swing
- shadow
- Interceptor
- SW에듀서포터즈
- Autoware
- 케쉴주
- K-sheild Jr
- ctf-d
- Android
- 파일해시생성
Archives
- Today
- Total
물먹는산세베리아
리버싱이란? 본문
01 | 리버싱 엔지니어링
- 역공학
- 물건, 기계장치, 시스템 등의 구조, 기능, 동작 등을 분석하고 원리를 이해하며
- 단점 보완, 새로운 아이디어를 추가하는 작업
- 설계도 없는 완성된 제품의 구조, 기능, 동작을 관찰, 분석(어떻게 동작하는지)
* 리버스 코드 엔지니어링(소프트웨어 분야 역공학) 중심으로 학습
02 | 리버싱(분석 방법)
1. 종류
- 정적분석
- 파일의 겉모습 관찰하여 분석(파일 실행X)
- 파일 종류, 크기, 헤더(PE) 정보, Import/Export API(라이브러리), 내부문자열, 압축여부 등 분석하기
- 디스어셈블러를 이요하여 내부 코드, 구조 확인
- 동적분석
- 소프트웨어 파일 직접 실행 후 동작 직접 관찰
- 어떤 파일을 건들고, CPU 레지스트리는 어떻게 설정되어 있고, 네트워크는 어떻게 활용, 접속 하는지 관찰(행위 관찰)
- 디버깅 통해 코드 흐름, 메모리 상태 확인(동작 과정에서 어떤 일들이 일어나는지)
2. Source Code, Hex Code, Asssembly Code
- 바이너리(Hex) 코드는 숫자 뿐이라 분석 어려움
- 그래서 좋게 보려고 어셈블리코드(PUSH, CALL 등 의미파악 쉬움)
- 소스 코드는 거의 설계도...
3. 패치, 크랙
- 패치(Patch)
- 프로그램의 파일 or 실행 중인 프로세스 메모리의 내용을 변경하는 작업(Windows 패치시킨다!)
- 버그, 에러 생성시 동작하고 있는 파일 혹은 메모리에 올라가 있지 않은 파일의 내용을 합법적으로 바꾸는 것
- 크랙(Crack)
- 비합법적 패치
- Ex. 패스워드 크랙? 불법적으로 패스워드에 대한 정보를 빼내거나 패스워드를 검색하는 부분을 우회하여 인증을 무력화시키도록 소스코드 수정
*합법, 비합법의 차이일 뿐
참고
'Waregame & CTF > Reversing' 카테고리의 다른 글
[Codeengn] Basic RCE L06 (0) | 2021.02.20 |
---|---|
[SuNiNaTaS] 9번 (0) | 2021.02.18 |
[xcz.kr]9번 (0) | 2021.02.18 |
abex' crackme #3 (0) | 2021.02.17 |
abex crack me #1 (0) | 2021.02.17 |