Writing Bots with Robot-js menu

User Tag List

Page 5 of 7 FirstFirst 1234567 LastLast
Results 61 to 75 of 97
  1. #61
    Torpedoes's Avatar ★ Elder ★ Doomsayer
    Authenticator enabled
    Reputation
    1147
    Join Date
    Sep 2013
    Posts
    956
    Thanks G/R
    148/415
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by murmir View Post
    I'm using the latest 64bit offsets in your 7.1.5 thread.
    I hope you realize that those offsets are for Windows only. You'll have to reverse the client yourself to find out the OSX offsets.

    Writing Bots with Robot-js
  2. #62
    murmir's Avatar Member
    Reputation
    17
    Join Date
    Nov 2016
    Posts
    6
    Thanks G/R
    0/11
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Torpedoes View Post
    I hope you realize that those offsets are for Windows only. You'll have to reverse the client yourself to find out the OSX offsets.
    I'm an idiot, sorry for wasting your time.

    What would be the best way to get these, sorry for the questions ;p I'm trying Bit Slicer atm, and have searched for the build number and found several addresses with it etc, I feel like a noob here, welp
    Attached Thumbnails Attached Thumbnails Writing Bots with Robot-js-f57b943605dbecbb5158fadb9296546d8e492c93858195c4f850d4e302450579-jpg  

  3. #63
    Torpedoes's Avatar ★ Elder ★ Doomsayer
    Authenticator enabled
    Reputation
    1147
    Join Date
    Sep 2013
    Posts
    956
    Thanks G/R
    148/415
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by murmir View Post
    I'm an idiot, sorry for wasting your time.
    You're not an idiot. We're all here to learn.

    I personally use IDA to reverse engineer the client. But I know OSX has Hopper as well which I think is good also. Start by reverse engineering the Lua functions, I'm thinking the data structures should all be similar so the majority of your work will be finding the global offsets such as the object manager, camera, etc. You can use the windows client to see how different the code is compared to the OSX one. Similar applications to Cheat Engine are helpful in figuring out these offsets as the game is running.

  4. #64
    para_'s Avatar Active Member 01001100 01001111 01001100 CoreCoins Purchaser
    Reputation
    56
    Join Date
    Aug 2008
    Posts
    55
    Thanks G/R
    16/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Can't figure out for the life of me why it won't attach to a vanilla client. I've tried selectByFindProcess() and selectByWindow(). selectByWindow() suggests that the process isn't valid. I'm still looking around but I thought maybe someone else had this issue and figure it out.

  5. #65
    DrMight's Avatar Active Member CoreCoins Purchaser
    Reputation
    60
    Join Date
    May 2011
    Posts
    39
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by para_ View Post
    Can't figure out for the life of me why it won't attach to a vanilla client. I've tried selectByFindProcess() and selectByWindow(). selectByWindow() suggests that the process isn't valid. I'm still looking around but I thought maybe someone else had this issue and figure it out.
    Trying to get it working with Vanilla client aswell, attempting to run chat_monitor.js.
    It seems to stop at line 77 in game_instance.js, at

    if (!process.isValid()) return false;

    Did some testing
    Code:
    for (let window of Window.getList("World of Warcraft")){
        console.log(window.isValid());
        let pid = window.getPID();
        let process = window.getProcess();
        console.log(pid);
        console.log(process.getPID());
        console.log(process.open(pid));
        console.log(process.isValid());
        console.log(process.getName());
        console.log(process.getPath());
    }
    > true
    > 187864
    > 0 // Should be the same as above
    > false // From documentation: True if valid and selectable
    > false // From documentation: Returns true if a process has been selected and is still currently accessible.
    >
    >

    So, for some reason the process doesn't get selected it seems, or it's not accessible.

    Code:
    for (let window of Window.getList("Calculator")){
        console.log(window.isValid());
        let pid = window.getPID();
        let process = window.getProcess();
        console.log(pid);
        console.log(process.getPID());
        console.log(process.open(pid));
        console.log(process.isValid());
        console.log(process.getName());
        console.log(process.getPath());
    }
    > true
    > 52208
    > 52208
    > true
    > true
    > ApplicationFrameHost.exe
    > C:/Windows/System32/ApplicationFrameHost.exe

    Seems to work with calculator atleast.
    Tried running both cmd & wow as admin, no change though.

    That said, Im totally inexperienced with Node.js, but I've used javascript quite a bit.

    Downloaded Sonar, and it gives me the error "Insufficient Privileges", so I guess there's something related to the client maybe.
    Last edited by DrMight; 01-17-2017 at 02:11 PM.

  6. #66
    para_'s Avatar Active Member 01001100 01001111 01001100 CoreCoins Purchaser
    Reputation
    56
    Join Date
    Aug 2008
    Posts
    55
    Thanks G/R
    16/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    DrMight, I was doing the same thing. I was printing properties of the process object and seeing similar results. I still haven't figured it out, but I thought this was interesting. I attempted to use hacksniff by namreeb to learn possibly where or how offsets were determined to be cheat triggers (still very new to everything). Anyways, hacksniff uses hadesmem by jadd, and in my attempt to attach to the process I get a Windows error code of 5 or "Access Denied" according to documentation. I was running both the node.js script and hacksniff from an elevated command prompt, so I'm not sure why I'm still getting this issue. Just wanted to throw this out there in case it helps.

  7. #67
    Torpedoes's Avatar ★ Elder ★ Doomsayer
    Authenticator enabled
    Reputation
    1147
    Join Date
    Sep 2013
    Posts
    956
    Thanks G/R
    148/415
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by DrMight View Post
    Trying to get it working with Vanilla client aswell, attempting to run chat_monitor.js.
    Hey there, So window.getProcess already returns a process. You can check if it's valid by using process.isValid. If this function returns false then I suspect that you have insufficient privileges to open the process. Try running the command line in admin mode. Another issue is that you are trying to select a 64-Bit version of the game from a 32-Bit version of Node. I don't think this would be the case though since I don't think Vanilla has a 64-Bit client.

    That being said, maybe whatever WoW client you're using has some weird protections? Or maybe it's something with your system. See if you can select the client with something like Cheat Engine. If that works but robot doesn't, I'm hoping it's not related to this issue. If you get it working, keep in mind that you'll have to reverse the client yourself to find the new memory offsets. I have no idea how chat differs in vanilla but I'm sure there's plenty of information online you can find.

    Originally Posted by para_ View Post
    Anyways, hacksniff uses hadesmem by jadd.
    I thought HadesMem was written by Crypher. Regardless, robot-js is also available in C++ form in case you needed it. Blackbone is another good one, along with all the other white/gray/black magic memory libraries.

  8. #68
    para_'s Avatar Active Member 01001100 01001111 01001100 CoreCoins Purchaser
    Reputation
    56
    Join Date
    Aug 2008
    Posts
    55
    Thanks G/R
    16/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I thought HadesMem was written by Crypher. Regardless, robot-js is also available in C++ form in case you needed it. Blackbone is another good one, along with all the other white/gray/black magic memory libraries.
    You're probably right. I thought I saw Jadd with a picture of a raptor as his icon and just assumed that github was his, but I'm probably misremembering things.

    That being said, maybe whatever WoW client you're using has some weird protections? Or maybe it's something with your system. See if you can select the client with something like Cheat Engine. If that works but robot doesn't, I'm hoping it's not related to this issue. If you get it working, keep in mind that you'll have to reverse the client yourself to find the new memory offsets. I have no idea how chat differs in vanilla but I'm sure there's plenty of information online you can find.
    I was able to attach Cheat Engine to WoW, but still got an invalid process using robot-js. It certainly finds the window. I'm printing a bunch of nonsense until the correct one is selected. I'll take a look at the C++, and also try to use one of my old tools to do a quick attach and see if I can't do it using my own codez.

  9. #69
    Torpedoes's Avatar ★ Elder ★ Doomsayer
    Authenticator enabled
    Reputation
    1147
    Join Date
    Sep 2013
    Posts
    956
    Thanks G/R
    148/415
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by para_ View Post
    I was able to attach Cheat Engine to WoW, but still got an invalid process using robot-js. It certainly finds the window. I'm printing a bunch of nonsense until the correct one is selected. I'll take a look at the C++, and also try to use one of my old tools to do a quick attach and see if I can't do it using my own codez.
    Here's the code that does the actual opening of the process. You can try copying that and see why it's failing. The problem is probably going to be with OpenProcess in which case refer to Microsoft's documentation. That being said, I still think you should be able to open the process by passing in the PID directly into the open function. If it doesn't work because of an ERROR_ACCESS_DENIED (0x5) error and you're running as admin then that requires some further investigating.
    Last edited by Torpedoes; 01-17-2017 at 05:11 PM.

  10. Thanks kita12 (1 members gave Thanks to Torpedoes for this useful post)
  11. #70
    kita12's Avatar Member
    Reputation
    1
    Join Date
    Jan 2017
    Posts
    5
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for writing all this up. I'm relatively new to reading memory but I was working with your code to extract the NPC name and I haven't quite gotten it to work yet. I've no idea if I'm doing this correctly but in order for me to invoke memory.readString how can I find the unit32_length (per Robot for Node.js

    Below is the snippet I'm trying to modify

    Code:
            if (desc > 0)
            {
                type === 3 && entities.npcs.push
                ({
                    entry,
                    x: memory.readReal32 (entry + offsets.Entity.Unit.Origin + 0),
                    y: memory.readReal32 (entry + offsets.Entity.Unit.Origin + 4),
                    z: memory.readReal32 (entry + offsets.Entity.Unit.Origin + 8),
                    name1: memory.readString(entry + offsets.Entity.NPC.Name1, 6), // <----This is where I'm struggling
                    name2: memory.readString(entry + offsets.Entity.NPC.Name2, 6),
    
                });
    Last edited by kita12; 01-21-2017 at 05:49 PM.

  12. #71
    Torpedoes's Avatar ★ Elder ★ Doomsayer
    Authenticator enabled
    Reputation
    1147
    Join Date
    Sep 2013
    Posts
    956
    Thanks G/R
    148/415
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by kita12 View Post
    Thanks for writing all this up. I'm relatively new to reading memory but I was working with your code to extract the NPC name and I haven't quite gotten it to work yet
    Name 1 is a pointer to Name 2 which is a pointer to a string. You should use readPtr for Name1 and Name2, then use readString. Use Cheat engine to help you out.

  13. #72
    kita12's Avatar Member
    Reputation
    1
    Join Date
    Jan 2017
    Posts
    5
    Thanks G/R
    2/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the quick reply. Still banging my head to get this to work. Say that I had an entity entry (given to me by entitydump.js) at 29DDF7B7A18. This is from offsets.Entity.EntryFirst and verified that its an NPC entry where type == 3. I would go enter in that address manually to cheat engine, hit pointer, add in the first offset name1 (0x16F0), then add in the name2 offset (0x00A0), it leads to an address where I would display as text and it just looks gibberish. Why?

  14. #73
    Torpedoes's Avatar ★ Elder ★ Doomsayer
    Authenticator enabled
    Reputation
    1147
    Join Date
    Sep 2013
    Posts
    956
    Thanks G/R
    148/415
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by kita12 View Post
    Thanks for the quick reply. Still banging my head to get this to work. Say that I had an entity entry (given to me by entitydump.js) at 29DDF7B7A18. This is from offsets.Entity.EntryFirst and verified that its an NPC entry where type == 3. I would go enter in that address manually to cheat engine, hit pointer, add in the first offset name1 (0x16F0), then add in the name2 offset (0x00A0), it leads to an address where I would display as text and it just looks gibberish. Why?
    Try playing around with the CheatEngine table I provide ([WoW] [7.1.5.23360])here.

  15. #74
    pyre's Avatar Active Member
    Reputation
    48
    Join Date
    Jun 2007
    Posts
    157
    Thanks G/R
    2/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by para_ View Post
    You're probably right. I thought I saw Jadd with a picture of a raptor as his icon and just assumed that github was his, but I'm probably misremembering things.



    I was able to attach Cheat Engine to WoW, but still got an invalid process using robot-js. It certainly finds the window. I'm printing a bunch of nonsense until the correct one is selected. I'll take a look at the C++, and also try to use one of my old tools to do a quick attach and see if I can't do it using my own codez.
    I have the same issues, thus I gave up on trying to use robotJS for vanilla WoW. Still yet, it is a great node library and I appreciate this thread.

    Ended up making a few cheats for Assault Cube just to see if I could. Great library!

  16. #75
    antiblizzard's Avatar Member
    Reputation
    1
    Join Date
    Mar 2017
    Posts
    2
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Could you give offsets.js for WoW 6.2.3 Build: 20779

Page 5 of 7 FirstFirst 1234567 LastLast

Similar Threads

  1. Make your own Bot with Java Robot Class
    By whappit in forum Programming
    Replies: 19
    Last Post: 09-27-2015, 06:07 AM
  2. Making a bot with java (robot class) Help
    By ASDF4Ever in forum Programming
    Replies: 3
    Last Post: 09-10-2013, 01:50 AM
  3. Making an anti-afk bot with AutoIT the easy way.
    By Tsai in forum World of Warcraft Bots and Programs
    Replies: 13
    Last Post: 10-02-2007, 04:22 PM
  4. Easy AFK Bot with G15
    By husky003 in forum World of Warcraft Exploits
    Replies: 7
    Last Post: 01-13-2007, 12:42 AM
  5. anit afk bot with Cheat engine
    By thechosenone in forum World of Warcraft Bots and Programs
    Replies: 3
    Last Post: 09-11-2006, 03:44 PM
All times are GMT -5. The time now is 05:21 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search