본문 바로가기

바이러스개발을위한어셈블리어

칼리리눅스 어셈블리어 코드 작성

하하하 정말 오랜만에 게시하는 어셈블리어 게시물인것 같다.

요즘 어셈블리어 공부의 중요성을 뼈저리게 느끼고 있다. 그래서 다시 작성을 시작해보려한다!하하하 정말 웃긴걸?

 

*지난 게시물과 다르게 변동된 사항이 있다!

역어셈블러: SASM->NASM

 

야호! 오늘은 개발환경이 바뀌고 처음으로 코드를 작성한 날이다.

하하하 먼저, 칼리리눅스에 nasm을 깔아주자

 

(만약 자신이 이미 슈퍼유저 권한이 있다면 굳이 sudo를 붙일 필요는 없다.)

*sudo: super user do

 

그리고 편집기를 이용하여 확장자가 .s인 어셈블리어 파일을 만들어주도록 하자.

오늘은 사용방법을 알려주는거니까 예시로 helloworld.s를 간단히 작성하고 만들어보도록 하겠다.

이렇게 작성을 하고 저장후 나가면 helloworld를 출력하는 구문이 작성된 파일이 만들어 진것이다!

이걸 실행시키려 했는데 안된다. 잘 안되는것도 아니라 아예 안된다. 진짜 안된다. 충격...

뭐지 이거랑 비슷한거 같기도...?

이 짤이 생각나는건 기분탓인가..?

 

다시 본론으로 돌아가보도록 하자.

어셈블리어를 출력하기 위해서는 코드파일을 실행파일로 바꿔주어야 한다.

 

*이 코드는 리눅스가 64bit일때 사용하는 코드이다. 만약 32bit면 에러가 날것이다.

nasm -f elf64 -o helloworld.o helloworld.s

먼저 오브젝트 파일을 생성하고

 

ld -o helloworld helloworld.o

오브젝트 파일을 실행파일로 변경해주면

 

 

이렇게 실행파일이 만들어져 있는것을 볼 수 있는데

파일을 실행시켜보면 

이렇게 잘 실행되는것을 볼 수 있다.

 

야호! 다음엔 그간 다지지 못했던 기본을 좀 다져보려 한다. 

안녕!!

'바이러스개발을위한어셈블리어' 카테고리의 다른 글

어셈블리어로 사칙연산하기  (0) 2022.07.24
어셈블리어 문법  (0) 2022.04.18
어셈블리어 기본  (0) 2021.12.26