Probot - Your E-Sro Botting Service.

05/19/2011 18:45 vorosmihaly#16
omg,I lol'd that the loader part is written in autoit. :D
05/19/2011 18:48 blipi#17
yeah jajaja I'm just to lazy to do it in C xd
But the whole bot is written in C++.

The important part is the dll, which was originally written in c++, so, there's no problem. Autoit makes it easier to make a GUI, so that's what I chose it.
05/19/2011 18:54 blipi#18
Quote:
Originally Posted by KingLi :P View Post
Here the source code, I have no idea about autoit at all.
So anyone checks, if its clean.


@Hundmat, I dont wish to anyone, that he gets hacked...

I'm sry about the double post, but hahaha

You really made my day here xd I just lol'd
You are such a PRO! You know how to use a dissassembler! xd

If u want the Loader source, and not that unparsed piece of shit you posted, you just had to say it:
Quote:
#include <GUIComboBox.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <WinAPI.au3>
#include <file.au3>

Opt("GUIOnEventMode", 1)

$gui = GUICreate('ProBot Loader', 200, 200, Default, Default, 0x90CA0000)
;DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0)

; --- GUI Ctrl Create ---
GUICtrlCreateLabel("Select Division:", 10, 10)
$choser = GUICtrlCreateCombo("", 10, 31, 180, 20, 3)
$start = GUICtrlCreateButton("LAUNCH", 10, 150, 180, 40)

Local $opt[3]
$opt[0] = GUICtrlCreateCheckbox("Enable AutoLogin", 10, 70)
$opt[1] = GUICtrlCreateCheckbox("Enable MultiClient", 10, 90)
$opt[2] = GUICtrlCreateCheckbox("Enable Debug Console", 10,110)

_GUICtrlComboBox_BeginUpdate($choser)
_GUICtrlComboBox_AddString($choser, "FIRE")
_GUICtrlComboBox_AddString($choser, "WATER")
_GUICtrlComboBox_EndUpdate($choser)

; --- GUI Events ---
GUISetOnEvent(-3, 'CloseLoader')

; --- Control Functions ---
GUICtrlSetOnEvent($start, 'Start')

Global $sro_path, $ret

; --- Check for DLL ---
Local $dll = _PathFull("pBot.dll")
if Not FileExists($dll) Then
MsgBox(0, "Error", "pBot.dll Not Found." & @CR & "Loader will exit now")
Exit
EndIf

; --- Check for INI ---
Local $ini_path = "config\config1.ini"
If Not FileExists($ini_path) Then
$f = _WinAPI_CreateFile($ini_path, 0)
_WinAPI_CloseHandle($f)
EndIf
$ini_path = _PathFull("config\config1.ini")

; --- Init Main CTRL
_GUICtrlComboBox_SetCurSel($choser, IniRead($ini_path, "LOADER", "DIV", 0))
GUICtrlSetState($opt[0], IniRead($ini_path, "BOOT", "AUTOLOG", 0))
GUICtrlSetState($opt[1], IniRead($ini_path, "BOOT", "MULTICLIENT", 0))
GUICtrlSetState($opt[2], IniRead($ini_path, "BOOT", "CONSOLE", 0))

; --- Read SRO Path ---
$sro_path = Iniread($ini_path, "LOADER", "SRO", 0)
If StringLen($sro_path) <= 4 Or Not FileExists($sro_path) Then
MsgBox(0, "Info", "SRO_client.exe Path not found, please select it now")
$sro_path = FileOpenDialog("Select SRO_client.exe", @ProgramFilesDir & "", "Executable .exe file (*.exe)", 1, "SRO_client.exe")
If Not @error Then
MsgBox(0, $ret, $sro_path)
$ret = IniWrite($ini_path, "LOADER", "SRO", $sro_path)
Else
MsgBox(0, "Error", "Path to SRO_client.exe not found." & @CR & "Loader will exit now")
Exit
EndIf
EndIf

While Sleep(100)
; --- Avoid Quiting ---
Wend

Func Start()
$division = _GUICtrlComboBox_GetCurSel($choser)

; --- Save INI File ---
IniWrite($ini_path, "LOADER", "DIV", $division)
IniWrite($ini_path, "BOOT", "CONSOLE", GUICtrlRead($opt[2]))
IniWrite($ini_path, "BOOT", "AUTOLOG", GUICtrlRead($opt[0]))
IniWrite($ini_path, "BOOT", "MULTICLIENT", GUICtrlRead($opt[1]))

; --- Run Sro ---
$pid = Run($sro_path & " 0 /4 " & $division & " 0")
; FIRE = 0
; WATER = 1

; --- Inject pBot ---
_InjectDll($pid, $dll, 1)

Exit
EndFunc

Func CloseLoader()
Exit
EndFunc

Func _InjectDll($a, $dllpath, $hWnd_or_pid=0)
;make sure the user passed valid parameters
If $a <= 0 Then
SetError(-1)
Return False
ElseIf StringLen($dllpath) <= 4 Or StringRight($dllpath, 4) <> ".dll" Then
SetError(-2)
Return False
EndIf

Local $pid, $pHandle, $pLibRemote, $modHandle, $LoadLibraryA, $hThread

;open dll that we'll be using
Local $kernel32 = DllOpen("kernel32.dll")

Local $ret

If $hWnd_or_pid = 0 Then
;get the pid from the window provided
$pid = DllCall("user32.dll", "int", "GetWindowThreadProcessId", "hwnd", $a, "int_ptr", 0)
If IsArray($pid) Then
$pid = $pid[2]
Else
SetError(-3)
Return False
EndIf
Else
$pid = $a
EndIf

