Note/coding 3

[NOTE : coding] 난수생성(rand(),srand(),time()) (C언어)

환경 : ubuntu 18.04 hackCTF random_key 문제 풀면서 정리해봤다. 예전에 학교에서 배운 적 있었는데 이 랜덤 개념이 생각보다 자주 쓰인다고 해서 정리를 해보려고 한다. (근데 NOTE 카테고리 취지가 조금 짧게 짧게 적는 ... 그런 노트 느낌인데 coding 카테고리는 뭔가 예외인 느낌..) 1. rand() 함수 #include #include #include int main(void) { printf("rand : %d\n", rand()); printf("rand : %d\n", rand()); printf("rand : %d\n", rand()); printf("rand : %d\n", rand()); printf("rand : %d\n", rand()); printf(..

Note/coding 2021.03.25

[NOTE : coding] C에서 0과 NULL의 차이?

[DEFCON 2019] speedrun-001 풀이 이거 풀다가 execve 인자를 NULL로 주고 싶은데 NULL 이라는 값을 어떻게 줘야할 지 모르겠어서 한번 공부해봤다. #gcc -o test test.c #include int main() { char a = 0; char b = NULL; return 0; } a와 b에는 어떻게 값이 들어갈까? gdb를 통해 확인해보니 둘 다 0이 들어간다... 그리고 애초에 아스키 코드표를 보면 NULL이 0이다 ㅋㅋ 결론은 인자로 NULL 주고 싶을 때 걍 0 주면 된다. 근데 값은 같지만 의미는 살짝 다르니 조심

Note/coding 2021.01.25