首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-02-03 
拦截的封包buff应该怎么显示出来?function MySend(s: TSocket var Buf len, flags: Integer): Integer

拦截的封包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; 

热点排行