일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 리버싱
- gdb
- 아두이노
- phase_5
- phase_3
- 스테가노
- phase_1
- Reversing
- bomblab
- 리눅스
- reversingg
- 파일
- phase_2
- mandb
- 서브모터
- pwnable
- 툴
- 명령어
- 데이터 형태
- 밤랩
- Linux
- bomb lab
- IDS
- Bomb
- phase_6
- phase_4
- 침입감지시스템
- pwntool
- binarybomb
- 디렉터리
Archives
- Today
- Total
Flag={C0MPU73R}
어셈블리어(Assembly)에 대해 본문
어셈블리어
- 어셈블리 언어는 기계어와 1:1 대응하는 언어
- 어셈블리 언어를 배우면 시스템을 이해하는데 도움이 된다.
C언어 vs 어셈블리어
C언어
- 소스코드의 크기가 크다
- 효율이 낮다
- 가독성이 좋다
어셈블리어
- 소스코드의 크기가 작다
- 효율이 높다
- 가독성이 나쁘다
에셈블리어 종류
Linux 32bit (가장 쉽고 오래됨)
- intel
- At&t
Linux 64bit
등등
레지스터 역할
EAX : 함수의 리턴 값 저장
ECX : 계산 값에 대해 저장 (For문의 i, j같은 역할)
ESP : 명령어 수행 시 스택의 위치 저장
EBP : 스택의 맨 위 주소를 가리킴
EIP : 다음 실행할 인스트럭션의 주소 가리킴
레지스터
RAX : 64비트용 레지스터
EAX : 32비트용 레지스터 / RAX의 하위 32비트
AE : EAX의 하위 16비트
AH : AX의 상위 8비트
AL : AX의 하위 8비트
등등
어셈블리 명령어 기초 (Intel 형식)
http://securityfactory.tistory.com/153
'사이버 가디언즈' 카테고리의 다른 글
스택과 레지스터 이용 (0) | 2018.08.22 |
---|---|
리버싱(Reversing) 정보 블로그 (0) | 2018.08.22 |
리버싱(Reversing)에 대해 (0) | 2018.08.22 |
.jar 파일이 실행 안될때 해결방법(64bit) (0) | 2018.08.21 |
(리눅스) 파일에 포함된 시그니처 확인 (0) | 2018.08.21 |