How do Yahoo! Messenger status detectors work?

1.6k views Asked by At

How do services such as ydetector.com make the difference between invisible users and off-line users?

2

There are 2 answers

0
relima On

I found this VB script online that might help you understand how such checking is done:

"CHECK CODE"
Private Sub Command1_Click()
ID = Text1.Text
Password = Text2.Text
Winsock1.Close
Pause (1)
Winsock1.Connect "scsd.msg.yahoo.com", 5050 'Server And Port
End Sub

Private Sub Command2_Click()
Winsock1.Close ' Exit Connection
Pause (1)
Label1.Caption = "Status:Disconnected"
End Sub

Private Sub Command3_Click()
On Error Resume Next
LOL.Text = "FYahoo"
Label1.Caption = "Status: Checking..."
Pause (1)
Winsock1.SendData Packet.check(Text1.Text, Text3.Text) 'Send Check Packet And Deciphered Victim Is Online Or Offline (Text1 = Your Bot) (Text3=Your Friend)
End Sub

Private Sub Form_Load()
Image1.Visible = False
Image2.Visible = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
Unload Me
Winsock1.Close
End Sub

Private Sub Winsock1_Connect()
Label1.Caption = "Status:Connecting..."
Winsock1.SendData Data(ID)
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
Winsock1.GetData Data
Debug.Print Data
If Mid(Data, 12, 1) = ChrW$(87) Then
ChallengeString = Mid(Data, 30 + Len(ID), Len(Data) - 29)
ChallengeString = Replace(ChallengeString, "Ŕ€13Ŕ€1Ŕ€", "")
Call GetStrings(ID, Password, ChallengeString, Crypt(0), Crypt(1), 1)
Winsock1.SendData Login(ID)
ElseIf Mid(Data, 12, 1) = ChrW$(84) Then
Label1.Caption = "Status:Wrong ID Or Pw"
Winsock1.Close
ElseIf Mid(Data, 12, 1) = ChrW$(85) Then
Sessionkey = Mid(Data, 17, 4)
Label1.Caption = "Status:Connected"
End If
'Here is The Checker for Online Or Offline
If LOL.Text = "FYahoo" Then
If InStr(1, Data, ChrW$(255) + ChrW$(255) + ChrW$(255) + ChrW$(255)) Then
Label1.Caption = "Status: Is Offline"
Image1.Visible = False
Image2.Visible = True
Else
Label1.Caption = "Status: Is Online": Beep
Image2.Visible = False
Image1.Visible = True
End If
End If
End Sub
0
Neo On

they're all little hacks in messenger bugs, they compare different things to find a difference between invisble and offline users. the best way is the way the code relima posted works but here's another one, write a script to check: http://opi.yahoo.com/online?u=[username] then read the image, the image for offline and invisable are the same but they are not identical if you read them in code.