본문 바로가기
해킹/시스템해킹

시스템 해킹 echo 구현

by 맑은청이 2020. 8. 3.
728x90
반응형

오늘은 어셈블리어 코딩으로 echo 구현해봅시다. 

nano echo.s 

를 열어봅시다. 

 

함수 _start를 실행시켜줍니다.

xor 를 동일한 변수로 하면 반드시 0이 나옵니다. 

첫번째 줄이 지나면 rax 에는 0이 들어있고 

두번째 줄 부터 세번째 줄 까지는 레지스터를 다 초기화 시킨겁니다.

rsp 에서 64 를 sub 해주는건 스택이 64에 공간을 마련한 겁니다. 

rdi = 0 

rsi = rsp 

rdx = 63 

 

시스템 콜을 하는데 rdi 에 0 이 들어있고 rsi 가 포인터니깐 스택의 위치를 가리키고 rdx 에 들어 있는 수 만큼 read 한다. 

 

 

rax 에 1 rdi 1 rsi 에 스택 포인터 위치 rdx 에 63 하면 read 했던 걸을 화면에 63 길이 만큼 출력해주는 syscall 을 부르는 겁니다. 

rax 에 60을 넣어서 프로세서를 종료시킵니다.

다음과 같이 실행시킵니다. 

 

그럼 다음과 같이 진행이 됩니다.

728x90
반응형