전체 글
[Python] 반복문 ( for문, while문.. )
오늘은 반복문에 대해 정리해볼려고 합니다. 1. for 2. while 3. continue, break 바로 코드를 쓰면서 정리해보겠습니다. 1. for # -*- Encoding : utf-8 -*- # range(시작, 끝) : 숫자 범위 표현 for i in range(1, 10): print(i) for문은 High level language중에는 거의 빠지지 않고 존재하는 반복문 형식 같습니다. for문은 조건을 제한한 다음 조건에 충족할때까지 반복하는 것을 의미합니다. 위의 코드는 range라는 파이썬에서 기본적으로 제공하는 함수를 사용하여 1부터 9까지 출력할 수 있도록 합니다. [※ 파이썬은 다른 언어의 문법을 포괄적으로 포용하기 때문에 range 같은 경우 끝 - 1까지 반복합니다. ]..
[Python] 조건문과 활용
이번에는 조건문을 정리하겠습니다. 1. 조건문의 규칙 2. if 3. elif 4. else 5. and & or 6. 조건문 활용 ( List 내에서 원하는 원소 찾기) 바로 코드를 적어보며 개념을 익혀보겠습니다. 1. 조건문의 규칙 파이썬에서 조건문을 사용할 때에는 규칙이 있습니다. 1. 첫 명령어는 들여쓰기 없이 시작해야 한다. 2. 조건문, 반복문 등의 문법을 사용할 때는 콜론(:)으로 명령어의 끝을 알린다. 3. 콜론(:)의 다음 줄부터는 들여쓰기의 간격이 모두 일정해야 한다. 이렇게 3가지가 있습니다. 이따 코드를 작성하며 다시 한번 정리하겠습니다. 2. if # -*- Encoding: utf-8 -*- a = 80 if a >= 80: print("Good") print("잘했습니다.") ..
[Assemble] 메모리 구조
오늘은 메모리 구조에 대해 정리해보겠습니다. 메모리 구조를 그림을 표현한다면 저렇게 형상화 할 수 있습니다. 1. Stack Stack 영역에는 함수들과 지역변수에 대한 정보들이 저장된다고 합니다. 함수를 호출할때마다 Stack 영역에 쌓인다고 합니다. 그래서 취약점이 많이 발견되는 부분이라 하고 BOF같은 공격을 실행할 수 있는 영역이라고 합니다. 2. heap 동적으로 메모리가 할당되는 변수들에 대한 정보가 저장되는 공간입니다. c언어에서 malloc()과 같은 함수를 사용하여 동적할당이 된 변수들은 heap 구역에 정의가 됩니다. 3. bss & data 프로그램에서 쓰여질 변수들이 실질적으로 위치하는 공간입니다. bss는 초기화가 되지 않은 변수들이 위치하는 공간이고, data는 초기화가 된 변수..
[Assemble] Hello World!
이번에는 칼리 리눅스 환경에서 어셈블리 언어로 Hello World! 를 띄워 볼라 합니다. 처음 nano를 사용하여 HelloWorld.s 파일을 만들겠습니다. 텍스트 저장을 위한 데이터 섹션과 텍스트 섹션을 정의 합니다. 그리고 start 부분을 정의 합니다 이 부분은 밑에 참고 자료와 함께 정리하겠습니다. 소스코드를 다 작성하였다면 Ctrl + x 키를 누른 후 y를 눌러 저장을 합니다. 리눅스 환경에서는 ls를 사용하여 파일을 확인 할 수 있으므로 아까 만든 HelloWorld.s가 보입니다. nasm 명령어를 활용하여 형식자를 .o로 바꿔주겠습니다 ld 명령어를 활용해 .o를 실제 우리가 볼 수 있는 파일로 변환을 해주겠습니다. ls를 활용해 보면 아까 변경했던 파일들이 보입니다. 그 중 최종 ..
[Python] List 관련 함수
오늘은 List 관련 함수들과 2차원 List에 대해 정리 해보려고 합니다. 1. index(원소) 2. append(원소) 3. sort(원소) 4. extend(원소) 5. insert(인덱스, 원소) 6. remove(원소) 7. pop(인덱스) 8. reverse() 9. 이차원 List 바로 코드를 작성하면서 정리해보겠습니다. 1. index(원소) # -*- Encoding: utf-8 -*- a=[10, 20, 30, 40, 50, 10, 10] print(a.index(50)) index 함수는 List 중 자신이 찾고 싶은 원소가 몇 번째 인덱스에 위치해있는지 손쉽게 찾을 수 있는 함수입니다. 2. append(원소) # -*- Encoding: utf-8 -*- a=[10, 20, 30..
[Python] 문자열 기초 함수들
오늘은 파이썬의 문자열과 관련된 함수들을 정리 해볼려고 합니다. 1. count 2. find 3. upper, lower 4. strip 5. split 6. zfill 그리 어렵지 않은 코드들이니 바로 살펴 보겠습니다. 1. count # -*- coding: utf-8 -*- a="Hello World" print(a.count('l')) # a 라는 변수 안에 l이라는 글자가 얼마나 있는지를 찾음 첫번째 count 함수의 기본 꼴은 문자열 변수.count("찾을 문자") 입니다. 자신이 선언한 문자열 함수에 찾고 싶어하는 문자가 몇개인지 손쉽게 찾을 수 있는 함수입니다. 2. find # -*- coding: utf-8 -*- a="Hello World" print(a.find("Wor")) pr..