본문 바로가기

Linux7

[Linux] fork, exec 함수의 차이점을 알아보자 리눅스에는 execl, execlp, execle, execv, execvp, execvpe 처럼 exec 계열의 함수가 있다. 인자 전달하는거 따라서 이름이 조금씩 변한다. https://man7.org/linux/man-pages/man3/exec.3.html 자세한건 찾아보도록하자 현재 프로세스 이미지를 인자로 준 바이너리 이미지로 대체한다. 포너블 문제를 풀 때, gdb 를 붙여서 디버깅 하는데, system("/bin/sh") 이런걸 실행했을 때, gdb 에서 더이상 디버깅이 안되는 경우가 있는데, system 함수 내부에서 execve 를 실행하므로 현재프로세스가 /bin/sh 로 대체되기 때문이다. fork 함수는 이와 다르게, 새 프로세스를 복제해서 생성한다. 분리된 메모리공간을 새로 할당.. 2021. 10. 3.
[Linux] ssh 키 생성, 서버에 등록, 명령어 단축어 (alias) 설정 클라우드 서버를 생성하고, 내 컴퓨터에서 간편하게 짧은 명령어로 비밀번호 없이 접속하는 방법을 소개하겠습니다. ssh 키 생성, 등록 ssh-keygen -t rsa -b 4096 로컬에서 이렇게 명령어 입력하시고, 위치 바꿀 필요 없이 엔터 3번 눌러주시면, 공개키, 비밀키가 생성됩니다. 기본적으로 홈디렉터리에 숨긴폴더인 .ssh 에 id_rsa (비밀키), id_rsa.pub (공개키) 가 생성이 됩니다. 공개키를 cat 등으로 출력한 다음, 복사해두고 클라우드서버에 접속합시다. cd ~ ls -al 없다면 mkdir ~/.ssh, chmod ~/.ssh 700 touch ~/.ssh/authorized_keys chmod 644 ~/.ssh/authorized_keys 접속한 계정의 홈 디렉토리로 .. 2021. 7. 13.
[Linux] 앱플레이어랑 WSL 같이쓰기 EBSI 인강 배속해서 들을려고 미뮤 앱플레이어 를 깔고 실행하려는데, HyperV 어쩌구 하면서 실행이 안되었습니다. 버튼을 누르고 재시작했더니 되긴 되는데, 이번엔 WSL 이 안되더군요. 아마도 HyperV 어쩌구를 키냐 끄냐에 따라 둘 중 하나를 사용할 수 있는 것같습니다. Windows 기능 켜기/끄기 를 검색해 들어가셔서 위 3개를 다음과 같이 체크해줍시다. 재시작해야 적용되는거지만, 아직 재시작 하지 맙시다. bcdedit /set hypervisorlaunchtype off bcdedit /set hypervisorlaunchtype auto 관리자권한으로 실행해야하는 위 두가지 명령어가 있습니다. auto 로 놓으면, WSL 이 정상적으로 작동하고, off 로 놓으면, 앱플레이어 가 정상적.. 2020. 12. 1.
[Linux] CTF 풀이를 위한 리눅스 설정 (ubuntu 18) 1. 미러서버 변경 apt 으로 패키지를 다운받을때 쓰이는 서버입니다. 속도증가를 위해 카카오 미러서버로 바꿔줍시다. sudo vi /etc/apt/sources.list 들어가서 :%s/archive.ubuntu.com/mirror.kakao.com 명령모드로 입력한 뒤, :wq 입력해서 저장하고 나오기. archive.ubuntu.com sudo apt-get install -y git git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh cd ~ mv pwndbg ~/pwndbg-src echo "source ~/pwndbg-src/gdbinit.py" > ~/.gdbinit_pwndbg peda 설치 더보기 #git 이 없으면 -> su.. 2020. 10. 8.