○ 리버싱
정적 분석 : 파일의 겉모습을 관찰하여 분석 (파일 실행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을 참고해주세요 ※
'5. 방학 활동 > 개념 정리' 카테고리의 다른 글
[2023.02.02] 워게임&CTF 스터디 1팀 웹해킹 개념정리] (0) | 2023.02.19 |
---|---|
[2021.07.26] 포너블팀 나동빈-시스템해킹 강의 정리 (0) | 2021.07.26 |