Help me choose a way menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 27
  1. #1
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Help me choose a way

    Hello.
    I was going to write a bot.
    I used to use the dll injection method,
    Then I edited the memory and transferred the data to an external application.
    Now I need a bot again, because times are hard and the way I used is outdated, the bot is banned even on some pirate servers.
    Please tell me the way, what methods of implementation can be used now?

    From what I know:
    1 library injection,
    2 access to process memory from an external application,
    3 Using add-ons, transferring data using pixel color

    Help me choose a way
  2. #2
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Interested in patch 2,5,4
    Maybe there is some kind of library like BlackMagic for old patches?
    I want to find the safest way to implement a bot.
    Reading pixels seems like the safest way at the moment.
    Although I may be wrong

  3. #3
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    If I read the memory without changing anything, how dangerous is it, on the current patch 2,5,4?
    like this for example

    Code:
    byte* ReadMEMORY(DWORD adress, DWORD size, DWORD pid)
    {
        static byte* bytes = new byte[size];
        HANDLE hprocess = OpenProcess(PROCESS_VM_READ, false, pid);
        ReadProcessMemory(hprocess, (LPCVOID)adress, bytes, size, NULL);
        CloseHandle(hprocess);
        return bytes;
    }
    and will it work?
    perhaps I need to get the SE_DEBUG_NAME privilege?

  4. #4
    Kovrizha's Avatar Active Member
    Reputation
    18
    Join Date
    Oct 2013
    Posts
    160
    Thanks G/R
    19/10
    Trade Feedback
    44 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hrap View Post
    If I read the memory without changing anything, how dangerous is it, on the current patch 2,5,4?
    like this for example

    Code:
    byte* ReadMEMORY(DWORD adress, DWORD size, DWORD pid)
    {
        static byte* bytes = new byte[size];
        HANDLE hprocess = OpenProcess(PROCESS_VM_READ, false, pid);
        ReadProcessMemory(hprocess, (LPCVOID)adress, bytes, size, NULL);
        CloseHandle(hprocess);
        return bytes;
    }
    and will it work?
    perhaps I need to get the SE_DEBUG_NAME privilege?
    Be careful. Some pages could be guard protected. It would be better to check if region you want to read is backed

  5. Thanks Hrap (1 members gave Thanks to Kovrizha for this useful post)
  6. #5
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Kovrizha View Post
    Be careful. Some pages could be guard protected. It would be better to check if region you want to read is backed
    I read about it, but unfortunately I don’t know how to check if the region is protected.
    could you help with that?
    Can you tell me where I can read about it?

  7. #6
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Tasks I have set for myself
    I need to read the following data from the game
    Player name
    player health
    Player Position
    target, if any
    target position
    in fact, these are all the fields of the object in wow

    it would be nice to organize an object manager, as it seems to me, without it you won’t get the necessary information

    I used to use dll injections,
    Hook detours.lib was used, intercepted render,
    executed the code in it, used the EnumVisualObject function, returned the Render procedure back

    At the same time, the EnumVisualObject function worked only from the intercepted render function

    I've been reading a lot about this lately.
    I understand now the old way will lead to a ban on 2,5,4

    Please help me figure out which direction to go


    Can I read the values ​​I need from the game's memory without using injections and hooks?
    How can I influence memory protection?
    Or do you still need to use hooks?

    I used to use someone else's library for reading and writing, she did everything herself

    Now I want to figure out how this is implemented for a start, at least on old pirates 3,3,5a

    If it’s not difficult for you, at least in theory, could you describe the procedure that should be taken to obtain the data I need and what I should pay attention to


    Otherwise, I feel that I will wander for a long time in search of solutions and I may go down the wrong path.

  8. #7
    doityourself's Avatar ★ Elder ★
    Reputation
    1424
    Join Date
    Nov 2008
    Posts
    843
    Thanks G/R
    35/448
    Trade Feedback
    0 (0%)
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Kovrizha View Post
    Be careful. Some pages could be guard protected. It would be better to check if region you want to read is backed
    No guard pages in WoW! That was/is an overwatch thing

  9. #8
    Kovrizha's Avatar Active Member
    Reputation
    18
    Join Date
    Oct 2013
    Posts
    160
    Thanks G/R
    19/10
    Trade Feedback
    44 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by king48488 View Post
    No guard pages in WoW! That was/is an overwatch thing
    I could be wrong but at the end of 2021 QueryWorkingSetEx sometimes returned FALSE for me

  10. #9
    Kovrizha's Avatar Active Member
    Reputation
    18
    Join Date
    Oct 2013
    Posts
    160
    Thanks G/R
    19/10
    Trade Feedback
    44 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hrap View Post
    I read about it, but unfortunately I don’t know how to check if the region is protected.
    could you help with that?
    Can you tell me where I can read about it?
    Afaik you need to call QueryWorkingSetEx before ReadProcessMemory

  11. #10
    charles420's Avatar Contributor
    Reputation
    315
    Join Date
    Jun 2009
    Posts
    329
    Thanks G/R
    25/119
    Trade Feedback
    0 (0%)
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    wow currently has none not saying they wont add them but easy to add check future u

  12. Thanks doityourself (1 members gave Thanks to charles420 for this useful post)
  13. #11
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    While I'm struggling with compilation problems))
    visual studio does not compile code with lpvoid to DWORD_PTR conversion
    I got stuck on such a trifle yesterday))

  14. #12
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Guys please tell me how to read the name of the player?
    I'm doing it

    Code:
    DWORD_PTR s_PlayerName = 0x00C79D10,                  // 3.3.5
    
       BYTE* ReadMEMORY(DWORD_PTR adress, DWORD size, DWORD pid)
    {
       
        static BYTE* bytes = new BYTE[size];
        HANDLE hprocess = OpenProcess(PROCESS_VM_READ, false, pid);
    
        if (!ReadProcessMemory(hprocess, (void*)adress, bytes, size, NULL))
        {
            CloseHandle(hprocess);
            return 0;
        }
    
    
        CloseHandle(hprocess);
        return bytes;
    
    }
    
    
             char buf[10];
    			memset(buf, 0, sizeof(buf));
    			memcpy(&buf, ReadMEMORY(BaseAdress + s_PlayerName , 10, myEntry.th32ProcessID), 10);
    i get doodle instead of name.
    How to do it right?

  15. #13
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Understood!))
    Learned to read from memory

    One more question left
    I have used EnumVisibleObjects before.
    I called it from a hooked render function

    Announced
    Code:
    	   typedef void(__cdecl* tEnumVisibleObjects)(void*, INT);
    	   tEnumVisibleObjects EnumVisibleObjects = (tEnumVisibleObjects)0x4d4b30
    calling
    Code:
    EnumVisibleObjects(&EnumObject,0);
    question

    Can I call and use this function from my application and how can I implement it?

  16. #14
    Razzue's Avatar Contributor Avid Ailurophile

    CoreCoins Purchaser Authenticator enabled
    Reputation
    378
    Join Date
    Jun 2017
    Posts
    588
    Thanks G/R
    184/267
    Trade Feedback
    2 (100%)
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Hrap View Post
    Understood!))
    Learned to read from memory

    One more question left
    I have used EnumVisibleObjects before.
    I called it from a hooked render function

    Announced
    Code:
           typedef void(__cdecl* tEnumVisibleObjects)(void*, INT);
           tEnumVisibleObjects EnumVisibleObjects = (tEnumVisibleObjects)0x4d4b30
    calling
    Code:
    EnumVisibleObjects(&EnumObject,0);
    question

    Can I call and use this function from my application and how can I implement it?
    Maybe take a peek and read this forum before expecting everyone to spoon feed you the answers.
    "May all your bacon burn"

  17. #15
    Hrap's Avatar Member
    Reputation
    12
    Join Date
    Oct 2018
    Posts
    111
    Thanks G/R
    12/4
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    I apologize for stupid questions.
    I speak English very bad
    Therefore, reading the forum takes a lot of time, and a lot has been read in the last week.
    I wrote a memory class and learned a lot
    Moreover, rockets fall, distracting. At night he fell very close


    And about the WOW functions: they only worked for me from the stream. I wonder if it's possible to call them remotely

    But in any case, I watch how everyone writes their own object manager, I'm currently doing it myself
    I think this is the right way

Page 1 of 2 12 LastLast

Similar Threads

  1. Help Me Choose A Bot please
    By Necrolyte4 in forum Diablo 3 Bots Questions & Requests
    Replies: 0
    Last Post: 11-04-2012, 10:17 PM
  2. Help Me Choose A Bot please
    By Necrolyte4 in forum Diablo 3 Bots Questions & Requests
    Replies: 0
    Last Post: 11-04-2012, 08:35 PM
  3. Help me choose my new Nickname.
    By Snackbar in forum Community Chat
    Replies: 4
    Last Post: 01-17-2012, 04:38 AM
  4. Help me choose a cpu processor
    By Presto12 in forum World of Warcraft Emulator Servers
    Replies: 6
    Last Post: 07-22-2009, 06:06 AM
  5. Help me choose my farm bot
    By Derrington in forum World of Warcraft General
    Replies: 8
    Last Post: 06-15-2009, 06:44 AM
All times are GMT -5. The time now is 07:57 AM. 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