Jump to content

Clonehunter


Snarg
 Share

Recommended Posts

This application allows you to find a particular Battle.net server.

Global $x, $y, $GameCount

$GameCreateDelay = 0
$Name = 0
$Pass = 0
$GameCount = 1
$Number1 = InputBox ( "Short Delay", "Input a short delay number:", "5000" )
$Number2 = InputBox ( "Long Delay", "Input a long delay number:", "15000" )
$Number3 = 0

$SettingsFile = @SCRIPTDIR & '\Settings.ini'
$SoundFile = @SCRIPTDIR & '\tada.wav'

$ActiveAccount  = IniRead ( $SettingsFile, 'Account', 'AccountName', "ERROR" )
$ActivePassword = IniRead ( $SettingsFile, 'Account', 'Password', "ERROR" )
$RealmSelection = IniRead ( $SettingsFile, 'Account', 'Realm', "ERROR" )
$CharLocation   = IniRead ( $SettingsFile, 'Account', 'CharacterLocation', "ERROR" )

$GameCreateDelay = IniRead ( $SettingsFile, 'Settings', 'GameCreateDelay', "ERROR" )
$Switches = IniRead ( $SettingsFile, 'Account', 'D2Parameter', "ERROR" )

$DCloneIP1 = IniRead ( $SettingsFile, 'Settings', 'DCloneIP1', 999 ) & ":4000"
$DCloneIP2 = IniRead ( $SettingsFile, 'Settings', 'DCloneIP2', 999 ) & ":4000"
$DCloneIP3 = IniRead ( $SettingsFile, 'Settings', 'DCloneIP3', 999 ) & ":4000"
$DCloneIP4 = IniRead ( $SettingsFile, 'Settings', 'DCloneIP4', 999 ) & ":4000"
$DCloneIP5 = IniRead ( $SettingsFile, 'Settings', 'DCloneIP5', 999 ) & ":4000"

