Theme: The hunt OICQ detection technology --- Feng Zhihong [writer] Author: pgcat belongs forum: Paradise irrigation problems Points: 100 Replies: 33 Time: 2001-2-16 14:54:00 Virtually all of today's OICQ The probe method is the same, send an OICQ message to the other party, with the return information of OICQ to determine the other party's OICQ number, the specific Delphi implementation is as follows: NMUDP1 is the UDP control of the ICS control package. Nmudp1.reportlevel: = status_basic; nmudp1.remotehost: = Edit1.Text; nmudp1.remoteport: = 4000; udptmpstr: = # $ 02 # $ 03 # $ 0a # $ 00 # $ 78 # 13 # $ A ' 88888 ' # $ 1F # $ 30 # $ 1F # $ 33 # $ 39 # $ 1F formatDatetime (' YYYY-MM-DD ', NOW) # $ 1F FormatorTime (' hh: mm: ss' , now) # $ 1F 'You are inquiring by a friend. He used the hunting of this tool software (http://www.zhuibu.com/) to detect, this OICQ number has been fed to the other party. The OICQ number prompted by ' ' information is a false number, but you can respond instantly.
' # $ 03; if OicqCheck.Checked then begin for SendUdpNum: = 1 to 10 do begin MyStream: = TMemoryStream.Create; try MyStream.Write (UdpTmpStr [1], Length (UdpTmpStr)); NMUDP1.SendStream (MyStream); Finally MyStream.free; end; end; end; how to get detection results? The following is a specific implementation of the program segment: 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: = 'unknown'; 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'] THENTMPS: = Tmps Tmpstr [J]; End; if Tmps = '0' Then Label2.caption: = 'OICQ is closed, version : ' OICQVER ELSE LABEL2.CAPTION: =' OICQ number is' TMPS ', version:' OICQVER; END; J: = POS (# $ 02 # $ 02 # $ 00 # $ 00 'x', tmpstr);