Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- hackerrank
- 머신러닝
- hackctf
- The Loard of BOF
- c++
- Sookmyung Information Security Study
- lob
- 생활코딩
- 파이썬
- 숙명여자대학교 정보보안 동아리
- BOJ
- Python
- 풀이
- 숙명여자대학교 정보보안동아리
- CSS
- WarGame
- PHP 웹페이지 만들기
- Javascript
- 백준
- siss
- SWEA
- C언어
- c
- XSS Game
- 기계학습
- HTML
- BOJ Python
- 자료구조 복습
- 웹페이지 만들기
- 드림핵
Archives
- Today
- Total
혜랑's STORY
[System Hacking STAGE 2] Quiz: x86 Assembly 1 본문
무지성 공부방/Dreamhack SystemHacking
[System Hacking STAGE 2] Quiz: x86 Assembly 1
hyerang0125 2022. 1. 21. 12:34
Code 실행
1: mov dl, BYTE PTR[rsi+rcx]
BYTE PTR[rsi+rcx]의 값을 dl에 대입한다.
2: xor dl, 0x30
dl에 있는 값과 0x30을 xor 연산한다. xor 연산은 비트 연산을 통해 이루어지므로 먼저 두 값을 2진수로 바꿔주고 xor 연산을 한다. 첫 번째 0x400000(0x67)과 xor 연산을 하면 0x57이라는 값을 얻게 된다.
3: mov BYTE PTR[rsi+rcx], dl
dl의 값을 BYTE PTR[rsi+rcx]에 대입한다.
4: inc rcx
rcx의 값을 1 증가시킨다.
5: cmp rcx, 0x19
rcx의 값과 0x19를 비교한다.
6: jg end
직전에 비교한 두 연산자 중 전자가 더 크면 프로그램을 종료 한다.
7: jmp 1
1로 rip를 이동시킨다. 즉, 다시 코드를 1부터 반복한다.
결과
'무지성 공부방 > Dreamhack SystemHacking' 카테고리의 다른 글
[System Hacking STAGE 2] Exploit Tech: Shellcode (0) | 2022.01.21 |
---|---|
[System Hacking STAGE 2] Quiz: x86 Assembly 2 (0) | 2022.01.21 |
[System Hacking STAGE 2] x86 Assembly🤖: Essential Part(2) (0) | 2022.01.20 |
[System Hacking STAGE 2] x86 Assembly🤖: Essential Part(1) (0) | 2022.01.20 |
[System Hacking STAGE 2] Background: Linux Memory Layout (0) | 2022.01.18 |