suminworld

분류 전체보기 38

Mac M4(ARM64)에서 x86_64 Pwnable 환경 세팅: Docker🐳

공모전 하면서 docker로 팀원들과 삽질했는데 이번에 ctf때문에 Docker Desktop 설치하면서 환경 설정 정리해보았습니다.3시간 삽질 후 결론: Mac에서 pwnable -> Docker + context 고정 + 아마 수정할 부분이 있을것 같은데 일단 기록용으로 올려둡니다!TL;DRMac M4(ARM64)에서 x86_64 CTF 바이너리 돌리기:# 1회 설정docker context use desktop-linux# 실행 시cd ~/Desktop/ctf/문제폴더docker run --rm -it --platform linux/amd64 \ -v "$PWD":/work -w /work \ pwn-ubuntu:24.04 bash --platform linux/amd64-v "$PWD":/wo..

system 2026.01.01

일어서기

https://fficial.naver.com/contentDetail/142?dtm_source=naver_pclogin&dtm_medium=mktatrb_etc&dtm_campaign=2510-fficial-007&pcode=naver_pclogin&campaign_id=2510-fficial-007&channel_id=naver_pclogin NAVERfficial - 완벽을 추구하는 시대, 불완전함은 어떤 힘이 있을까?2025 ‘물음’ 세미나, 황석희의 질문fficial.naver.com 화이팅 ʕづ•ᴥ•ʔづ좋은 기억으로 남겨두기더 좋은 사람이 되기좋은 것만 남았으면앞으로도 좋은 일만 가득했으면다음에 또 보자나중에 또 봐꼭https://www.youtube.com/watch?v=-VKIqrvVOp..

카테고리 없음 2025.12.21

🛡️리눅스 백신 실습2 - ClamAV 실시간 보호 구현 (inotify + bash 자동화)

ClamAV 실시간 보호 구현 - inotify로 악성코드 실시간 탐지 및 격리 - 실습 이미지 첨부 예정이전 포스팅(https://suminworld.tistory.com/19)에서 ClamAV 기본 설치와 수동 검사를 다뤘습니다. 하지만 수동 검사는 이미 감염된 후에 발견한다는 치명적인 한계가 있습니다. 그래서 오늘은 파일이 생성되는 순간 자동으로 검사하는 실시간 보호 시스템을 구축해보겠습니다“φʕ•ᴥ•oʔ GitHub 레포지토리: https://github.com/sumin-world/suminworld-system-lab실습 목표Linux의 inotify API를 이해하고 활용하기파일 시스템 변경을 실시간으로 감지하는 방법 학습bash 스크립트로 ClamAV 자동 검사 시스템 구축악성코드 자동 격..

system 2025.11.26

Google Dev Challenge: C 언어 타입 변환의 함정

Google for Developers에서 제시한 C 언어 Dev Challenge 문제입니다. "코드는 단순하지만 동작은 그렇지 않다"는 주제로, signed와 unsigned int 비교 시 발생하는 예상치 못한 동작을 다룹니다.문제 소개Google for Developers의 Dev Challenge는 일상적인 버그의 원인을 탐구하는 시리즈입니다. 이번 문제는 얼핏 보기에 -1이 명백히 1보다 작아 보이지만, C 언어의 타입 변환 규칙이 개입하면서 예상과 다른 결과가 나오는 상황을 보여줍니다.코드 분석#include int main() { int a = -1; unsigned int b = 1; if (a C 표준의 타입 변환 규칙C 언어 표준에서는 usual arithmetic c..

concept 2025.11.25

[OS] 뮤텍스 + Block() 방식의 문제점 (Producer-Consumer Problem)

2025-2 운영체제론 강의안 Synchronization II : Semaphore and Condition Variable 일부 정리한 내용입니다 ʕ/·ᴥ·ʔ/1. 문제 상황 개요Producer-Consumer 문제는 생산자 스레드와 소비자 스레드가 하나의 공유 버퍼를 사용하는 상황을 말한다.뮤텍스(lock)는 공유 자원에 대한 상호 배제는 보장하지만, 버퍼가 비어 있거나 꽉 찬 상황에서의 "기다림"이나 "순서 제어"는 제공하지 못한다.이를 해결하기 위해 Block()/Unblock()으로 기다림을 구현하려 시도한 버전이 바로 6페이지의 코드이다.2. 사용된 코드 구조# insert (생산자):if (count == N) Block();buf[++rear % N] = item;Acquire(&l..

concept 2025.11.17