程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 追捕oicq探測技術

追捕oicq探測技術

編輯:Delphi

追捕是怎樣得到檢測結果的呢?下面是具體實現的程序段:
MyStream := TMemoryStream.Create;
try
NMUDP1.ReadStream(MyStream);
SetLength(TmpStr,NumberBytes);
MyStream.Read(TmpStr[1],NumberBytes);
finally
MyStream.Free;
end;
j := Pos( #$02 +#$02 +#$00 +#$00 , TmpStr);
k := Pos( #$02 +#$03 +#$00 +#$00 , TmpStr);
m := Pos( #$02 +#$03 +#$0a +#$00 , TmpStr);
o := Pos( #$02 +#$03 +#$02 +#$00 , TmpStr);

if (j=1) or (k=1) or (m=1) or (o=1) then begin
j := Pos( #$02 +#$02 +#$00 +#$00 + y, TmpStr);
k := Pos( #$02 +#$03 +#$00 +#$00 + y, TmpStr);
m := Pos( #$02 +#$03 +#$0a +#$00 + y, TmpStr);
o := Pos( #$02 +#$03 +#$02 +#$00 + y, TmpStr);
OicqVer := 未知;
if j=1 then OicqVer := 425;
if k=1 then OicqVer := 725;
if m=1 then OicqVer := 820;
if o=1 then OicqVer := 810;
if (j=1) or (k=1) or (m=1) or (o=1) then begin
TmpS := ;
for j:=1 to length(TmpStr) do begin
if TmpStr[j] in [0..9] then tmpS := tmpS + TmpStr[j];
end;
if TmpS=0 then Label2.Caption := OICQ處於關閉狀態,版本:+ OicqVer
else Label2.Caption :=OICQ號碼為+ TmpS + ,版本:+ OicqVer;
end;

j := Pos( #$02 +#$02 +#$00 +#$00 + x, TmpStr);
k := Pos( #$02 +#$03 +#$00 +#$00 + x, TmpStr);
m := Pos( #$02 +#$03 +#$0a +#$00 + x, TmpStr);
o := Pos( #$02 +#$03 +#$02 +#$00 + x, TmpStr);
if (j=1) or (k=1) or (m=1) or (o=1) then begin
J := 8;
TmpOicqNUm := ;
While TmpStr[J]<>#$1f do begin
TmpOicqNum :=TmpOicqNum + TmpStr[J];
Inc(J);
end;
J := J + 6;
While TmpStr[J]<>#$1f do begin
Inc(J);
end;
J := J + 1;
While TmpStr[J]<>#$1f do begin
Inc(J);
end;
J := J + 1;
TmpOicqMsg := ;
While TmpStr[J]<>#$03 do begin
TmpOicqMsg := TmpOicqMsg + TmpStr[J];
Inc(J);
end;
if TmpOicqMsg<>LastOicqMessage then begin
LastOicqMessage := TmpOicqMsg;
Messagebox(Form1.handle, PChar(OICQ用戶 + TmpOicqNum + 對你的探測作出回應: + #$0D + #$0A + TmpOicqMsg), 警告信息, MB_ICONWARNING +mb_ok);
end;
end;
exit;
end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved