전체 글

1. serial통신 터미널 연결1 - usb연결 수 /dev에서 찾기2 - screen명령어를 통해 터미널로 접속 (1) usb연결 후 /dev에서 찾기 /dev 폴더에 "ls /dev/*usb*"를 했을 때 처음에는 아무것도 표시가 안된다.하지만 usb를 연결한 이후에 다시 확인하면 (사진1)과 같이 새로운 표시된다.- cu : 시리얼 통신에 사용되는 컨트롤러를 의미- tty : 시리얼 장치의 터미널을 의미  (2) screen명령어를 통해 터미널로 접속"screen [tty.로 시작하는 파일명] [시리얼 통신 속도]"를 통해 터미널에 접속할 수 있다.screen /dev/tty.usbserial-0001 115200 [시리얼 통신 속도]- 데이터가 전송되는 속도를 비트 단위로 나타낸다.- 초당 전송..
·Pwnable/stack
1. Shellcoding란?1-1. 개요 (Shellcode란?)익스플로잇을 위해 제작된 어셈블리 코드 조각이다.어셈블리어와 기계어 코드는 일대일 대응이기 때문에 공격자가 rip를 주입한 shellcode로 옮긴다면 cpu에게 원하는 명령을 하도록 유도할 수 있게 된다. [shellcode작성법을 알아야하는 이유]수행할 대상의 아키텍처와 운영체제 그리고 수행 목적에 따라 어셈블리어는 다르게 작성되어야 한다. 아키텍처별로 자주 사용하는 쉘코드를 공유하는 사이트가 있지만 해당 쉘코드들은 범용적으로 작성되었기 때문에 제대로 작동이 안 될 가능성이 있다. 따라서 타겟 시스템에 맞는 최적의 쉘코드를 상황에 따라서 언제든지 작성할 수 있어야한다. => 쉘코드 모음 사이트 : http://shell-storm.or..
1. 알고리즘1-1. 알고리즘이란?입력 정수에서 출력 정수를 구하기 위한 일반화된 작업을 정리하여 의사코드나 소스코드의 형태로 구현한 것이다.문제를 해결하는 방법 그 자체를 말한다. (알고리즘 충족 조건)ex) 요리 레시피타당성 : 구현할 수 있고 실용적이어야 한다. => 알고리즘의 성능 담당정밀성 : 변하지 않는 명확한 작업 단계를 가져야 한다.유일성 : 각 단계마다 명확한 다음 단계를 가져야 한다.유한성 : 특정 수의 작업 이후에 정지해야한다.입력 : 정의된 입력을 받아들일 수 있어야 한다.출력 : 답으로 출력을 내보낼 수 있어야 한다.일반성 : 정의된 입력들에 일반적으로 적용할 수 있어야 한다. 1-2. 알고리즘 성능 기준시간 기준 - 알고리즘이 적은 시간이 사용될 수록 빠르게 동작했다는 것을 의미..
Greedun (lr-x-dl)
Greedun's archieve