2009-06-09 7 views
1

적대적인 이진 파일에서 str[possibly n]cmp을 찾아야합니다. 문제는 분해에 10 억 개가 있다는 것입니다.메모리에서 문자열의 위치를 ​​찾는 방법 (물리적 오프셋이 있음)?

문자열의 도움이 있기 때문에 알고 있습니다. 나는 'otx'가없는 바이너리를 분해하고있다. (문자열을 넣는 역 어셈블러)

gdb를 사용할 수 있도록 일단 프로그램이로드되면이 문자열의 메모리 오프셋을 찾는 방법을 알아야한다. 당신이 말할 수있는 경우 (PS가 올바른지 ?? :))

또는 - : 당신이 나에게 알고리즘을 줄 수있는 경우 등

(즉, 효과 또는 뭔가 phys off = virtual off * segment adress + segment offset 나는 다른 방법을 기억하는 데 사용) 이게 어떻게 이디 프로에서 무한히 쉽게, 나는 매우 감사 할 것입니다

감사합니다 :)

답변

3

IDA에서 파일을로드하고 이진 검색을 수행 한 다음 (Alt + B를 누름) 주소를 확인하십시오. x를 눌러 문자열에 대한 상호 참조를 확인할 수도 있습니다.

+0

감사합니다. (나는 ida pro에 익숙해 져야한다. :)) 또한 ida 파일을 편집하여 새 명령어를 패치하는 방법을 알고 싶습니까? 감사합니다. – lol