Skip to content

Instantly share code, notes, and snippets.

View pgmrDohan's full-sized avatar

Dohan pgmrDohan

View GitHub Profile
@pgmrDohan
pgmrDohan / LSB.py
Created September 6, 2025 08:32
LSB-Audio-Steganography
import wave
import struct
import utils.logger as logger
logger = logger.setup(__name__)
def encode(inputFile, outputFile, secret):
try:
logger.info("Encoding starts...")
audio = wave.open(inputFile, mode="rb")
@pgmrDohan
pgmrDohan / pdf-compress.sh
Created September 8, 2025 02:17
using '$ compress.sh --file ./main.pdf'
#!/bin/bash
# Default values
FILE=""
QUALITY="/screen"
# Parse arguments
while [[ "$#" -gt 0 ]]; do
case $1 in
--file) FILE="$2"; shift ;;
@pgmrDohan
pgmrDohan / app.py
Last active September 9, 2025 05:53
TRNG API Using Arduino Uno & FastAPI on Raspberry Pi
import asyncio
import base64
import logging
import os
import signal
import threading
import time
from typing import AsyncGenerator, Optional
import serial
@pgmrDohan
pgmrDohan / x86-64 아키텍쳐 레지스터 정보 정리.md
Last active March 26, 2026 00:55
[KOR] x86-64 Architectures Registers

바라보는 관점에 따라 x86-64의 레지스터 개수에 대해 말하는 바가 매번 달라져, Intel의 공식 문서인 Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4에 설명되어 있는 64비트 모드(64-bit mode)에서 볼 수 있는 레지스터를 번역하여 정리하여 봄. 5329p의 전체 문서에서 "register" 검색 결과로 뜨는 대부분의 레지스터에 관해 정리하였음.

범용 레지스터 General Purpose Registers (Vol.1 p.3-13)

이름 용도
RAX 산술 연산 시, 피연산자와 결과의 누산기로 사용
RBX 접근할 데이터가 위치한 세그먼트 상의 주소를 가르킴 (Offset; 8086 Real Mode에서의 메모리 관리 방식과 연관 Segment(기본적으로 DS, Override 가능) + Offset(BX))
RCX 반복 횟수를 저장함 (REP 명령 시 CX가 0이 될 떄 까지 반복)
RDX I/O 포트 번호를 저장함
RDI 세그먼트 상의 데이터 주소를 가르키며 특히 String 명령에서의 목적지 주소와 관계됨 (Offset; 8086 Real Mode에서의 메모리 관리 방식과 연관 Segment(ES, Override 불가능) + Offset(DI)))