오랜만에 프로그램할려니 뭐가 어디있는지, 어떻게 찾아야하는 지도 모르겠네요. 고수님들의 양해와 협조 부탁합니다.
제목에서 처럼 ethreal를 사용하여 받은 dump 파일을 분석하기 위하여 여러 방법을 사용해 보았으나, 능력의 한계가 있네요.
최종적으로 하고 싶은 것은 dump한 파일을 4bit씩 짤라서 16진수 값으로 나타내고 싶은거고, 지금 제가 막히는 부분은 파일의 내용을 한 바이트씩 어떻게 읽는냐는 것입니다.
아시겠지만, 이 dump파일은 온갖 잡다한 특수문자들이 다 있습니다.
readln으로 읽었더니 파일 중에 특수 문자 때문인지 앞의 49바이트 정도 밖에 읽지 못하고, 파일의 크기도 49로 나타납니다.
다른 방법으로 전체 파일을 읽을 수 있는 방법이 있다면, 초보자를 위하여 좀 자세히 알려주시거나, 참조할 자료가 있는 곳을 말씀해 주시면 대단히 감사하겠습니다.
질문이 황당할 지라도 이해하시는 부분만큼 답변 부탁드립니다.
아! 참조로 저는 옛날에 사용하던 DelPhi 4 를 사용하고 있습니다. 구닥다리라 놀리지마시고, 이 버전에서 수행할 수 있는 내용을 알려주시면 감사하겠습니다.
그럼, 행복한 나날 되십시오.
파일을 여실때 TextFile형으로 여시지 마시고 Typed File나 Untyped File형으로 여세요. 그럼 바이너리 데이터들도 쉽게 사용하실 수 있습니다. 입출력은 BlockRead, BlockWrite함수를 이용하시구요...
Ex) Typed File
var
F: file of Byte;
Buf: array[0..버퍼크기-1] of Byte;
Index: Integer;
begin
AssignFile(F, 'c:\dump.txt');
Reset(F);
repeat
BlockRead(F, Buf, SizeOf(Buf), NumRead);
for Index := 0 to NumRead - 1 do
ShowMessage( IntToHex(Buf[Index], 2) );
until (NumRead = 0);
CloseFile(F);
end;
Ex) Untyped File
begin
AssignFile(F, 'c:\dump.txt');
Reset(F, 1);
........
end;
^^ 항상 즐코하세요...