일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Oracle SQL
- 자바스크립트 node
- php
- ES6
- 자바스크립트
- oracle
- 파이썬
- 자바스크립트 jQuery
- 오라클
- 보안뉴스
- python
- 깃허브
- 보안뉴스요약
- numpy
- oracle db
- 보안뉴스 한줄요약
- GIT
- 보안뉴스한줄요약
- 랜섬웨어
- 자바스크립트 API
- 카카오프로젝트
- javascript
- 자바스크립트 객체
- 다크웹
- 카카오프로젝트 100
- 보안뉴스 요약
- 자바스크립트 element api
- 카카오프로젝트100
- 자바스크립트 기본 문법
- 자바스크립트 prototype
- Today
- Total
목록분류 전체보기 (507)
FU11M00N
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCO6xz/btqDxJNQDwN/2BbaMV3Rk4lvHmkSoU9waK/img.png)
아마 C언어를 처음 배우면 가장 먼저 써보는 문장이 printf("Hello World"); 가 아닐까 싶습니다. 여기서 printf() 함수를 조금만 더 자세히 알아보자면 printf() 함수는 텍스트와 함께 다양한 형태의 데이터를 출력 하는 기능을 가지고 있습니다. #include printf()의 원형은 int printf( const char * format,... );입니다. const char *format에서 const는 전달된 format 문자열의 값을 printf() 함수 내에서 변화시킬 수 없는 문자열을 상수처럼 사용하는 겁니다. 생략 기호(...) 이전에 전달되는 인수를 고정 인수라고 부르는데, printf() 함수의 경우에는 const char * format 인수가 고정 인수입니다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/r3EXh/btqDyFxqzGk/6ehLkKucHZ0OpjG6eZyPK1/img.jpg)
C언어에서의 연산자는 총 10개의 종류가 있습니다. 이번 포스팅에서는 비트 연산자를 소개하고 나머지는 다음 글에 포스팅하겠습니다! 비트 연산자의 종류는 아래의 표와 같습니다. 연산자 사용 예 설명 ~ ~a 값 a의 1의 보수(비트 반전) & a & b 값 a와 b에 대한 AND 연산 | a | b 값 a와 b에 대한 OR 연산 ^ a ^ b 값 a와 b에 대한 XOR 연산 > 1 1비트를 우측으로 이동 (우측 시프트 연산) 또한 비트 연산을 이해하기 위해서는 위의 비트 연산자 종류에 대한 이해와 함께 아래의 표의 비트 연산 진리표를 알아야 합니다. a b a&b (and) a|b (OR) a^b (XOR) ~a (NOT) 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bAQP80/btqDvYZbQLo/CoqsPz0kbhEKZWnXvjiKx0/img.png)
C언어에서의 연산자는 총 10개의 종류가 있습니다. 이번 포스팅에서는 증감 연산자를 소개하겠습니다! 종류 연산자 대입 연산자 = 산술 연산자 +, -, * ,/ ,% 복합 대입 연산자 +=, -=, *=, /=, %= 증감 연산자 ++,-- 관계 연산자 >,=,> ,
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Fab2a/btqDx6hgm6P/qYNKJWjL0RNJvyrrk1zIi1/img.png)
C언어에서의 연산자는 총 10개의 종류가 있습니다. 이번 포스팅에서는 대입,산술,복합 3개만 다루고 나머지는 다음글에 포스팅 하겠습니다! 종류 연산자 대입연산자 = 산술 연산자 +, -, * ,/ ,% 복합 대입 연산자 +=, -=, *=, /=, %= 증감 연산자 ++,-- 관계연산자 >,=,> ,
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/w2Xog/btqDxJGyWgo/rqQWbXs46DC35iyGkk7Nu1/img.png)
정수형 char 1byte ~128~127 short 2byte ~32786~32767 int 4byte -2.147.483.648 ~ 2.147.483.647 long 4byte -2.147.483.648 ~ 2.147.483.647 long long 8byte ~9.223.372.036.854.775.808~ 9.223.372.036.854.775.807 실수형 float 4byte +- 3.4 x 10^-37 ~ +-3.4x10^38 double 8byte += 1.7 x 10^-307 ~ +- 3.4 x 10^308 long double 8byte이상 dobule 이상 C언어에서는 컴파일러의 종류 또는 OS 등 차이에 따라 자료형의 데이터 크기가 변경될 수 있습니다. 이는 자료형의 크기를 컴파일러..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b4Uygs/btqDvx1Oh0n/ZhRZ6qpvFKmhxJnbHWJKMK/img.png)
먼저 http://pwnable.kr/play.php# 사이트에 들어가서 1번 문제 fd를 클릭하여 들어가 봐요! putty를 통해서 들어가거나 리눅스 환경에서 들어가거나 하시면 됩니다. 저는 우분투로 접속을 해보겠습니다. 사진 1-3와 같이 입력하시고 비밀번호는 guest를 입력하시면 접속이 완료됩니다! ls 명령어를 입력하면 현재 디렉터리에 있는 내용을 볼 수 있지만, ls -l 명령어를 입력하여 자세한 내용을 출력해보겠습니다! 여기서 자세한 내용은 펄미션(권한), 포함된 파일수, 소유자, 그룹, 파일크기, 수정 일자, 파일 이름을 뜻합니다! 현재 저희는 fd그룹에 속해져 있기때문에, fd 파일은 그룹 권한이 r-x 이기 때문에 읽기와 실행이 가능합니다. fd.c 파일은 파일 소유자가 root이고, ..
파일 디스크립터란? 시스템으로부터 할당 받은 파일을 대표하는 0이 아닌 정수의 값입니다. 프로세스에서 실행되는 파일들의 목록을 관리해주는 테이블의 인덱스값입니다. 리눅스/유닉스는 모든 장치를 파일로 관리하는데, 일반 파일과 내부/외부 모든 장치도 파일로 취급합니다. 이 파일을 관리하는 것이 파일 디스크립터 라고 부릅니다! 프로세스마다 0,1,2 번으로는 아래의 표로 사전 배정이되어있고 그 뜻은 아래와 같습니다. 그러하여 하나의 파일을 생성하게되면 3번부터 시작하여 파일 디스크립터가 부여됩니다. 번호 설명 이름 파일스트림 0 표준 입력 STDIN_FILENO stdin 1 표준 출력 STDOUT_FILENO stdout 2 표준 에러 STDERR_FILENO stderr 부가설명 어떠한 파일을 열게되면 번..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGHKCA/btqDrlzEeoM/YNIGKJ7DakcWzEDNMS2cuK/img.png)
- PRINT_STRING SASM에서 제공하는 매크로 함수 문자열 출력 함수 형식] PRINT_STRING 매개변수 매개변수 : 출력할 곳의 주소 단, 문자열 종료는 0x00로 표시 입력 받기 공통 매크로 - GET_DEC SASM에서 제공하는 매크로 함수 키보드로 10진수 입력 형식] GET_DEC para1, para2 para1 : 입력할 바이트 수 para2 : 입력 받을 곳으로 레지스터 또는 메모리 주소 - GET_HEX 키보드로 16진수 입력 형식] GET_HEX para1, para2 para1 : 입력할 바이트 수 para2 : 입력 받을 곳으로 레지스터 또는 메모리 주소 - 더하기 연산 더하기는 모든 계산의 가장 기본적인 연산 형식] add para1, para2 para1 : 레지스터..