2. Reversing (리버싱) (77) 썸네일형 리스트형 [2025.04.05] 리버싱난다_3주차 활동 11강 DOS HEADER & DOS STUB -dos header 달리 dos stub은 옵션이다ms dos에서만 실행되는 코드 windows os에서는 실행안함. pe NT HEADER의 시작점 (첨부그림 빨간 동그라미 위에서 아래로 순서대로)DOS HEADERDOS STUBNT HEADER 12강 NT HEADER채트 엔진mz= 시작부분 앤티헤더란?image_nt_headers file headersimage_file_header이 네가지가 file header에 있고 file header은 image_nt_headers에 멤버고 image_nt_header은 nt header에 구성체다. 1. WORD MACHINEcpu 호환칩의 고유한 번호를 저장4c 01014c 2. WORD NUMBEROFS.. [2025.03.29] 리버싱난다_2주차 활동 참조 강의: 유튜브 Fin 강의 5강. 스택 (Stack)스택의 역할1. 함수 내 변수 임시저장2. 함수 호출 시 매개변수(파라미터) 전달3. 복귀 주소 저장 스택의 특징FILO (First - In - Last - Out) 선입후출 방식Push: 스택에 데이터를 넣는 작업Pop: 스택에 마지막으로 들어온 데이터를 빼는 작업Top: 스택의 가장 위에 들어있는 값Bottom: 스택의 가장 아래에 들어있는 값 스택에서 중요한 레지스터ESP: 스택 포인터, 유동적으로 값이 바뀜EBP: ESP의 값을 저장해 둠, 부동적인 레지스터 6강. 스택 프레임 (Stack Frame)EBP를 이용하여 스택 내의 변수 파라미터 복귀 주소에 접근하는 기법 예시 어셈블리 코드)Push EBP // EBP 스택에 백업MOV .. [2024.11.16]리버씽씽이_6주차 활동 6주차에는 유튜브 리버싱 강의를 18강 ~ 20강까지 학습하였다. https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 1. EAT라이브러리 파일에서 제공하는 함수를 다른 프로그램에서 가져와 사용할 수 있도록 해주는 핵심 메커니즘함수의 시작 주소 파악 가능 및 구조체가 있음EAT 내부에 저장되는 함수들의 정보는 PE 파일이 내보내는 함수의 개수와 해당 함수의 주소 뿐 → 한 개의 배열(IMAGE_EXPORT_DIRECTORY)2. IMAGE_EXPORT_DIRECTORY(EAT의 구조체)– IMAGE_OPTIONAL_HEADER에 위치NumberOfFunctions.. [2024.11.09]리버씽씽이_5주차 활동 5주차에는 유튜브 리버싱 강의를 15강~17강까지 학습하였다. 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 섹션헤더에 대해 잘 이해했다면 이제부터 PE파일이 메모리에 로딩되었을 때 각 섹션에서 메모리의 주소(RVA)와 오프셋(offset)을 잘 매핑할 수 있어야한다.이러한 매핑을 일반적으로 RVA To RAW라고 부른다.오프셋: 오차, 문자 A의 배열이 abcdef를 포함한다면 ‘c’ 문자는 A 시작점에서 2의 오프셋을 지닌다고 할 수 있음 RAW(File Offset)RVA가 속해 있는 섹션을 찾는다.공식을 이용해서 파일 오프셋(RAW)을 계산한다. RAW(File offset) - PointerToRawData(파일에서 섹션의 시작 위치) = RVA(상대주소) - VA(메모리에.. [2024.11.02]리버씽씽이_4주차 활동 4주차에는 유튜브 리버싱 강의를 12강 ~ 14강까지 학습하였다.https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com IMAGE_NT_HEADERS 구조체signature은 PE 값을 가짐.(dos에서 MZ를 갖는 것처럼) IMAGE_FILE_HEADER 구조체 (IMAGE_NT_HEADERS의 멤버)CPU 호환칩의 고유한 번호를 저장 (리틀 엔디안 방식) 4C 01 → 014C, 32bit 인텔 호환칩에서 사용함PE 파일은 코드, 데이터, 리소스 등이 각각 섹션에 나뉘어 저장NumberOfSections는 PE 파일 섹션의 개수를 알려줌 (값은 무조건 0보다 .. [2024.10.26]리버씽씽이_3주차 활동 3주차에는 유튜브 리버싱 강의를 8강~11강까지 학습하였다.https://youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO&si=_-ulXwpWPqYW6NVt 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 1. 함수 호출 규약: 함수를 호출할 때 매개변수를 어떤식으로 정리하고 스택을 어떻게 정리할 것인지에 대한 약속 1) 용어 A. caller(호출자): 함수 호출자 B. callee(피호출자): 함수 호출 당한 자 C. cdecl i. C언어에서 사용되는 방식으로 caller(main함수)가 스택을 정리함 ii. 오른쪽에서 왼쪽 인자 순으로 스택에 저장됨 .. [2024.09.28] 리버씽씽이_2주차 활동 2주차에는 유튜브 리버싱 강의를 4강~7강까지 학습하였다. https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 목표: IA-32 Register에 대해 배워보자 1. CPU 레지스터 : CPU 내부에 있는 저장공간 → CPU 내부에 있기에 데이터 연산속도가 매우 빠름(용량이 매우 작음) 2. 범용 레지스터(General Register): 일반적인 레지스터 - IA-32 4byte(reg size: 4byte) 범용 레지스터(General Register)의 종류 - EA.. [2024.09.21] 리버씽씽이_1주차 활동 1주차에는 유튜브 리버싱 강의를 1강~3강까지 학습하였다. https://youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO&si=gihRwDoT8ATLvdeZ 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 리버싱(역공학)=RE(Revese Engineering) =RCE(Reverse Code Engineering) 공학: 어떠한 물건을 만드는 것 역공학: 제품을 어떤 방식으로 만들었는지 확인하여 설계도를 제작하는 것. 공학과는 반대 방향 리버싱 분석방법1. 정적 분석 : 파일을 실행하지 않고 분석하는 방법 파일의 겉모습을 분석 - 정적 프로그램 .. 이전 1 2 3 4 ··· 10 다음