일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 석문초등학교
- C언어
- 리눅스
- 웹해킹
- hackerschool
- 암호수학
- java
- pythonchallenge
- 실습문제
- ARP Redirect
- 웹
- 경기대학교
- 명품자바프로그래밍
- C
- 파이썬챌린지
- Linux
- 피들러
- webhacking.kr
- 파이썬
- FTZ
- setCookie
- SuNiNaTas
- 리버싱
- 대외활동
- 써니나타스
- html5
- 자바
- 해커스쿨
- Web
- 쏙쏙캠프
- Today
- Total
목록STUDY/REVERSING (4)
Hongfluenza
어셈블리어란? 기계어 : 컴퓨터가 읽을 수 있는 이진수(0,1)로 이루어진 프로그램 기계어는 컴퓨터가 바로 읽을 수 있다는 점을 제외하면 장점이 없기 때문에, 이를 보완하기 위해 나온 것이 어셈블리어다. 어셈블리어 : 기계어를 사람이 보기 쉽게 문자를 기호화 하여 나타낸 것 (기계어와 1:1대응을 한다.) 어셈블리어의 명령 포맷 IA-32의 기본 형태 : 명령어 + 인자 명령어(=opcode,옵코드), 예를 들면 mov나 push에 해당한다. 인자(=operand,오퍼랜드), '명령어에 해당하는 값' 또는 '어떤 장소로 값을 넣을 것인가'에 해당한다. push 123 : 명령어(opcode,옵코드)→push | 인자(operand,오퍼랜드)→123 mov eax,1 : 명령어(opcode,옵코드)→mov..

함수의 호출 1. 함수가 사용할 파라미터를 스택에 넣고 함수 시작지점으로 점프한다. → 함수 호출 2. 함수 내에서 사용할 스택프레임을 설정한다. → 프롤로그 3. 함수의 내용을 수행한다. 4. 수행을 마치고 처음 호출한 지점으로 돌아가기 위해 스택을 복원한다. → 에필로그 스택 프레임 - 스택 프레임(Stack Frame)이란 ESP(스택 포인터)가 아닌 EBP(베이스 포인터) 레지스터를 사용하여 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법을 말한다. 함수 프롤로그 ebp(베이스 포인터)를 스택에 저장하고 현재 esp(스택 포인터)를 ebp(베이스포인터)에 저장하는 것 함수 에필로그 mov ESP, EBP를 통해 sfp가 저장되어 있는 곳으로 스택포인터를 맞추고 그걸 POP EBP, s..
10진수 2진수 16진수 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 16 10000 10 17 10001 11 18 10010 12
MOV 데이터를 이동하는 명령어 MOV A,B : [방향 : A←B ] B에서 A로 데이터를 이동 레지스터 ↔ 레지스터 간의 데이터 이동 가능 메모리 주소 ↔ 메모리 주소 간의 데이터 이동 불가능 (메모리와 메모리 사이의 데이터 이동은 MOVS를 이용함) PUSH STACK에 값을 넣음 (STACK이란 데이터를 임시적으로 저장했다가 필요할 때 꺼내쓰는 임시 기억장치 쉽게 생각해 밑이 막힌 상자라고 생각하면 쉽다 ! 가장 먼저 저장되는 데이터는 가장 마지막에 나옴(LIFO : 후입선출)) 4byte만큼 복사함 ESP의 값이 4만큼 줄어들고, 이 위치에 새로운 값이 채워짐 POP ESP 레지스터가 가리키고 있는 위치의 스택공간에서 4byte만큼을 Destination 피연산자에 복사하고 ESP 레지스터의 값..