读书人

拦截的封包buff应该如何显示出来

发布时间: 2012-02-03 22:02:47 作者: rapoo

拦截的封包buff应该怎么显示出来?
function MySend(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;
var
dwSize: cardinal;
tmp:string;
begin
//这儿进行发送的数据处理
// setlength(tmp,len);
// move(buf,tmp[1],len);
// showmessage(temp);

MessageBeep(1000); //简单的响一声
//调用直正的Send函数
WriteProcessMemory(ProcessHandle, AddSend, @OldProc[0], 8, dwSize);
Result := OldSend(S, Buf, len, flags);
JmpCode.Address := @MySend;
WriteProcessMemory(ProcessHandle, AddSend, @JmpCode, 8, dwSize);
end;

我用string显示出来是乱码.我需要显示成16进制.不知道buff应该怎么转换?

[解决办法]
以前 写过个 函数
丢了
大概是这样

Delphi(Pascal) code
function StrToHex(IStr:string):string;var  I,NilCount:integer;begin  I:= 1;  result := '';  while true do begin    if I > length(IStr) then break;    if IStr[I] <> #0 then begin      result := result + inttoHex(Byte(IStr[I]),2);    end else begin//空字符数量      NilCount := 1;      while true do begin        if (I > length(IStr)) or (IStr[I] <> #0) then break;        Inc(I);        Inc(NilCount);      end;      result := result + '['+inttoStr(NilCount)+']';      Continue;    end;    Inc(I);  end;end; 

读书人网 >.NET

热点推荐