전체 글 82

어셈블리의 MOV 명령어

요약어셈블리의 MOV 명령어는 한 개의 레지스터를 인자값으로 가진다.mov [reg] 레지스터의 길이에 따라서 다음과 같이 동작한다.레지스터 길이저장되는 위치저장되는 값8bitaxal*reg16bitdx:axax*reg32bitedx:eaxeax*reg 여기서 dx:ax는 dx와 ax의 결합을, edx:eax는 edx와 eax의 결합을 뜻한다.32bit 레지스터다음 어셈블리 코드의 동작을 살펴본다.mov eax, 0xa001 #1mov ebx, 0xb002 #2mul ebx #3 #2까지 실행한 결과는 다음과 같다. #3을 실행하면 결과값이 eax에 들어간 것을 확인할 수 있다. 또한 edx는 0으로 체워졌다. 이는 해당 값이 32bit로 표현이 가능하기 때문에다. 즉..

우분투 방화벽 ufw 운영하기

우분투와 데비안 계열 리눅스에서 사용할 수 있는 ufw 호스트 방화벽 주요 명령어를 알아본다. 방화벽을 활성화 시킨다.ufw enable 데몬을 재시작한다.ufw reload 방화벽 정책 목록을 확인한다.ufw status numbered 인바운드 트래픽을 기본 차단한다.ufw default deny incoming 아웃바운드 트래픽을 기본 허용한다.ufw default allow outgoing 443 포트로 인바운드 트래픽을 차단한다.ufw deny in 443 443 포트로 아웃바운드 트래픽을 차단한다.ufw deny out 443 방화벽 정책을 삭제한다.ufw status numbered # 번호확인ufw delete [번호] 모든 정책을 삭제한다.ufw reset

데비안에 Wireshark 설치하기

모든 작업은 root로 한다. 1. Wireshark를 다운로드 받는다.apt install -y wireshark 2. 아래 화면에서는 'Yes'를 선택하고 엔터를 누른다. 관리자 이외의 사용자에 Wireshark 권한을 줄지 묻는 것이다.잘못 선택했으면 아래 명령어로 재선택 가능하다.dpkg-reconfigure wireshark-common 3. dumpcap에 실행 권한을 부여한다.chmod +x /usr/bin/dumpcap 4. 프로그램을 사용할 유저를 wireshark 그룹에 추가한다.usermod -aG wireshark [유저명] 5. 해당 유저로 로그인 후 패킷 캡처가 가능함을 확인한다.

리눅스에서 그룹 및 유저 관리하기

개요리눅스에서 그룹과 유저를 관리하는 명령어를 기재한다.데비안 13기준이다.생성그룹을 생성한다.groupadd -g [그룹번호] [그룹명] 유저를 생성한다. 데비안에서는 -m 옵션을 추가해야 홈디렉토리가 생성된다.useradd -m -g [그룹번호] -u [유저번호] [유저명] 유저의 비밀번호를 설정한다.passwd [유저명]수정유저를 그룹에 추가한다.usermod -aG [그룹명] [유저명] 유저를 그룹에서 제외시킨다.gpasswd -d [유저명] [그룹명]삭제유저를 삭제한다. 데비안에서는 -r 옵션을 통해서 홈디렉토리를 삭제한다.userdel -r [유저명]그룹을 삭제한다.groupdel [그룹명]

윈도우에서 Wireshark로 TLS 복호화 하기

PC 설정1. 'Settings > System > About > Advances system settings > Environment Variables'에 진입한다. 2. 환경 변수를 추가한다. 이름은 SSLKEYLOG로 하고 값은 SSL 키 저장 원하는 위치를 임의로 선정하여 정한다. 3. 바탕화면에 다음과 같은 파일이 생성되고 TLS 통신을 할 때마다 내용이 갱신된다.Wireshark 설정1. 'Edit > Preferences > Protocols > TLS > (Pre)-Master-Secret log filename'에 위에서 생성한 파일은 등록한다. 2. 443 이외의 포트로 통신할 경우 'Edit > Preferences > Protocols > HTTP'에 해당 포트를 등록한다. 예시에..

RDP Wrapper로 원격 접속 허용하기

개요Windows Home의 경우 RDP로 원격 접속이 기본적으로 불가능하다. RDP Wrapper를 사용해서 접속하는 법을 정리한다.본문1. Windows 보안 설정에서 호스트 방화벽과 백신 프로그램을 비활성화한다.이러한 상세 설정도 모두 비활성화 해준다.백신 비활성화는 RDP Wrapper를 위해 필요하다.방화벽 비활성화는 RDP로 원격 접속을 하기 위해 필요하다. 3389 포트를 허용해 줄 수도 있으나... 일괄 비활성화하는 게 편하다. 2. https://github.com/SobieskiCodes/RDPWrap 링크의 코드를 zip 파일로 다운받는다. 3. 우측 상단에 다음과 같이 Microsoft Edge 에러가 뜬다면 점 세개 버튼 클릭 후 'Keep' 혹은 '유지'를 누르면 된다. 4. 우..

C 코드를 어셈블리로 컴파일하기

gcc에서 -S 옵션을 쓰면 코드가 어셈블리로 컴파일 된다.gcc -S main.c # 기본 컴파일gcc -S -masm=intel main.c # intel syntaxgcc -S -masm=intel -fverbose-asm main.c # 상세한 주석코드 예시명령어nvim helloworld.c 파일 내용#include int main(void){ printf("hello world\n");}컴파일 예시1명령어gcc -S helloworld.c -o hello1.s 파일 내용 .file "helloworld.c" .text .section .rodata.LC0: .string "hello world" ..

프로그래밍/C 2026.08.01