2011-01-09 2 views
1


"Overflow"라는 DLL에 "Overflow"라는 함수가 있지만 PDB가없는 것으로 가정합니다.
"GetProcAddress"로 시작하는 주소를 얻을 수 있다는 것을 알고 있지만 어떻게 든 끝나거나 크기가있는 주소를 얻을 수 있습니까?
(Windows의 C++)PDB가없는 기호 함수

내가이 질문을하는 이유는 내가 주소를 갖고 있으며 내 특정 기능 내에 있는지 알고 싶기 때문입니다. < = EndAddress

감사합니다 :)

답변

0

그래서 내가 가정 (
StartAddress < = 내 주소 : 그래서 나는 (내가 틀렸다면 저를 수정하시기 바랍니다) 주소가있는 경우 제 기능을하고 있다고 가정 내가 틀렸다면 나를 바로 잡아주세요)

나는 "교정 중"입니다. 문제는 함수가 자체 함수 호출을 가지고 있지 않을 가능성이 매우 낮다는 것입니다. 예를 들어 위치는 함수에 의해 호출 된 printf 호출 내부에있을 수 있지만 명령 포인터는 함수 자체에 포함되지 않습니다.

함수에 반환 값이 하나 뿐인 것으로 가정하고 반환 명령을 찾아 최종 주소를 찾는 x86 명령어 용 파서를 구현할 수 있습니다. 단 하나의 수익이 있다는 것을 모를 경우에는 PDB가 필요합니다.

+0

괜찮습니다. 또한 스택을 걷기 때문에 여러 주소를 살펴볼 수 있습니다. – Idov