2014-03-02 2 views
-1

에서 덤프 될 때 페이로드가 저장된이 파일의 섹션에서 읽으려고합니다.파일의 섹션에서 읽는 방법?

내가하려는 것은 페이로드가 어디에서 읽었는지 그리고 모두가 0's 일 경우 No으로 레이블을 변경하십시오.

나는 아마도 BinaryReader을 사용해야한다고 생각했지만, 나는 그다지 많은 경험이 없다. 페이로드는 0x32500에서 시작하여 0x3256F에서 끝납니다.

C#에 필요합니다.

답변

0

Seek 방법을 통해 읽을 때 스트림을 빨리 감기 할 수 있습니다. 그런 다음 BinaryReaderReadBytes 메서드를 사용하여 해당 오프셋에서 바이트를 읽습니다.

using (var br = new BinaryReader(stream)) { 
    br.BaseStream.Seek(0x32500, SeekOrigin.Begin); 
    var bytes = br.ReadBytes(0x3256F - 0x32500); 

    if (bytes.All(x => x == 0)) { 
     label.Text = "No"; 
    } 
} 
관련 문제