Jump to content
Sign in to follow this  
Snarg

Clonehunter

Recommended Posts

Snarg

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.

Share this post


Link to post
Share on other sites
Glyph

Sweet!, i see you on the stealthbot forums these and on othersites with this program, your a celebrity in d2 lmao Keep up the good work!


tolle indicium

Share this post


Link to post
Share on other sites
Snarg

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.

Share this post


Link to post
Share on other sites
Glyph

Rofl, i didn't realize!

anyway.... Hope you had fun in kuwait!


tolle indicium

Share this post


Link to post
Share on other sites
Son Huynh

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?

Share this post


Link to post
Share on other sites
Snarg

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.

Share this post


Link to post
Share on other sites
Son Huynh

I have no luck. Tried but never able to find Diablo Clone. Maybe not enough game created?

Yes, code is sure ugly but readable :P

Edited by Son Huynh

Share this post


Link to post
Share on other sites
jaenster

Cool!

But, i am a diablo II player. Its a good idea to add this.

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

Func StartDiablo ()

  Run ( $D2Path & '' & $D2Executable & ' ' & $Switches&' -title "Diablo II"', $D2Path )
    WinWait ( 'Diablo II' )

-jaenster

Share this post


Link to post
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
Sign in to follow this  

×