728x90 분류 전체보기154 #4 x86 Assembly part 1 (Dreamhack) https://dreamhack.io/ 해커들의 놀이터, Dreamhack해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향dreamhack.ioDavid Wheeler는 EDSAC을 개발하면서 어셈블리 언어(Assembly Language)와 어셈블러(Assembler)라는 것을 고안했습니다.어셈블러는 일종의 통역사이고, 개발자들이 어셈블리어로 코드를 작성하면 컴퓨터가 이해할 수 있는 기계어로 코드를 치환해줬습니다. 어셈블리어가 기계어보다는 인간이 이해하기 훨씬 쉬웠으므로, 개발자들은 더욱 편리하게 개발을 진행하였습니다. 그리고 기계어를 어셈블리 언어로 번역하는 역어셈.. 2024. 5. 11. #1028 코드업 (CodeUp) 1028번 문제 풀이 [C언어 기초 100제] 안녕하세요. 오늘은 C언어 기초 100제 문제에서 1028번 문제를 풀어보겠습니다.정수 1개를 입력받아 그대로 출력해보자. (입력되는 정수의 범위는 0 ~ 4,294,967,295 이다) 아래의 포스팅을 먼저 읽어 오시고, 푸시는 것을 추천드립니다. #2 C언어 scanf 입력 함수 사용 방법C언어는 사용자로부터 데이터를 입력받고 출력하는 기능을 제공합니다. 이 중에서도 "scanf" 함수는 사용자로부터 키보드를 통해 데이터를 입력받는 데 주로 활용됩니다. 오늘은 "C언어 scanf 입력wsul.tistory.com 목차1. 코드업 (CodeUp) 1028번 문제 풀이 코드업 (CodeUp) 1028번 문제 풀이더보기#include int main(){ unsigned int n; scanf.. 2024. 5. 11. #3 Linux Memory Layout (Dreamhack) https://dreamhack.io/ 해커들의 놀이터, Dreamhack해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향dreamhack.io 컴퓨터는 크게 CPU와 메모리로 구성되어 있고, CPU는 실행할 명령어와 명령어 처리에 필요한 데이터를 메모리에서 읽고 Instruction Set Architecture(ISA)에 따라 이를 처리합니다. 그리고 연산의 결과를 다시 메모리에 적재합니다.만약 공격자가 메모리를 악의적으로 조작할 수 있다면 조작된 메모리 값에 의해 CPU도 잘못된 동작을 할 수 있습니다. 이것을 메모리가 오염됐다고 표현하고, 이를 유발하는 취약점을.. 2024. 5. 10. #2 x64 레지스터의 종류와 기능 (dreamhack 정리) 전 포스팅에서 레지스터란 CPU 내에서 데이터를 임시 저장하기 위한 고속의 작은 메모리 영역이라고 정의를 하였다. 1. x64 (64bit) 아키텍처: 레지스터x64 아키텍처에는 범용 레지스터(General Register), 세그먼트 레지스터(Segment Register), 명령어 포인터 레지스터(Instruction Pointer Register, IP), 플래그 레지스터(Flag Register)가 존재한다.1.1 범용 레지스터 (General Register)주용도는 있지만, 그 외의 다양한 용도로 사용될 수 있는 레지스터이다. 각각의 범용 레지스터는 8바이트를 저장할 수 있고, 부호 없는 정수를 기준으로 2^64 - 1까지의 수를 나타낼 수 있다.rax (accumulator register).. 2024. 5. 10. 이전 1 ··· 20 21 22 23 24 25 26 ··· 39 다음 728x90