2012-07-02 3 views
1

다음 코드 조각이 잘 작동 충돌변수는 내가 몇 가지 코드 사이를 사용할 때

MOV ECX,DWORD PTR DS:[0x41154] //Address 

하지만 난

같은 것을 varable로 내 응용 프로그램에서 해당 주소를 설정하려고하고 수행 할 때
MOV ECX,DWORD PTR DS:[PointerAddress] 

코드가 실행되는 응용 프로그램이 충돌 , PointerAddress 현재

DWORD PointerAddress = 0x41154; 
로 초기화된다

누구나 무엇이 잘못되었는지 알아낼 수 있습니까?

답변

4

여기

[PointerAddress] 

PointerAddress가 아닌 DWORD 값으로 포인터로 취급된다.

PointerAddress 

을 좋아

*(DWORD*)PointerAddress 

하지

처럼

그것은 당신은 이중 역 참조, 따라서 충돌을 수행합니다.

시도

mov eax, PointerAddress 
mov ecx, dword ptr ds:[eax] 
를 사용하여
관련 문제