$D2Path = IniRead ( $SettingsFile, 'Settings', 'D2Path', "ERROR" )
if $D2Path = '' then $D2Path = RegRead ('HKEY_CURRENT_USER\' & 'Software\Blizzard Entertainment\Diablo II', 'InstallPath')

$D2Executable = IniRead ( $SettingsFile, 'Settings', 'D2Executable', "" )
if $D2Executable = '' then $D2Executable = 'Diablo II.exe'

  Select

   Case $RealmSelection = 'West'
     $x = 296
     $y = 374
          $ServerIp = '63.241.83.'

    Case $RealmSelection = 'East'
          $x = 300
          $y = 400
          $ServerIp = '63.240.202.'

    Case $RealmSelection = 'Europe'
          $x = 295
          $y = 448
          $ServerIp = '213.248.106.'

  EndSelect

SplashTextOn ( 'CloneHunter 2.3', 'CloneHunter 2.3 by Snarg (Supa.Snarg@gmail.com)', 200, 100,824,0 )

  StartDiablo ()
  ServerSelect ()
  LogonAccount ()
  CharacterSelection ()

    while (1)

      CreateGame ()
      RunWait( @ComSpec & " /c " & 'netstat -n>c:\ip.txt' , "", @SW_HIDE )
      CompareIP ()
      ExitGame ()
      Sleep (8000)

    wend


; =========== Subroutines ===============

Func StartDiablo ()

  Run ( $D2Path & '\' & $D2Executable & ' ' & $Switches, $D2Path )
    WinWait ( 'Diablo II' )
    WinActivate ( 'Diablo II' )
      Sleep ( 500 )
    WinMove ( 'Diablo II', '', 0, 0 )
      Sleep ( 500 )

  Return

EndFunc

Func ServerSelect ()

  Send ( '{ESCAPE}' )
    Sleep ( 1500 )
  MouseMove ( 408, 403 )
  MouseClick( "left", 408, 403 )
    Sleep ( 1500 )
  MouseMove ( $x, $y )
  MouseClick( "left", $x, $y )
  MouseClick( "left", $x, $y )
    Sleep ( 1500 )
  MouseMove ( 404, 374 )
  MouseClick( "left", 404, 374 )
    Sleep ( 5000 )

  Return

EndFunc

Func LogonAccount ()

  Send ( '{TAB}' )
    Sleep (250)
  Send ( $ActiveAccount )
    Sleep ( 250 )
  Send ( '{TAB}' )
    Sleep ( 250 )
  Send ( $ActivePassword )
    Sleep ( 250 )
  Send ( '{ENTER}' )
    Sleep ( 6000 )

  Return

EndFunc

Func CharacterSelection ()

    Select

      Case $Charlocation = 1
          Send ( '{ENTER}' )
      Case $Charlocation = 2
          Send ( '{RIGHT}{ENTER}' )
      Case $Charlocation = 3
          Send ( '{DOWN}{ENTER}' )
      Case $Charlocation = 4
          Send ( '{RIGHT}{DOWN}{ENTER}' )
      Case $Charlocation = 5
          Send ( '{DOWN}{DOWN}{ENTER}' )
      Case $Charlocation = 6
          Send ( '{RIGHT}{DOWN}{DOWN}{ENTER}' )
      Case $Charlocation = 7
          Send ( '{DOWN}{DOWN}{DOWN}{ENTER}' )
      Case $Charlocation = 8
          Send ( '{RIGHT}{DOWN}{DOWN}{DOWN}{ENTER}' )

    EndSelect

      Sleep ( 5000 )

  Return

EndFunc

Func CreateGame ()

    WinActivate ( 'Diablo II' )
    WinWaitActive ( 'Diablo II' )
    MouseClick( "left", 601, 482 )
      Sleep ( 1500 )
    $Name = Random ( 100000, 900000 )
    $Pass = Random ( 100000, 900000 )
   $Number3 = Random ( $Number1, $Number2, 1 )
   Sleep ( $Number3 )
    Send ( $Name & '{TAB}' )
      Sleep ( 250 )
    Send ( $Pass & '{ENTER}' )
      Sleep ( $GameCreateDelay + 250 )
    EndFunc

  Return

Func CompareIP ()

    Local $IPStart
      $A = 1
      $hit = 0

      for $i = 1 to 20
          $CheckIP = FileReadLine ( 'C:\ip.txt', $A )

            ;Only check if server IP is part of the current line and it's port 4000
            $IPStart   = StringInStr ( $CheckIP, $ServerIP )
            $PortStart = StringInStr ( $CheckIP, ":4000" )

              If ( $IPStart >0 ) and ( $PortStart>0 ) then
                SplashTextOn ( 'CloneHunter 2.3', "Current try: " & $GameCount &@CRLF & "Current IP: " &StringMid ( $CheckIp, $IPStart, $PortStart-$IPStart ), 200, 100,824,0 )
                  WinActivate ( 'Diablo II' )
             if StringInStr ( $CheckIP, $ServerIP & $DCloneIP1 ) > 0 then $hit = 1
             if StringInStr ( $CheckIP, $ServerIP & $DCloneIP2 ) > 0 then $hit = 1
             if StringInStr ( $CheckIP, $ServerIP & $DCloneIP3 ) > 0 then $hit = 1
             if StringInStr ( $CheckIP, $ServerIP & $DCloneIP4 ) > 0 then $hit = 1
             if StringInStr ( $CheckIP, $ServerIP & $DCloneIP5 ) > 0 then $hit = 1
              EndIf

          $A = $A + 1
      next

        if $hit = 1 then

          CloneFound ()

        EndIf

    $GameCount = $GameCount + 1

  Return

EndFunc

Func ExitGame ()

    WinActivate ( 'Diablo II', ',' )
      Sleep ( 250 )
    Send ( '{ESC}' )
      Sleep ( 250 )
    Send ( '{UP}' )
      Sleep ( 250 )
    Send ( '{ENTER}' )
      Sleep ( 5000 )

  Return

EndFunc

Func CloneFound ()

      filedelete ( 'c:\ip.txt' )
      SoundPlay ( $SoundFile )

      While WinActive ( 'Diablo II' )

        SplashTextOn ( 'CloneHunter 2.3', "Clone IP Found!!" & @CRLF & "Game name: " & $Name & @CRLF & "Game password: " & $Pass, 200, 100,824,0 )

      WEnd

    Exit

  Return

EndFunc

Following is the Settings.ini file:

[Account] 
AccountName=ACCOUNT 
Password=PASSWORD 
Realm=REALM 
;The format for Realm is CASE SENSATIVE!!!!!!!!. It MUST be listed as 'East', 'West' or 'Europe' only! You can not use;'east', this will NOT work. 

CharacterLocation= 
;Character locations are: 
;1 2 
;3 4 
;5 6 
;7 8 


D2Parameter=-w -ns -lq -skiptobnet -title "Diablo II" -mpq cdkey.mpq 
;There should be no need to touch this line. Obviously, if you are using your original CD key you may remove the -mpq part. 

[Settings] 
D2Path= 
D2Executable= 
;Only fill these lines in if the script has trouble starting Diablo. 

D2LoadDelay= 
;This is the ammount of time it takes for Diablo to start on your computer. Adjust as needed. All times are in miliseconds so;1000 = 1 second. 

GameCreateDelay= 
;This is the ammount of time it takes for a game to be created. Adjust as needed. All times are in miliseconds so 1000 = 1;second. 

;Use the following five lines to enter the LAST SET OF DIGITS of the IP you are searching for. Example: 
;IP to find = 192.169.54.77 
;Numbers to use = 77 

DCloneIP1= 
DCloneIP2= 
DCloneIP3= 
DCloneIP4= 
DCloneIP5= 

;============================================== Read This =================================================================== 
;Do not use the entire IP address, only the last set of digits. 
;You can search for up to five IP's at one time. ALL LINES MUST BE FILLED OUT. If you wish to search for less then five,
;then the lines should be filled out similar to this: 
; 
;DCloneIP1=10 
;DCloneIP2=11 
;DCloneIP3=12 
;DCloneIP4=12 
;DCloneIP5=12 
; 
;The above example will search for three IP's. 
; 
;Visit the D2 General Discussion forum on www.edgeofnowhere.cc for a current listing of hot IP's 
;http://www.edgeofnowhere.cc/viewtopic.php?t=304938
Edited by Snarg

A little reading goes a long way. Post count means nothing.

Link to comment
Share on other sites

  • 2 years later...

Sweet!, i see you on the stealthbot forums

Currently? If you have seen me on any forum other then this one in the past three months, it's a fraud. Don't run anything they have posted. I have been in Kuwait for the last three months and will be here for some time to come.

your a celebrity in d2

Uh, everybodys got to be something, I guess.

Keep up the good work!

Just out of curiosity, did you look at the date this thread was started?

Jul 31 2004, 02:25 PM

A little reading goes a long way. Post count means nothing.

Link to comment
Share on other sites

  • 3 weeks later...

Just curious, by going in and out so quickly like this, I got temporary ban. If I don't watch, I will get IP ban. Any way to detect if there is a ban and terminate the script?

There is, I just dont' recall how at this time. Best bet right now is to increase the delay between game creation. You can find the game delay here:

Func CreateGame ()
    WinActivate ( 'Diablo II' )
    WinWaitActive ( 'Diablo II' )
    MouseClick( "left", 601, 482 )
    Sleep ( 1500 )
    $Name = Random ( 100000, 900000 )
    $Pass = Random ( 100000, 900000 )
    $Number3 = Random ( $Number1, $Number2, 1 )
    Sleep ( $Number3 )
    Send ( $Name & '{TAB}' )
    Sleep ( 250 )
    Send ( $Pass & '{ENTER}' )
    Sleep ( $GameCreateDelay + 250 )
EndFunc

You can increase the Sleep ( 250 ) found right after $Name is sent to Diablo.

Off topic: Wow! This code is not only very old, it's quite ugly as well.

A little reading goes a long way. Post count means nothing.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...