전역변수 썸네일형 리스트형 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; } 더보기 1. 전역변수 출력 어셈블리어 코드 본 포스팅의 내용은 해킹 맛보기 책의 내용중 3장 리버스 엔지니어링 P133~P281 까지 실습 내용을 따라하기 해보았습니다. 책의 내용중 일부 발췌 (수정) 하였습니다. 문제가 될 때는 비공개 하도록 하겠습니다. include int gv; int main() { gv = 2; printf("%x ", gv); return 0; } 전역변수 출력 어셈블리어 코드 MOV DWORD PTR DS:[gv],2 [발췌-수정] 전역 변수는 모든 함수에서 사용할 수 있다. 어셈블리어를 보면 전역 변수는 지역 변수와 다르게 데이터 세그먼트 위치에 저장한다. 올리디버거에서 MOV DWORD PTR DS:[gv],2 명령어가 표시된다. 전역 변수 gv의 정확한 메모리 위치(013113EE)가 표시된다. 이와 같이 전역.. 더보기 이전 1 다음