17. hello world 문사열 수정하기 17. hello world 문사열 수정하기 본 포스팅의 내용은 해킹 맛보기 책의 내용중 3장 리버스 엔지니어링 P133~P281 까지 실습 내용을 따라하기 해보았습니다. 책의 내용중 일부 발췌 (수정) 하였습니다. 문제가 될 때는 비공개 하도록 하겠습니다. helloworld01.exe 저장하고 올리디버거에서 파일을 불러온후 Gtrl + G 키를 눌러 main 검색하고 hello word printf 문자열 함수를 찾은후 00FC13F0 주소를 클릭후 덤프 영역 ASCII 값의 문자 hello RCE 부분을 마우스 드레그 후, 오른쪽 버튼 눌러서 printf address 00FC5858 값을 넣어 주고 Binary → Edit 클릭하여 RCE 부분을 world!! 로 수정하였다. 끝으로 F9 번을 눌.. 더보기 16. OliyDbg v1.10 영문판 windows7 64bit 호환 문제점 16. OliyDbg v1.10 영문판 windows7 64bit 호환 문제점 본 포스팅의 내용은 해킹 맛보기 책의 내용중 3장 리버스 엔지니어링 P133~P281 까지 실습 내용을 따라하기 해보았습니다. 책의 내용중 일부 발췌 (수정) 하였습니다. 문제가 될 때는 비공개 하도록 하겠습니다. OliyDbg v1.10 영문판 설치후 windowns7 64bit 에서 호환상의 이유로 실행 에러 뜰때 Shift /F7/F8/F9 hello word.exe 파일의 문자열을 수정하기 위해서 2가지 방법으로 해결할 수 있다. #1. 64bit OS + OllyDbg 2.0 OllyDbg 2.0 버전에서는 64bit에서 정상 실행 되지 않는 버그가 수정되었습니다. 다운로드 링크 : http://www.ollydbg... 더보기 15. 포인터를 사용하지 않는 C 소스 15. 포인터를 사용하지 않는 C 소스 본 포스팅의 내용은 해킹 맛보기 책의 내용중 3장 리버스 엔지니어링 P133~P281 까지 실습 내용을 따라하기 해보았습니다. 책의 내용중 일부 발췌 (수정) 하였습니다. 문제가 될 때는 비공개 하도록 하겠습니다. include int inc(int a) { a = a+1; return a; } int main() { int s, ret; s = 2; ret =inc(s); printf("%d, %d ", s, ret); return 0; } 포인터를 사용하지 않는 함수의 인자 전달 포인터를 사용하지 않는 함수의 어셈블리어 더보기 14. 지역변수, 전역변수, 포인터 14. 지역변수, 전역변수, 포인터 본 포스팅의 내용은 해킹 맛보기 책의 내용중 3장 리버스 엔지니어링 P133~P281 까지 실습 내용을 따라하기 해보았습니다. 책의 내용중 일부 발췌 (수정) 하였습니다. 문제가 될 때는 비공개 하도록 하겠습니다. #include #include int main() { int lv; int *gv; lv = 1; gv = (int *)malloc(0x4); *gv = 2; printf("lv is &d ", lv); printf("gv is &d ", *gv); return 0; } 더보기 13. 함수 프롤로그,에필로그 13. 함수 프롤로그,에필로그 본 포스팅의 내용은 해킹 맛보기 책의 내용중 3장 리버스 엔지니어링 P133~P281 까지 실습 내용을 따라하기 해보았습니다. 책의 내용중 일부 발췌 (수정) 하였습니다. 문제가 될 때는 비공개 하도록 하겠습니다. #include int main() { printf("prologue & epilogue "); return 0; } [발췌-수정] 함수프로그에서 PUSH EBP 후 스텍 구조 스택 구조가 함수 프롤로그와 에필로그에 따라 어떻게 변한는지 알아보자. main() 함수의 프롤로그 PUSH EBP를 실행하면 스택 구조는 아래와 같다. Low Address main() 함수 이전 EBP 값 더보기 이전 1 ··· 5 6 7 8 9 10 11 12 다음