2014-01-06 3 views
4

WinDbg에서 s 명령을 사용하여 메모리를 검색 할 수 있습니다.알 수없는 값을 포함한 메모리 검색

s 0012ff40 L?2000 48 65 6c 6c 6f 

검색 순서에 알 수없는 바이트를 포함시키는 방법이 있습니까?

s 0012ff40 L?2000 48 65 ?? ?? ?? 6c 6f 

여기서, ??은 임의의 값을 갖는 바이트인가?

아이디어

하는 방법 ((메모리 XOR 48 65 00 00 00 6c 6f) 및 FF FF 00 00 00 FF FF)를 수행하고 00 00 00 00 00 00 00와 비교 어떻습니까? 그러나 나는 WinDbg에서 그렇게하는 법도 모른다.

답변

3

검색 명령이 와일드 카드를 지원하는지 확실하지 않습니다. 그러나 원하는 것을 얻기 위해 .foreach command을 사용할 수 있습니다. 여기

제가

ff ?? 00

.foreach 같은 메모리 패턴을 검색하는 데 사용되는 샘플이다 (히트 {(S) - [1] 00007ffabc520000 B L100의 FF}) {DB L3 충돌; 여기

의의 $ {명중}이 L1 00} 어떻게 작동하는지에 대한 간략한 설명입니다

주 - 전체 문서를 얻을 수 WINDBG에서 디버거 도움말을 엽니 다. Windbg, 도움말 | 목차

{s -[1]b 00007ffabc520000 L100 ff }

사용 - S와 [1] 플래그 만 메모리 어드레스가 출력으로 제공되도록.

s ${hit}+2 L1 00

는 각각의 히트를 들어, 다음 검색 명령에 해당 메모리 주소를 전달합니다. 건너 뛸 바이트 수만큼 메모리를 늘리고 검색 패턴의 마지막 부분을 언급하십시오. 재잘의 시작이 메모리에서

db hit L3

는 전체 길이 덤프. 이것은 우리가 올바른 결과를 얻고 있음을 확인하는 것입니다!

희망이 도움이됩니다. 더 명확한 설명이 필요한 경우이를 제공하려고 할 수 있습니다.

+0

감사에 대한 지침에 주소를 발견, 나는 그것을주지 시도해보십시오.하지만 AA처럼 여러 와일드 카드를 사용하여 메모리를 검색 할 때 너무 복잡해 보입니다. BB ?? CC ?? DD' –

+0

예, 동의합니다. 이것은 완벽한 솔루션보다 해결 방법과 비슷합니다. :) – Player

0

검색 범위가 미미하게 크지 않은 경우 16 진수 덤프를 숭고한 텍스트로 복사/붙여 넣기 할 수 있으며 정규식 모드를 사용하여 찾기 만하면됩니다. 예를 들어 내가 (1200 < X < 2400)

숭고한 텍스트에서
add esp, X 
ret 

내가 정규식 81 c4 .. .. .. 00 c3를 사용하여 검색을 찾고

add esp,600h 
ret 
관련 문제