일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- geminipro
- 웹해킹 기초
- WebHacking
- hackthissite
- lord of sqlinjection
- SQL Injection
- CTF
- sql injection bypass
- web hacking
- 인공지능
- 개발자
- Over The Wire
- overthewire
- XSS GAME
- webhacking.kr
- write up
- 코딩
- pythonprogramming
- 웹개발
- web-server
- 프로그래밍
- 정보보안
- burp suite
- root me
- 테크트렌드
- 사이버보안
- Bandit
- system hacking
- Wargame
- 웹해킹
- Today
- Total
목록프로그래밍/어셈블리어 (2)
컴맹에서 컴공 그리고 화이트 해커가 되는 그날까지

간단한 어셈블리 언어 프로그램으로 리눅스 환경에서 "Hello World"문자열을 출력한 후 프로그램을 종료하는 코드를 작성해 보았다. .data 섹션:이 섹션은 프로그램이 사용할 데이터를 정의하는 곳입니다. 여기서 "Hello World"라는 문자열을 msg라는 레이블로 저장합니다. 이 문자열은 프로그램에서 출력될 메시지입니다..text 섹션:이 섹션은 실제 실행될 코드가 포함된 부분입니다.global _start: _start라는 라벨을 전역으로 선언하여 프로그램의 시작 지점으로 사용합니다. 이는 운영 체제가 이 위치에서 프로그램 실행을 시작하도록 지시합니다._start 라벨에서의 코드:mov rax, 1: 시스템 호출 번호를 rax 레지스터에 설정합니다. 리눅스 시스템 호출에서 1은 write 호출..
시스템 해킹을 하게 되면서 보게될 어셈블리 명령어(Instruction) 중에 많이 보게 되는 명령어를 정리해 보았다. MOV: MOV EAX, 100 EAX에 100을 넣으라는 뜻이다. LEA: LEA EAX, [EAX + 1000]은 EAX에 1000을 넣은 값을 다시 EAX에 삽입하라는 뜻이다. 이처럼 연산을 포함할 수 있다. JMP: 특정 위치로 건너 뛰어 코드를 실행한다. JMP CODE라고 하면 CODE의 위치로 뛰어서 코드가 실행된다. CALL: 함수를 호출했다가 다시 원래 위치로 돌아올 때 사용한다. JMP와 다른 점은 실행한 뒤에 끝나게 되면 RET에 저장하고 다시 원래 상태로 돌아온다는 것이다. NOP: 아무 작업도 하지 않는 명령어. 1Byte의 빈 공간을 차지한다. RET: 현재 함..