CynicRus
2013-03-24 03:12:56
Hello all. Much time ago, I wrote a plugin to facilitate the use of Simba to other games. Now I spread it for public use.
Cheers,
Cynic.
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.
Cheers,
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.