실습 장소 환경 Nasm v2.15.05 x64 on Linux Windows 11 WSL Ubuntu 22.04 목표: 어셈블리어로 사용자로부터 데이터를 입력받고 출력해보기 이번에는 내장 커널 함수를 호출하여 사용자로부터 데이터를 입력받고 이를 그대로 출력해보겠습니다. C언어 코드로 먼저 해보고 싶은 것을 나타내면 4바이트 형태의 어떤 변수를 선언하고, 거기에 입력을 받고 그대로 출력하는 예시입니다.
실제로 아래와 같은 C언어 코드는 오버플로우에 대한 대책이 되어 있지 않으므로 보안적으로 위험하지만 여기서는 커널 함수를 호출하여 사용해보는 어셈블리어 실습이 목표이므로 상관하지 않겠습니다 #include
#
0x0
#
커널
#
어셈블리어
#
쉬운설명
#
리버싱
#
리눅스
#
x64
#
write
#
sys_exit
#
read
#
NASM
#
exit
#
clang
#
c
#
Assembly
#
0x3C
#
0x1
#
프로그래밍