100살의 반의 반 포스팅 썸네일 이미지

Memo

100살의 반의 반

2024년 마지막 날 하반기 정리 시작.이제는 블로그에 테크니컬적인 것보다는 자아성찰과 나중에 추억 되새김 용으로 재밌는 이벤트들을 적어고자 한다.하반기에 있었던 일들을 지금 생각하려니 기억이 벌써 가물가물해진다미국 여행(8월)미국에 갈 일이 있어서 교수님께 양해를 구하고 10일정도 다녀왔다. LA에서 할리우드, 그리피스 천문대, 산타모니카, 교회, 유니버셜 스튜디오, LA 다저스 경기장, LAX공항쪽을 다녀왔다.LAS(라스베가스)에서 BlackHat, 배틀봇, 고든렘지버거, 데프콘 CTF 등을 했다.USA를 완전히 느끼기 위해서 관광지보다는 최대한 로컬에 있는 식당과 볼 것들을 찾아다니기 위해 노력했다 미국 가서 깨달은 것은 USA 초등학생보다 영어를 못한다는 것이었다. 그리니치 천문대에서 앉아 있는 ..

2024.12.31 게시됨

2024 CheckPoint 포스팅 썸네일 이미지

Memo

2024 CheckPoint

종강 기념 중간점검 시작.저번 포스팅 이후로 재미난 일이 많아 중간 점검겸 씀.Issue#1 - 도를 아십니까?때는 4월 20일 한참 중간고사 준비, 연구, 과제 PPT 준비 등으로 바쁠 때였다.기숙사로 가는 길에 코카콜라를 들고 키 큰 뽀글머리 외국인 친구가 날 붙잡고 말을 걸었다. 당연히 식당 어디냐 그런 것을 물어볼 줄 알았지만, 얘기한 내용은 성경 Study (bible study)를 나보고 하자는 것이었다.최근에 영어 공부를 꾸준히 하고 있었는데 드디어 실습할 차례가 온 것이다. 나를 설득하기 위해서 잘 하지도 못하는 한국어 개인기도 보여줬다.그 친구의 주장은 "과학기술"만 공부하면 elon musk처럼 family broken. 성경 충만한 상태로 과학기술 공부해야 사람답게 행복하게 살 수 있..

2024.06.17 게시됨

[ Kernel ] Ubuntu Kernel 재설치 및 Default Kernel 변경하기 포스팅 썸네일 이미지

TOOLS & Error

[ Kernel ] Ubuntu Kernel 재설치 및 Default Kernel 변경하기

퍼저나 1-day를 하다보면 Kernel을 바꿔야할 때가 있다. 커널을 바꾸고 싶을 때, 커널 빌드 후 아래 명령어를 쳐주면 해당 커널 버전이 커널 이미지 리스트에 추가된다. make install 하지만 매번 부팅시마다 저런 메뉴 화면을 통해서 커널 버전을 선택해야되고 가끔은 키보드가 안 먹힐 때가 있어서 디폴트로 부팅되는 커널을 바꿔보기로 했다. 1. 현재 커널 버전 이름(?) 알아내기 grep submenu /boot/grub/grub.cfg 결과 submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-45ed2e25-a75a-4515-b126-6574273825ce' { 여기서 ''로 묶여져있는 gnulinux-a..

2023.05.01 게시됨

가독성 UP vscode 변수, 전역변수별 색깔 변경하기 포스팅 썸네일 이미지

TOOLS & Error

가독성 UP vscode 변수, 전역변수별 색깔 변경하기

현재 8000줄 가량 되는 오픈소스코드를 분석하고 있다. 분석하다보니 함수나 변수들을 볼 때마다 전역변수인지, 어디에 정의되어 있는지 어디에서 쓰이는지 알아야 됐고 다시 한번 툴 사용법의 중요성을 알았다. 요약 : vscode에서 아래와 같이 전역변수, 지역변수, 함수 파라미터, 함수 등 각각 색깔을 다르게 보여주어 가독성을 높일 수 있다. 방법: ( Ctrl + , ) 요기 괄호로 묶여져 있는 키를 동시에 같이 누른다. 아래와 같은 창이 뜨고 검색에 "color customization"을 치면 Token Color Customizations에 있는 Edit in settings.json을 누르면 색깔을 지정할 수 있다. 현재 쓰고 있는 settings.json은 아래와 같다. json 파일에서 아래 ..

2022.07.03 게시됨

[ 시스템 프로그래밍 ] fork()와 execve()의 차이를 알아보자 포스팅 썸네일 이미지

프로그래밍

[ 시스템 프로그래밍 ] fork()와 execve()의 차이를 알아보자

1. fork()란 무엇인가 - 새로운 프로세스를 생성한 뒤에 현재 프로세스의 메모리 상태를 새로운 프로세스에 그대로 복사하는 것이다. - 부모 프로세스의 메모리 상태에서 몇 가지를 제외하고 그대로 복사하는데 이 중에 부모 프로세스와 다른 것은 pid이다. - 아래 결과를 보면 부모 프로세스와 자식프로세스는 독립된 메모리 주소를 사용한다. ( Code 영역은 공유함 ) - 아래 출력 결과를 보면 자식 프로세스에서 printf를 찍어도 stdout으로 출력된다. 즉, 부모 프로세스의 파일 디스크럽터를 자식프로세스에서 복사한다. - fork로 만들어진 자식 프로세스 부모 프로세스 사이의 통신은 IPC통신을 한다. 대표적으로는 PIPE통신이 있다. - return값은 2개이고, 0과 프로세스 id이다. 0은 ..

2022.04.14 게시됨

[docker] pwnable docker환경 세팅하기 포스팅 썸네일 이미지

TOOLS & Error

[docker] pwnable docker환경 세팅하기

도커환경에서 리눅스 버전 세팅하기 매 번 vm으로 바이너리 받고 환경 세팅해주고, 호환성도 맞지 않아 디버깅도 잘 되지 않아 악순환이 번복되고 있었다. 그래서 해결책으로 vm snapshot까지 살 생각했었다. 이것을 대체할 수 있는 것이 도커환경에서 리눅스 OS를 세팅하는 것이다. 즉, vi ,pwndbg, zsh쉘,one_gadget 등등 여러가지 환경을 가진 도커라는 거푸집을 가지고 매번 몇초안에 환경세팅을 찍어내는 것이 도커이다. 도커환경을 세팅하기 위해서 Docker Desktop을 이용했다. goddaehee.tistory.com/251 [Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) [Docker (1)] window10 Docker 설치하기(윈도우 10..

2021.05.04 게시됨