본문 바로가기

5. 방학 활동/개념 정리

[2023.02.11] 워게임&CTF 스터디 1팀 리버싱 개념정리]

○ 리버싱

정적 분석 : 파일의 겉모습을 관찰하여 분석 (파일 실행X)

동적 분석 : 파일을 직접 실행시켜서 분석하고, 디버깅을 통해 코드 흐름과 메모리 상태 등을 자세히 파악

 

○ 어셈블리어

EAX : 산술 연산 및 논리 연산 수행

EBX : 메모리 주소 저장

ECX : 반복문 사용 시 반복 카운터로 사용

          반복할 횟수 지정하고 반복 작업 수행

EDX : EAX 레지스터와 같이 쓰임

          부호 확장 명령 등에 사용

          큰 수의 곱셈 또는 나눗셈 연산

EDI : 복사할 때 목적지 주소 저장

ESI : 데이터를 조작하거나 복사할 때 데이터의 주소 저장

ESP : 메모리 스택의 끝 지점 주소 포인터

EBP : 메모리 스택의 첫 시작 주소 포인터

mov a b : b(데이터)를 a로 복사

lea a b : b(주소)를 a에 저장

push a : a(레지스터)의 값을 스택에 저장

pop a : 스택의 값을 a(레지스터)로 가져옴

jmp a : a(주소)로 가서 명령어 실행

cmp a b : a와 b 비교 후, 분기문 등장

               조건 점프 명령어나 조건 이동 명령어와 사용

je a : 비교한 값이 같으면 a(주소)로 가서 명령어 실행

jne a : 비교한 값이 다르면 a(주소)로 가서 명령어 실행

ret(return) : 호출된 함수에서 호출한 함수로 복귀

                     ESP에 있는 값을 꺼내 EIP에 할당

 

 

※ 관련 개념 문제는 방학활동 / write up을 참고해주세요 ※