티스토리 뷰
write, strlen, exit 구현해봄
당연히 처음 해보는 어셈블리 코딩이라서 cd80님 블로그 참고
http://cd80.tistory.com/27
cd80님은 printString으로 만드셧는데 나는 그냥 진짜 write함수처럼 만듦.
write는 아래와 같이 인자지정을 해주면 됨
int write(int fd, char *buf, int cnt);
int write(ebx, ecx, edx);
그리고 연습차 exit도 만들었음 exit는 인자 지정해주고(인자도 한개라서)
eax를 system call로 지정만 해주면 돼서 굉장히 쉬웠음
void exit(int status)
strlen에서 loop처럼 .을 붙이면 라벨을 지정해 줘서 jmp가능
원래 리버싱도 잘 안하고 어셈블리 잘 몰라서 익스플로잇할때도 좀 힘든감이 있었는데 (진짜 필요한것만 알아두고..)
직접 프로그래밍 해보면서 익히면 나중에 진짜 가젯을 만들면서 ROP할 수 도 있을거 같다.
'Programming > Assembly' 카테고리의 다른 글
[Assembly 2] strncpy (0) | 2015.10.20 |
---|
댓글