동아리 활동

동아리 활동

[Python] 동아리 스터디 문제 & 코드 모음

1. 변수 할당 및 출력 - name = "John" - age = 30 - 다음과 같이 변수 name과 age를 할당하고, - 이를 이용하여 "제 이름은 [name]이고, 나이는 [age]살 입니다." - 라는 문자열을 출력하는 코드를 작성. # 출력 방법 print() 함수 사용 # 예1) print("이름",name) => "이름 John" # 예2) print(f"이름 {name}") => 위와 동일 # 1주차 (1회) 1번> 변수 할당 및 출력 name = "John" age = 30 print("제 이름은", name, f"이고, 나이는 {age}살 입니다.") 제 이름은 John 이고, 나이는 30살 입니다. 2. 데이터 타입 변환 - age_str = "25" - 다음과 같은 문자열이 주어..

동아리 활동

System Hacking : x86 어셈블리 Quiz 풀이

System Hacking STAGE 2 - Background: Computer Science (3/3) x86 Assembly (1), (2) 퀴즈 풀이 Quiz 1. end로 점프하면 프로그램이 종료된다고 가정하자. 프로그램이 종료됐을 때, 0x400000 부터 0x400019까지의 데이터를 대응되는 아스키 문자로 변환하면 어느 문자열이 나오는가? [Register] rcx = 0 rdx = 0 rsi = 0x400000 ======================= [Memory] 0x400000 | 0x67 0x55 0x5c 0x53 0x5f 0x5d 0x55 0x10 0x400008 | 0x44 0x5f 0x10 0x51 0x43 0x43 0x55 0x5d 0x400010 | 0x52 0x5c 0..

동아리 활동

System Hacking : x86 어셈블리 (2)

출처 https://dreamhack.io/lecture/courses/63 x86 Assembly🤖: Essential Part(2) 스택과 프로시저에 대한 어셈블리 명령어를 살펴봅니다. dreamhack.io System Hacking STAGE 2 - Background: Computer Science (3/3) x86 Assembly (2) 공부 겸 메모 ✍️ 개요 - 스택 - 스택 프레임 - 시스템 콜 - 스택 연산: push, pop - 함수 호출: call, leave, ret - 시스템 콜: syscall 1. 서론 이전 포스팅 x86 어셈블리 (1)에서는 산술연산, 논리연산, 비교, 분기의 어셈블리 명령어를 배웠다. 1. 산술 연산: add, sub, inc, dec 2. 논리 연산: a..

동아리 활동

System Hacking : x86 어셈블리 (1)

출처 https://dreamhack.io/lecture/courses/37 x86 Assembly🤖: Essential Part(1) 시스템 해킹을 배우기 위해 필요한 기초적인 어셈블리 언어를 배웁니다. dreamhack.io System Hacking STAGE 2 - Background: Computer Science (3/3) x86 Assembly (1) 공부 겸 메모 ✍️ 개요 - 어셈블리어란? - x86-64 어셈블리어 - 데이터 이동: mov, lea - 산술 연산: add, sub, inc, dec - 논리 연산: and, or, xor, not - 비교: cmp, test - 분기: jmp, je, jg 1. 서론 해커의 언어: 어셈블리 💬 컴퓨터 속에는 하나의 거대한 세계가 있다. 복..

동아리 활동

System Hacking : 컴퓨터 아키텍처 Quiz 풀이

System Hacking STAGE 2 - Background: Computer Science (2/3) Computer Architecture 퀴즈 풀이 Quiz 1. rax에서 rbx를 뺐을 때, ZF가 설정되었다. rax와 rbx의 대소를 비교하시오. A > B 0123456789abcdef eax-> 89abcdef ax->..

동아리 활동

System Hacking : 컴퓨터 아키텍처

출처 https://dreamhack.io/lecture/courses/43 Background: Computer Architecture 컴퓨터 구조 및 명령어 집합 구조에 대해 간단히 설명하고, 커리큘럼이 대상으로 하는 인텔 x86-64 아키텍처에 대해 살펴봅니다. dreamhack.io System Hacking STAGE 2 - Background: Computer Science (2/3) Computer Architecture 공부 겸 메모 ✍️ 개요 - 컴퓨터 구조(Computer Architecture) - 명령어 집합 구조(Instruction Set Architecture, ISA) - 범용 레지스터(General Register) - 세그먼트 레지스터(Segment Register) - ..

동아리 활동

System Hacking : 리눅스 메모리 레이아웃 Quiz 풀이

System Hacking STAGE 2 : Background - Computer Science (1/3) Linuux Memory Layout 퀴즈 풀이 Quiz 1. e는 어느 세그먼트의 데이터를 가리키는가? #include int a = 0xa; const char b[] = "d_str"; int c; int foo(int arg) { int d = 0xd; return 0; } int main() { int *e = malloc(sizeof(*e)); return 0; } A 데이터 B 힙 ✔️ C 스택 D 읽기 전용 데이터 (rodata) E 코드 F BSS 풀이: e는 malloc()을 호출하여 메모리를 동적 할당 받았으므로 힙 세그먼트에 위치한다. Quiz 2. a가 위치하는 세그먼트는 ..

동아리 활동

System Hacking : 리눅스 메모리 레이아웃

출처 https://learn.dreamhack.io/52#1 로그인 | Dreamhack dreamhack.io System Hacking STAGE 2 - Background: Computer Science (1/3) Linuux Memory Layout 공부 겸 메모 ✍️ 개요 - 세그먼트란? - 코드 세그먼트 - 데이터 세그먼트 - BSS 세그먼트 - 스택 세그먼트 - 힙 세그먼트 1. 서론 컴퓨터는 크게 CPU와 메모리로 구성되어 있다. CPU는 실행할 명령어와 명령어 처리에 필요한 데이터를 메모리에서 읽고, Instrucction Set Architecture(ISA)에 따라 이를 처리한다. 그리고 연산의 결과를 다시 메모리에 적재한다. 이는 CPU의 동작과 메모리 사이에 밀접한 관련이 있음을..

Hicecream
'동아리 활동' 카테고리의 글 목록