CynicRus
2012-08-05 11:39:15
Hi all. Let me introduce you to plugin for easy botting in other games with Simba.
Features:
Window control:
Input:
- wnd: window handle
- NewPos: new window position coords
- OldPos: save current window coords
Memory reading:
input:
-WindowName: window handle
-Address: memory address
-Offset: need bytes count
input:
-WindowName: window handle
-Address: memory address
-ASize: string length in bytes
input:
-WindowName: window handle
-Address: memory address
-ASize: string length in bytes
input:
-PID: process id
-Address: memory address
-Offset: need bytes count
input:
-PID: process id
-Address: memory address
-Offset: need bytes count
input:
-PID: process id
-Address: memory address
-Offset: string length
Writing memory:
input:
WindowName: window handle
Address: memory address
Value: value as bytes array
CountBytes: needed bytes count
input:
PID: process id
Address: memory address
Value: value as bytes array
CountBytes: needed bytes count
Keyboard and mouse:
Input:
Wnd: window handle
buttons: 0- one left click; 1 - right click; 2: double left click
x,y: x,y click coord.
Input:
wnd: window handle
Key: key code
PressTime: time, while key pressed
Input:
wnd: window handle
Text: some text to send in to window
PressTime: time, while key pressed
Applications:
Exported type for SRL adaptation:
End description.
Written in lazarus, source aviables on GIT.
https://github.com/CynicRus/BottingHelper
Currently available only for Windows, in the future may be realized version for others platform.
Any suggestions or bug report print here.
Thanks for you advice.
The Best Regards From Cynic.
Features:
- Reading values from process memory
- Writing into process memory
- Game window control
- Send key to Window
- Send text to game window
- Send mouse click to window
Window control:
Function GetWindowCaptionFromPid(Pid: integer):string;
Return window title by process id.
Function GetWindowHandle(WindowTitle: string):integer;
Return window handle by window title.
function GetWndHandleByPid(pid: integer):integer;
Return window handle by process id.
procedure MinimizeWindow(wnd: integer);
Minimizes an window of his handle
procedure RestoreWindow(wnd: integer);
Restores an window of his handle
procedure MaximizeWindow(wnd: integer);
Maximizes an window of his handle
procedure MoveWindow(wnd: integer; NewPos: TPoint;var OldPos: TPoint);
Move an window by handle.Input:
- wnd: window handle
- NewPos: new window position coords
- OldPos: save current window coords
Memory reading:
Function ReadFromMemory (WindowName,Address,Offset : integer): integer; Return integer value from memory address by window handle input:
-WindowName: window handle
-Address: memory address
-Offset: need bytes count
Function ReadFloatFromMemory (WindowName,Address,Offset : integer): single;Return float value from memory address by window handle input:
-WindowName: window handle
-Address: memory address
-ASize: string length in bytes
function ReadStringFromMemory(WindowName,Address,ASize:integer): string;Return string value from memory address by window handle input:
-WindowName: window handle
-Address: memory address
-ASize: string length in bytes
function ReadMemoryFromPID (PID,Address,Offset : integer): integer;
Return integer value from memory address by process id input:
-PID: process id
-Address: memory address
-Offset: need bytes count
Function ReadFloatFromPid (Pid,Address,Offset : integer): single;Return float value from memory address by process id input:
-PID: process id
-Address: memory address
-Offset: need bytes count
Function ReadStringFromPid (Pid,Address,Offset : integer): string;
Return string value from memory address by process id input:
-PID: process id
-Address: memory address
-Offset: string length
Writing memory:
function WriteToMemory(WindowName :integer;Address: integer;Value : Array of Byte;CountBytes: Integer) : integer;Writing bytes to memory by window handle.input:
WindowName: window handle
Address: memory address
Value: value as bytes array
CountBytes: needed bytes count
unction WriteMemoryToPID(PID :integer;Address: integer;Value : Array of Byte;CountBytes: Integer) : integer;Writing bytes to memory by window handle.input:
PID: process id
Address: memory address
Value: value as bytes array
CountBytes: needed bytes count
Keyboard and mouse:
procedure ClickToWindow(Wnd: integer;Button: byte;x,y: integer);
Click on a point in the window. Input:
Wnd: window handle
buttons: 0- one left click; 1 - right click; 2: double left click
x,y: x,y click coord.
procedure SendKeyToWindow(Wnd: integer; Key: byte; PressTime: integer);Sends the key to windowInput:
wnd: window handle
Key: key code
PressTime: time, while key pressed
procedure SendTextToWindow(Wnd: integer; Text: string; PressTime: integer);Sends the key to windowInput:
wnd: window handle
Text: some text to send in to window
PressTime: time, while key pressed
Applications:
function RunClient(PathToClient:string):boolean;Run application, result true if app started.procedure KillClient(pid: integer);Kill application by process id.Exported type for SRL adaptation:
type TCustomClient = record
CMSX1,CMSY1,CMSX2,CMSY2,CMSCX1,CMSCY1: integer;
end;
Procedure GetClientInfoFromWnd(Wnd: integer;var client: TCustomClient);Fill custom client struct by window handle.End description.
Written in lazarus, source aviables on GIT.
https://github.com/CynicRus/BottingHelper
Currently available only for Windows, in the future may be realized version for others platform.
Any suggestions or bug report print here.
Thanks for you advice.
The Best Regards From Cynic.