본문 바로가기

High Level Technique/Shellcoding

Hello World

Hello World


프로그래밍을 처음 시작 하시는 분들은 항상 먼저 출력해보는 것이 바로 Hello World 이지 않을까 싶습니다.


비교를 위해서 C언어로 작성된 Hello world와 ASM으로 작성된 Hello World를 보도록 하겠습니다.




아주 간단한 Hello World 출력 소스코드 입니다. 실행 시 Hello World\n가 출력됩니다.


이 소스코드를 ASM 코드로 바꾼다면 어떻게 될까요?





소스코드가 7줄에서 무려 18줄로 늘어났습니다. 당연한 결과입니다. 고급언어인 C언어를 저급언어인 ASM로 바꿨기 때문입니다.


추가적으로 C언어의 소스코드 파일 확장자는 *.c 이며, ASM 소스코드 파일 확장자는 *.nasm 입니다.









컴파일 및 실행방법


HelloWorld.c 파일은 우분투에서 다음과 같은 방법으로 컴파일과 실행을 합니다.





HelloWorld.nasm 파일은 다음과 같은 방법으로 컴파일과 실행을 합니다.



명령어가 한 줄 더 추가된걸 확인 할 수 있습니다.




'High Level Technique > Shellcoding' 카테고리의 다른 글

Section  (0) 2016.03.11
출력과 입력  (0) 2016.03.11
System Call  (0) 2016.03.11
IA-32, IA-64 Register  (0) 2016.03.11
Assembly Language  (0) 2016.03.11