안녕하세요! 지난 시간에 이어서 오늘은 어셈블리어 명령어 중 lea, and, or, xor 명령어에 대해서 알아보겠습니다. LEA (Load Effective Address) : 유효 주소 로드 # 출발지는 r/m32 # 목적지는 레지스터 # 레지스터 연산 결과를 레지스터에 저장(not 포인터) MOV와 무엇이 다른가?? # MOV는 값을 로드한다. mov eax, [ebx+ecx] # LEA는 유효 주소를 로드한다. lea eax, [ebx+ecx] lea 명령어를 사용해서 프로그램을 짜보겠습니다. gdb를 사용하여 분석을 하기전에 이 프로그램이 어떻게 동작할지 미리 고민을 해보시기 바랍니다. mov연산을 실행하고 나서 eax에는 1, ebx에는 4, ecx에는 7이 저장될 것입니다. 위에서 설명했듯..
안녕하세요! 지난 시간에는 mov 명령어를 알아보았는데요, 이번 시간에는 add, sub 명령어를 알아보겠습니다. ※ r/m 32 주소형식 : 피연산자 크기 속성이 32비트인 명령어에 사용하는 더블워드 범용 레지스터 또는 메모리 피연산자. ※ r/m32는 다음과 같은 형식을 가지는 문법을 의미합니다. # mov eax, ebx (ebx에 담긴 내용을 eax로 복사) # mov eax, [ebx] (ebx에 담긴 내용이 가리키는 주소의 내용을 eax로 복사) # mov eax, [ebx+ecx*X] (ebx에서 ecx*X 만큼 떨어진 곳에 위치한 주소의 내용을 eax로 복사) # mov eax, [ebx+ecx*X+Y] (ebx에서 ecx*X+Y 만큼 떨어진 곳에 위치한 주소의 내용을 eax로 복사) AD..
- Total
- Today
- Yesterday
- 논리연산
- cmp
- vim
- 해킹
- reversing
- mov
- 리눅스 시스템 콜
- nasm
- 리버스 엔지니어링
- 스택
- 어셈블러
- ubuntu
- 리버싱
- 치트엔진
- Sub
- 리눅스
- add
- instruction
- 터미널
- 명령어
- system call
- 사이버공격
- gdb
- 어셈블리
- 우분투
- call
- 어셈블리어
- linux
- jmp
- Push
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |