[NASM Assembly x64] 입력 받고 그대로 출력하기


[NASM Assembly x64] 입력 받고 그대로 출력하기

실습 장소 환경 Nasm v2.15.05 x64 on Linux Windows 11 WSL Ubuntu 22.04 목표: 어셈블리어로 사용자로부터 데이터를 입력받고 출력해보기 이번에는 내장 커널 함수를 호출하여 사용자로부터 데이터를 입력받고 이를 그대로 출력해보겠습니다. C언어 코드로 먼저 해보고 싶은 것을 나타내면 4바이트 형태의 어떤 변수를 선언하고, 거기에 입력을 받고 그대로 출력하는 예시입니다. 실제로 아래와 같은 C언어 코드는 오버플로우에 대한 대책이 되어 있지 않으므로 보안적으로 위험하지만 여기서는 커널 함수를 호출하여 사용해보는 어셈블리어 실습이 목표이므로 상관하지 않겠습니다 #include <stdio.h> int main() { char x[4]; gets(x); puts(x); return 0; } (실제로 위 코드를 그대로 컴파일을 하려고 하면 대부분의 경우에는 입력을 받기 위해 사용한 gets는 deprecated된 함수이므로 사용하지 않는게 좋네 등 어쩌구저쩌...


#0x0 #커널 #어셈블리어 #쉬운설명 #리버싱 #리눅스 #x64 #write #sys_exit #read #NASM #exit #clang #c #Assembly #0x3C #0x1 #프로그래밍

원문링크 : [NASM Assembly x64] 입력 받고 그대로 출력하기