티스토리 뷰

[Reversing] 전역 변수 지역 변수_어셈블리어


전역 변수는 모든 함수가 접근하고 사용할 수 있다.

지역 변수는 정의된 함수에서만 접근이 가능하다.


어셈블리어로는 어떻게 다르게 보이는지 확인해 본다.

전역 변수는 메모리 주소에 의해 참조되며,

지역 변수는 스택 주소에 의해 참조 된다.

즉, 전역 변수는 아래와 같으며

mov eax, dword_[주소]

mov dword_[주소], eax

mov ecx, dword_[주소]

push ecx

ds : [주소] > 전역변수


지역변수는 다음과 같다.([ebp-4]는 지역 변수 int x 가정)

mov dword ptr [ebp-4], 0

mov eax, [ebp-4]

mov [ebp-4], eax

mov ecx, [ebp-4]

push ecx

ss : [주소] > 지역변수

댓글
«   2020/06   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
Total
145,123
Today
5