전체 글 178

복호화(decryption) - 암호화(encryption) / 인코딩(encoding) - 디코딩(decoding) / 난독화(Obfuscation)와 난독화 해제

1. 복호화(decryption) - 암호화(encryption) 암호학에서 나온개념. 암호화 한다는 것은 본래의 정보 즉, 평문(plain data)를 숨기기 위한 목적으로 특정 문장(암호문)을 보아도 평문(plain data)를 추론할 수 없게 하는 것이 목적. 반대로 암호문을 평문으로 바꾸는 행위를 복호화 라고 함 2. 인코딩(encoding) - 디코딩(decoding) 네트워크 및 통신에서 나온개념. 인코딩 한다는 것은 특정 포맷으로 데이터를 변환하는 작업. 이때 인코딩 알고리즘과 디코딩 알고리즘은 공공연하게 공개되어있기 때문에 평문(plain data)를 숨기는 개념과는 거리가 멈. 단순히 통신시의 데이터 손실을 최소화 하거나 통신의 효율성을 위해 데이터를 변조하는 것을 인코딩이라고 하고 통신..

node.js 서버 항상 켜두기 (pm2 사용방법)

PM2는 Node.js 애플리케이션의 프로세스를 관리하고 항상 실행 상태를 유지하는 데 유용한 도구입니다. PM2를 사용하여 서버를 항상 실행 상태로 유지하는 방법은 다음과 같습니다.1. PM2 설치PM2를 설치하려면 Node.js와 npm이 필요합니다. 설치되지 않았다면 먼저 Node.js를 설치하세요. 그런 다음 PM2를 글로벌로 설치합니다.npm install -g pm22. 서버 실행서버 파일이 예를 들어 server.js라고 가정하겠습니다. PM2로 서버를 실행하려면 다음 명령을 사용합니다.pm2 start server.js PM2는 이 명령으로 서버를 백그라운드에서 실행하며, 서버가 다운되거나 종료되면 자동으로 다시 시작합니다.3. 애플리케이션 이름 지정 (선택 사항)서버를 실행할 때 이름을 ..

공부/JUN STUDY 2025.01.17

nc 로 특정 포트 UDP 패킷 계속 받기 (한번만 받고말기 X 계속 받기)

-k 옵션은 netcat 명령어에서 사용되는 옵션으로, 서버가 클라이언트 연결을 종료한 후에도 계속해서 새 클라이언트 연결을 수락하도록 유지하는 기능을 제공합니다.nc -u -l -k 3000 -k 옵션의 동작기본적으로 nc -l로 실행된 netcat은 하나의 연결(또는 패킷)만 처리한 후 종료됩니다.-k 옵션을 추가하면 netcat이 계속 실행되며 새로운 연결이나 데이터를 기다립니다.사용 예시 nc -u -l -k 3000 | tee logfile.log이 명령은 다음과 같은 동작을 합니다:UDP 모드 (-u): UDP 프로토콜로 통신.Listen 모드 (-l): 지정된 포트(3000)에서 대기.Keep-alive 모드 (-k): 한 번의 데이터 수신 후 종료하지 않고 계속 대기.tee와 로그 저장: ..

공부/이모저모 2025.01.07

L* Algorithm(L star Algorithm) 이란? - 개념/예제/이해하기

L* Algorithm(L start Algorithm) 이란?학생 - 선생학생은 선생님에게 두가지 종류의 질문을 질문할 수 있음Membership Query : word w 가 언어 L 에 속하는지 아닌지 선생님은 yes or no를 답함Equivalence Query : DFA H가 L을 허용하는지 아닌지 여부. 허용하면 True 아니면 반례를 리턴함 x ∈ L\\L(H) ∪ L(H)\\L → L(H)는 무슨 뜻?언어 L을 성공적으로 학습하려면 유한한 쿼리 내에서 DFA를 잘 guess 해야함.Language 라 하는 것은예제: 로그인 프로토콜 추론L* 알고리즘을 사용하여 네트워크 프로토콜을 추론하는 예제를 살펴보자.아래는 학습자가 **네트워크 프로토콜의 상태와 동작(==Language)**을 추론하..

공부/JUN STUDY 2024.10.30

fsb 이젠 좀 이해하기 (어떻게 arbitrary write가 되는가?)

fsb의 무시무시한 점은1. 임의주소에2. 원하는 값을쓸 수 있다는 것이다.  임의 주소에 쓸 수 있는 이유는 %187c%11$hhn 덕분이고원하는 값을 쓸 수 있는 이유는 %187c%11$hhn 덕분이다. 여기서 또 레전드인게 임의주소인 이유는 %11$인자 위치에 있는'그 주소에' 값을 쓸 수 있기 때문이다. (&의 개념 -> printf("%s", buf) 처럼. %s는 buf(char *) 를 참조한다.) 따라서 %11$ 위치에 원하는 주소를 입력하고 %(원하는 값)c 이용해서 원하는 값을 만들면 된다.

공부/JUN STUDY 2024.09.27

VMware에서 vagrant up 할때 오류해결 & 실행법

사용한 커맨드와 문제상황vagrant box add junbox jun.boxvagrant init junboxvagrant upvagrant ssh 에러메세지vagrant up Bringing machine 'default' up with 'virtualbox' provider...==> default: Clearing any previously set forwarded ports...==> default: Clearing any previously set network interfaces...==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat==> default: Forwardi..

공부/JUN STUDY 2024.09.26

ROP와 튜링완전성

튜링 완전성(Turing Completeness)이란 컴퓨터 시스템이나 프로그래밍 언어가 **튜링 기계(Turing Machine)**와 동일한 계산 능력을 가지고 있음을 의미합니다. 즉, 튜링 완전성을 갖춘 시스템은 적절한 알고리즘과 메모리 자원이 주어진다면 이론적으로 어떠한 계산 문제도 해결할 수 있다는 것을 뜻합니다. 튜링 완전성의 개념은 **앨런 튜링(Alan Turing)**의 이론적 모델에서 유래한 것으로, 모든 계산 가능한 함수나 프로그램을 처리할 수 있는 가상의 기계를 기반으로 하고 있습니다. 튜링 기계는 무한한 테이프(메모리)와 이를 읽고 쓸 수 있는 헤드를 가지고 있고, 정해진 규칙에 따라 동작하는 모델로, 그 계산 능력의 기준을 설정한 것입니다.예시로 설명하면:프로그래밍 언어: 튜링 ..

공부/JUN STUDY 2024.09.23

대한민국 전문연구요원제도 이해하기 (2024.9월기준)

필자는 현재 -IST 계열 전산학부 대학원에 재학중인석사과정 미필 학생이다. 100% 본인이 이해한 바에 근거하여 작성하였으며 오류가 있을 수 있다. 대한민국 전문연구요원제도 이해하기 2024년 9월기준   대한민국엔  1. 석사전문연구요원 2. 박사전문연구요원 크게 두가지의 전문연구요원제도가 있음 (전부 3급이상 현역기준) 1의 경우 석사학위취득 후 병역지정업체에서 3년간 근무 2의 경우 박사학위취득기간 + 1년 병역지정업체에서 근무 하는 것으로 군복무를 대체함   전문연제도에 관심있는 사람의 가장 중요한 고민은 "내가" "어떻게" 할 수 있는가 일 것이다. 이에 집중해서 써보면 1의 경우 나를 병역지정업체에서 선발을 해주면된다. 쉽게 말해 특정한 회사에 골라서 취업을 하면 되는 것. 따라서 해당 회..

728x90