Results 1 to 18 of 18

Thread: Botting helper [plugin] moved to public

  1. #1
    Join Date
    May 2012
    Location
    Moscow, Russia
    Posts
    661
    Mentioned
    35 Post(s)
    Quoted
    102 Post(s)

    Default Botting helper [plugin] moved to public

    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:
    1. Reading values from process memory
    2. Writing into process memory
    3. Game window control
    4. Send key to Window
    5. Send text to game window
    6. Send mouse click to window

    Functions description:
    Window control:
    Simba Code:
    Function GetWindowCaptionFromPid(Pid: integer):string;
    Return window title by process id.
    Simba Code:
    Function GetWindowHandle(WindowTitle: string):integer;
    Return window handle by window title.
    Simba Code:
    function GetWndHandleByPid(pid: integer):integer;
    Return window handle by process id.
    Simba Code:
    procedure MinimizeWindow(wnd: integer);
    Minimizes an window of his handle
    Simba Code:
    procedure RestoreWindow(wnd: integer);
    Restores an window of his handle
    Simba Code:
    procedure MaximizeWindow(wnd: integer);
    Maximizes an window of his handle
    Simba Code:
    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:
    Simba Code:
    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
    Simba Code:
    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
    Simba Code:
    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

    Simba Code:
    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
    Simba Code:
    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
    Simba Code:
    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:

    Simba Code:
    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
    Simba Code:
    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:
    Simba Code:
    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.
    Simba Code:
    procedure SendKeyToWindow(Wnd: integer; Key: byte; PressTime: integer);
    Sends the key to window
    Input:
    wnd: window handle
    Key: key code
    PressTime: time, while key pressed
    Simba Code:
    procedure SendTextToWindow(Wnd: integer; Text: string; PressTime: integer);
    Sends the key to window
    Input:
    wnd: window handle
    Text: some text to send in to window
    PressTime: time, while key pressed

    Applications:
    Simba Code:
    function RunClient(PathToClient:string):boolean;
    Run application, result true if app started.

    Simba Code:
    procedure KillClient(pid: integer);
    Kill application by process id.
    Exported type for SRL adaptation:
    Simba Code:
    type TCustomClient = record
        CMSX1,CMSY1,CMSX2,CMSY2,CMSCX1,CMSCY1: integer;
        end;
    Simba Code:
    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.
    Attached Files Attached Files
    Per aspera ad Astra!
    ----------------------------------------
    Slow and steady wins the race.

  2. #2
    Join Date
    Nov 2011
    Location
    United States
    Posts
    815
    Mentioned
    6 Post(s)
    Quoted
    284 Post(s)

    Default

    Ohhhh Looks Awesome! Going to have to try this out Thanks for the release man! so many awesome things coming from you.

  3. #3
    Join Date
    Oct 2006
    Location
    Netherlands
    Posts
    3,285
    Mentioned
    105 Post(s)
    Quoted
    494 Post(s)

    Default

    Awesome!
    Working on: Tithe Farmer

  4. #4
    Join Date
    Dec 2011
    Location
    U.S.A.
    Posts
    635
    Mentioned
    5 Post(s)
    Quoted
    249 Post(s)

    Default

    Thanks CynicRus!

  5. #5
    Join Date
    Nov 2011
    Location
    England
    Posts
    3,072
    Mentioned
    296 Post(s)
    Quoted
    1094 Post(s)

    Default

    Some helpful things there... there is one thing missing though "GetSoundLevelFromPid"

  6. #6
    Join Date
    Aug 2013
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    16 Post(s)

    Default

    Thanks for sharing! I can't image how much power Simba gains with this tool

  7. #7
    Join Date
    May 2012
    Location
    Moscow, Russia
    Posts
    661
    Mentioned
    35 Post(s)
    Quoted
    102 Post(s)

    Default

    Can somebody stick this thread, please?
    Per aspera ad Astra!
    ----------------------------------------
    Slow and steady wins the race.

  8. #8
    Join Date
    Oct 2006
    Location
    Netherlands
    Posts
    3,285
    Mentioned
    105 Post(s)
    Quoted
    494 Post(s)

    Default

    Quote Originally Posted by CynicRus View Post
    Can somebody stick this thread, please?
    I usually don't do requests. But I got my first day off in weeeeeeks, so there you go.
    Working on: Tithe Farmer

  9. #9
    Join Date
    May 2017
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Ohhhh Looks sooo good! Going to have to try this out Thanks for sharing this, man! wish many awesome things coming from you.

  10. #10
    Join Date
    Dec 2006
    Location
    Banville
    Posts
    3,914
    Mentioned
    12 Post(s)
    Quoted
    98 Post(s)

    Default

    Does the plugin support 64 bit processes?
    The jealous temper of mankind, ever more disposed to censure than
    to praise the work of others, has constantly made the pursuit of new
    methods and systems no less perilous than the search after unknown
    lands and seas.

  11. #11
    Join Date
    Aug 2017
    Posts
    23
    Mentioned
    1 Post(s)
    Quoted
    4 Post(s)

    Default

    Can I get an example? I tried getting an address that I found in cheat engine, converted hex address to decimal, offset? That's the bytes right?
    I got a way different result than what cheat engine returned

  12. #12
    Join Date
    Aug 2017
    Posts
    23
    Mentioned
    1 Post(s)
    Quoted
    4 Post(s)

    Default

    Nevermind, I set the wrong PID

  13. #13
    Join Date
    Sep 2018
    Location
    Birmingham; Alabama
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Looks Awesome. Thanks for the release.

  14. #14
    Join Date
    Mar 2013
    Posts
    39
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Does this still work 5 years later?

  15. #15
    Join Date
    Dec 2011
    Location
    East Coast, USA
    Posts
    4,231
    Mentioned
    112 Post(s)
    Quoted
    1869 Post(s)

    Default

    Quote Originally Posted by Talis View Post
    Does this still work 5 years later?
    Most likely yes, though it would probably need updated or tweaked slightly for Simba 1.3.
    GitLab projects | Simba 1.4 | Find me on IRC or Discord | ScapeRune scripts | Come play bot ScapeRune!

    <BenLand100> we're just in the transitional phase where society reclassifies guns as Badâ„¢ before everyone gets laser pistols

  16. #16
    Join Date
    Mar 2013
    Posts
    39
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by KeepBotting View Post
    Most likely yes, though it would probably need updated or tweaked slightly for Simba 1.3.
    Okay. Thanks!

  17. #17
    Join Date
    Dec 2010
    Posts
    483
    Mentioned
    30 Post(s)
    Quoted
    328 Post(s)

    Default

    Pretty obsolete now that you can directly invoke WinAPI in simba, no need for plugin middle-men anymore. But yes it should theoretically work fine since its just a simple plugin wrapper for winapi calls, and I dont believe the plugin spec has changed at all in this time.

  18. #18
    Join Date
    Nov 2018
    Location
    https://www.runescapeah.com/
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Don't underestimate this point, actually many periods in the details could highlight the game designer's thoughtful, in order that players even more viscous. Its interface figure design might not exactly be favored by everyone, but their 3D design effect is very good. It is usually manipulated by the higher and lower Zuoyoufangxiang tips. Interested men and women can test it and feel very comparable to Warcraft. The history music has always recently been praised by players, in addition to its map is right away displayed to ensure you mistakenly believe you might be playing online games, not only a page game.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •