본문 바로가기

리버싱/리버스 엔지니어링 바이블

03; 연산 루틴 리버싱 08. 시리얼 추출 방법 F-Secure Reverse Engineering 대회 Level 1 문제 풀이 사전 정보 획득 첫 번째 - 파일 스캐너로 스캔 사전 정보 획득 두 번째 - API 확인 사전 정보 획득 세 번째 - 파일의 이미지 베이스 확인 Level 2 문제 풀이 문자열 컨트롤 안티 디버깅 기법 WinMain보다 먼저 가동되는 코드 09. 코드 속이기 Level 3 문제 풀이 데이터 속에 숨은 코드 리버싱으로 방정식 세우기 바이너리 파싱 재사용이 어려운 코드 디스어셈블러 속이기 정리 더보기
02; 리버스 엔지니어링 중급 5. PE 헤더(PE Header) PE에 대한 상식적인 개념 빌드 과정 PE 파일 구조 IMAGE_DOS_HEADER IMAGE_NT_HEADER IMAGE_FILE_HEADER IMAGE_OPTIONAL_HEADER IMAGE_SECTION_HEADER PE와 API 호출의 원리 IAT에서 API를 계산하는 방법 익스포트 테이블(export table) 마무리 6.흔히 사용하는 패턴 조건문의 기본 심화된 조건문 반복문 break가 들어가는 경우 continue가 들어갈 경우 return이 생기는 경우 문자열 컨트롤 strcy strcat strlwr 정리 7. MFC 리버싱 리버스 엔지니어링에 필요한 MFC 구조 MFC로 개발됐는지 여부 확인 MFC 초기화 루틴 찾기 버튼 핸들러 찾아내기 헤더 파일 .. 더보기
01 ; 리버스 엔지니어링만을 위한 어셈블리 리버싱이란?[reverse engineering] : 역공학이란 뜻으로 장치 또는 시스템의 기술적인 원리를 그 구조분석을 통해 발견하는 과정이다.우리가 하는 악성코드 분석(소프트웨어 리버스 엔지니어링)에서는 악성코드를 분석해서 악성코드를 발견하는 과정이다.https://ko.wikipedia.org/wiki/%EC%97%AD%EA%B3%B5%ED%95%99 기계어(0,1) 어셈블러(PUSH, MOV..) c, python.. 어셈블리어란?[assemly language] : 컴퓨터 프로그래밍에서 사용하는 저급 언어로 컴퓨터가 사용하는 언어다.ex)push, pop, mov.. 같은 것이 있다.   https://ko.wikipedia.org/wiki/%EC%96%B4%EC%85%88%EB%B8%94%.. 더보기
책 : 리버스 엔지니어링 바이블 시작 01 리버스 엔지니어링 기본 eax, edx, ecx,ebx, esi,edi push, mov, lea, add, sub, int, call inc,dec,and/or/xor, nop, cmp, jmp, 함수 호출, 리턴 주소.. C 문법과 디스어셈블링 C++ 클래스와 리버스 엔지니어링 DLL 분석 02 리버스 엔지니어링 중급 PE헤더(IMAGE_DOS_HEADER, ..) 흔히 사용하는 패턴(break, continue, return) MFC리버싱 03 연산 루틴 리버싱 시리얼 추출 방법 코드 속이기 04 안티 리버싱 엔지니어링 한단계 위 패커가 사용하는 기술 우회 방법 05 OllyDBG 플러그인 OllyDBG 플러그인 SDK 리버싱 보조 플러그인 메모리 스캔 플러그인 개발 06 보안 모듈 우회 바이.. 더보기