;open the process for writing
Local $pHandle = DllCall($kernel32, "int", "OpenProcess", "int", BitOr(0x10, 0x20, 0x02, 0x08), "int", 0, "int", $pid)
If IsArray($pHandle) And $pHandle[0] > 0 Then
$pHandle = $pHandle[0]
Else
SetError(-4)
Return False
EndIf

Local $pLibRemote = DllCall($kernel32, "int", "VirtualAllocEx", "int", $pHandle, "short", 0, "int", StringLen($dllpath)+1, "int", 0x1000, "int", 0x40)
If IsArray($pLibRemote) Then
If $pLibRemote[0] > 0 Then
$pLibRemote = $pLibRemote[0]
Else
SetError(-5)
Return False
EndIf
Else
SetError(-6)
Return False
EndIf

Local $struct = DllStructCreate('char['&StringLen($dllpath)+1&']')
For $i = 1 To StringLen($dllpath)
DllStructSetData($struct, 1, StringMid($dllpath, $i, 1), $i)
Next

$ret = DllCall($kernel32, "int", "WriteProcessMemory", "int", $pHandle, "int", $pLibRemote, "int", DllStructGetPtr($struct), "int", DllStructGetSize($struct), "int", 0)
If IsArray($ret) Then
If $ret[0] = 0 Then
SetError(-7)
Return False
EndIf
Else
SetError(-8)
Return False
EndIf

Local $modHandle = DllCall($kernel32, "long", "GetModuleHandle", "str", "kernel32.dll")
If IsArray($modHandle) Then
If $modHandle[0] > 0 Then
$modHandle = $modHandle[0]
Else
SetError(-9)
Return False
EndIf
Else
SetError(-10)
Return False
EndIf

Local $LoadLibraryA = DllCall($kernel32, "long", "GetProcAddress", "long", $modHandle, "str", "LoadLibraryA")
If IsArray($LoadLibraryA) Then
If $LoadLibraryA[0] > 0 Then
$LoadLibraryA = $LoadLibraryA[0]
Else
SetError(-11)
Return False
EndIf
Else
SetError (-12)
Return False
EndIf

Local $hThread = DllCall($kernel32, "int", "CreateRemoteThread", "int", $pHandle, "int", 0, "int", 0, "long", $LoadLibraryA, "long", $pLibRemote, "int", 0, "int", 0)
If IsArray($hThread) Then
If $hThread[0] > 0 Then
$hThread = $hThread[0]
Else
SetError(-13)
Return False
EndIf
Else
SetError(-14)
Return False
EndIf

DllCall($kernel32, "int", "VirtualFreeEx", "int", $pHandle, "int", $pLibRemote, "int", StringLen($dllpath)+1, "int", 0x8000)
DllCall($kernel32, "int", "CloseHandle", "int", $hThread)
DllCall($kernel32, "int", "CloseHandle", "int", $pHandle)

DllClose($kernel32)

Return True
EndFunc
Aleh! Be happy =)
05/19/2011 18:58 hundmat#19
KingLi stop it now you're just embarrasing with your so called "Skills" :(
05/19/2011 19:43 blipi#20
Well then, now please let's keep this thread spamless =)

Btw KingLi, I doubt my Loader is causing any lagg, since I'm on a 1Gb RAM Netbook and it barely uses a 1% RAM and 1% CPU. Anyway, gl u too!
05/19/2011 19:48 LORDKILLERZ#21
KingLi thinks that the is the smartest guy here he just get in every post to say some sh*t words and get thanks from his nub fans
05/19/2011 19:57 quickmario#22
Quote:
Originally Posted by hundmat View Post
THANKS WORKING REALLY NICE IM TRYING IT NOW ON WATER WITH MY +9 SS <3
:)) why you need to say with my +9 SS ? that he hackz0rs you if its with keylogger?OMFG or you are friends and you made this that other people trust him :| noobz!
05/19/2011 20:02 blipi#23
Really.... this is so sad.
The only thing I did was to release a bot, a WIP which might become a real bot, and all I'm hearing is that it is a virus, it is a keylogger, it stores info...

I doubt I'll make any more releases, so, enjoy this one while it lasts.
05/19/2011 20:03 hundmat#24
Quote:
Originally Posted by quickmario View Post
:)) why you need to say with my +9 SS ? that he hackz0rs you if its with keylogger?OMFG or you are friends and you made this that other people trust him :| noobz!
What? I just said it. I'm also doing it so what's the problem ? :)
05/19/2011 20:19 melkorz123#25
Very good proyect buddy, I am so proud of you. You have made it hooking on directx instead an external program right? It is using game interface to show up the menu?
05/19/2011 20:24 blipi#26
Right.
Bot is using multiple Hooks: Direct3D9, WSA (Sockets) and DispatchMessage API (to handle user input). So it won't use more memory than the necesary nor will make the game slower, since when it is not shown there's nothing runing on the game thread.

The GUI controls, such as the dropbox and listbox and textbox have been designed and coded by myself also, from 0.


PS: Atm I'm manually encrypting (not with a Packer) all the strings, and will also manually add a debugger present code. Right now I'm not going to pack it, since I don't think it is necessary at all, but I want to avoid problems like the ones we had before.
05/19/2011 20:25 dimkacool#27
Nice start, good luck.
05/19/2011 20:29 Asslicker#28
just wait for a moderator to aprove it....
05/19/2011 20:53 octaviansan#29
This works with EliteSRO ?
05/19/2011 20:59 hundmat#30
Quote:
Originally Posted by octaviansan View Post
This works with EliteSRO ?
Yes :D