Announcement

Collapse
No announcement yet.

Defeating DMA in Cheat Engine 6.1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Defeating DMA in Cheat Engine 6.1

    Hi All,

    I try to develop a trainer for a game and everything works well except when I close & restart the game, it does not work. This is how I do it.

    1 - Game starts with health 110 so I scan for 110 and get the Address 11242DA8. I make sure this is the correct Address by adding it to the bottom table List and checking the "Active". Now when I play the game my health does not change. So it must be the right Address.

    2 - Right Click on the Address and click "Find out What Writes to this Address". Go back to the Game and lose some Health to get the opcode. I get "0044D0F8 - 89 7E 68 - mov [esi+68], edi". Now I right click on it and get "More Info". This gives me the "Extra Info" window with the following details

    a. 0044D0F8 - mov [esi+68], edi
    b. ESI = 11242D40
    c. The value of the pointer needed to find this address is probally 11242D40

    3 - I go back to the main Cheat Engine Window, Check the "Hex" box to do a Hexadecimal value scan for "11242D40". I get 36 Results.

    4 - I double click the top most entry in the scan results to add to the bottom Table List. There are no Green/Static Results. The top most entry is "04B86A00" with Value of "287583552"

    5 - I click "Add Address Manually", check "Pointer", Add the Address "04B86A00" in the "Address of pointer", Add "68" in the "Offset{Hex}". The Add Address Windows tells me that "This pointer points to the address 11242D40" and "The offset you chose brings it to 11242DA8"

    6 - When I click ok, A new entry is added to the bottom Table list in the Main Cheat Engine Window as "P->11242DA8 4 Bytes 98"

    7 - Now I make a Trainer for this. Go to file, Generate Trainer from Table", Add Hotkey, Alt+F1 for increase value with 10, Click Generate trainer, Give it name of Trainer and save it to desktop, Choose "Kernal Tools" in the "Features Used", Choose "None" in the "Compression" and click Generate. The Trainer has been generated successfully.

    8 - Now I do not run the trainer, go back to the game and click Alt+F1. My health increases by 10. I am guessing this is from the Cheat Engine and not from the Trainer since the Trainer is not running. So I close all Cheat Engine windows and cheat engine itself. Than I run the Trainer. Now when I do Alt+F1 in the Game, I get a increase of value 10. So Far So good.

    9 - Now I close the Game, close the Trainer, Start the Trainer and start the Game, and again press Alt+F1 in the Game. It does not work like it worked previously. There is no increase in my health of value 10.

    Note that I Choose "Debugger method" as "Use Kernelmode debugger" in the Settings/Options as "Use windows debugger" and "Use VEH" Debugger" does not work on Windoes 7 and I get "Cannot Attach Debugger" Error.

    Any Ideas.

    Thanks.

  • #2
    You should be asking this at the Cheat Engine forums where their guru's are at. A game changing a location when you quit and restart it again isn't that surprising, it's just another pointer.

    By close do you mean close the entire game and start a new instance, or do you mean quit in-game and start a new game?
    July 7, 2019

    https://www.4shared.com/s/fLf6qQ66Zee
    https://www.sendspace.com/file/jvsdbd

    Comment


    • #3
      Originally posted by JAA149 View Post
      Hi All,

      I try to develop a trainer for a game and everything works well except when I close & restart the game, it does not work. This is how I do it.

      1 - Game starts with health 110 so I scan for 110 and get the Address 11242DA8. I make sure this is the correct Address by adding it to the bottom table List and checking the "Active". Now when I play the game my health does not change. So it must be the right Address.

      2 - Right Click on the Address and click "Find out What Writes to this Address". Go back to the Game and lose some Health to get the opcode. I get "0044D0F8 - 89 7E 68 - mov [esi+68], edi". Now I right click on it and get "More Info". This gives me the "Extra Info" window with the following details

      a. 0044D0F8 - mov [esi+68], edi
      b. ESI = 11242D40
      c. The value of the pointer needed to find this address is probally 11242D40

      3 - I go back to the main Cheat Engine Window, Check the "Hex" box to do a Hexadecimal value scan for "11242D40". I get 36 Results.

      4 - I double click the top most entry in the scan results to add to the bottom Table List. There are no Green/Static Results. The top most entry is "04B86A00" with Value of "287583552"

      5 - I click "Add Address Manually", check "Pointer", Add the Address "04B86A00" in the "Address of pointer", Add "68" in the "Offset{Hex}". The Add Address Windows tells me that "This pointer points to the address 11242D40" and "The offset you chose brings it to 11242DA8"

      6 - When I click ok, A new entry is added to the bottom Table list in the Main Cheat Engine Window as "P->11242DA8 4 Bytes 98"

      7 - Now I make a Trainer for this. Go to file, Generate Trainer from Table", Add Hotkey, Alt+F1 for increase value with 10, Click Generate trainer, Give it name of Trainer and save it to desktop, Choose "Kernal Tools" in the "Features Used", Choose "None" in the "Compression" and click Generate. The Trainer has been generated successfully.

      8 - Now I do not run the trainer, go back to the game and click Alt+F1. My health increases by 10. I am guessing this is from the Cheat Engine and not from the Trainer since the Trainer is not running. So I close all Cheat Engine windows and cheat engine itself. Than I run the Trainer. Now when I do Alt+F1 in the Game, I get a increase of value 10. So Far So good.

      9 - Now I close the Game, close the Trainer, Start the Trainer and start the Game, and again press Alt+F1 in the Game. It does not work like it worked previously. There is no increase in my health of value 10.

      Note that I Choose "Debugger method" as "Use Kernelmode debugger" in the Settings/Options as "Use windows debugger" and "Use VEH" Debugger" does not work on Windoes 7 and I get "Cannot Attach Debugger" Error.

      Any Ideas.

      Thanks.

      What kind of game are you hacking?
      Keep Smile + Let's be together !! + Magical Glasses + Cowabunga + Superhero + Maximum Carnage

      Comment


      • #4
        By Close I mean, close the entire game and start a new instance.

        I did ask it at CE forums, But no help there. I thought guru's are here too.

        Comment


        • #5
          This is is the game

          http://www.gametop.com/download-free...ombie-shooter/

          Comment


          • #6
            Originally posted by JAA149 View Post
            This game is not easy to make a PC Trainer for that. I can't help you. Most of the trainers I made them are all (static address)-> green addresses.
            Keep Smile + Let's be together !! + Magical Glasses + Cowabunga + Superhero + Maximum Carnage

            Comment


            • #7
              Learn to use the pointer scanner to find a good static pointer. The default settings are good.

              Find the health address, pointer scan, run it and let it finish. Leave the pointer scan window open.

              Exit the game and restart it, and find the new health address. Go to the pointer scan window, and find the menu option to rescan memory. Type in the new health address and click ok. Chances are this will get you a good pointer with the right offsets, go for one at the top of the list.

              To be extra sure it's good, close and restart the game, find the new address, and scan again.

              Voila.
              Please put all complaints in writing and submit them here.

              Above link not working? Try here.

              Comment


              • #8
                Right. Thanks

                Comment


                • #9
                  Originally posted by JAA149 View Post
                  Right. Thanks
                  How's your progress of making Zombie Shooter trainer?
                  Keep Smile + Let's be together !! + Magical Glasses + Cowabunga + Superhero + Maximum Carnage

                  Comment


                  • #10
                    i actually have lot of problem becoused of this dma things
                    or somehow tht madress will overwrited quickly to original lines on realtime edited atempt
                    and somekind address tht may encrpyted,
                    its there any way to fully control encrypted adrress?or maybe can be fully overwrited with some tool?
                    dood! im a uniter, not a divider dood

                    Comment


                    • #11
                      There are multiple levels of a pointer, I once went down 8 levels to make a code, you basically did everything you did to fnd the first pointer and just keep repeating with the new results you will have a pointer in pointer code that should be static (green).
                      Spoiler Alert! Click to view...

                      THE BAD GUY!!!!!!

                      Comment


                      • #12
                        Abystus wrote a tutorial on how to convert DMA addresses to Static here. It deals with Tsearch, however.
                        The Hackmaster

                        Comment


                        • #13
                          I don't do PC games much, but I have to wonder why you're hanging onto pointers if you have a debugger that works. You had the address of the ASM writing the health. Is that not static either? If it were me, I'd make the trainer change that x86. Screw playing with pointers. I don't know enough x86 to trace stuff back, but NOPing should be easy enough. If the ASM isn't static, find it in the EXE and make a loader/patch. I never did find out exactly how to do a loader in C.

                          Comment


                          • #14
                            The reason I used a pointer was because the game used the same routine for tons of different things so if I NOP the instruction the game goes to shit. In case you're wondering what game it was one of those RPG Maker games and I could never find a static pointer which kind of sucks but like I said above I went 8 levels deep and gave up.
                            Spoiler Alert! Click to view...

                            THE BAD GUY!!!!!!

                            Comment

                            Working...
                            X