Home Artists Posts Import Register

Downloads

Content

Here's the latest build of Cheat Engine 7.2 .  Likely this will be about the same as the released version when it finally gets published publicly, but there may still be a few bugfixes and perhaps if it's small enough that it doesn't break anything else a small new feature here and there (e.g. exposing some more stuff to lua for scripts)


Additions and changes:

Big Endian custom types. You can enable them in settings if you like
Commonality scanner now also compares the base address. (handy in case it's more than one register)
translation support for ceshare
smartedit now also deals with isPointer and isOffset memrecs
referencedfunctions filter improvement
PE section display/parsing for addresses
D3D hook now asks if you're sure you wish to use it (in case of accidental click)
Memoryview hexadecimal view:
can now show custom types
Changing memory protection depends on the selected byte(range)
Break and trace window now supports searching the referencedAddress, referencedBytes and Instruction
When changing a memoryrecord value, you can reference 'value' and apply math to it
Added a "File->Load Recent..." menulist
Added an option to autosave (in settings)
Added .netcore support to the dotnet data collector
Added a syntaxcheck menuoption to the CE lua script window
Added tabs to the autoassembler and CE Lua script window. In case of the Lua script, the tabs get loaded from left to right whenn the table loads
When syntax checking an AOBScan script in 64-bit that does an Alloc without prefered base, ask if the user understands that the jmp instruction will be 14 bytes long
Some extra foundlist preferences
Find out what access/writes now resolved the address to string (when it has time)
CEShare now has a list of games that have tables
AA: dealloc(*) - Now deallocated all memory a script allocated
AA: unregistersymbol(*) - Now unregisters all symbols a script registered
Added a more userfriendly .net inspector
Autoattach won't open itself anymore
CEShare now has a list of all available tables
Code Dissect now deals with relocated memory modules when loading a state back
added first seen and last seen to the "find what *" results (bottom of the list)


Fixes:

Auto Assembler: Fixed getting weird numbers for newmem when using the templates to add new scripts
Unknown initial value scan for 2GB+ regions failed
Resolved issue where typecasts where replaced by addresses. (having a memoryrecord named float, would break AA scripts that'd use (float) )
AMD support for DBVM
Memoryrecord hotkeys showing up in the settings window as bring to front. Where clicking OK would then set it to that
Copy paste bug in the form designer
Hotkeys swapped comma and period on display
Resolved some issues with the forced module loader, and if it fails, don't freeze CE forever
AutoAssemble local would fail after opening a process
Pointermap based rescan
Assembler: (v)insertps , (v)comiss, (v)blendvp(s/d)
Kerneldebug is more stable on newer windows builds
fixed AOBScanUnique
fixed loading back dissectcode data for relocated modules
lua scripts that tell the debugger to stop and display the state but in their code told the debugger to continue won't cause a 'something happened' message anymore
fixed assembling MOVBE


Lua/Mono: Better support for utf8 strings
Lua/Mono: Support targets that use mono, but not unity
Lua/Mono: UWP targets work better
LuaEngine: Autocomplete won't lowercase functions anymore if they are lua functions



lua:
changes:

Fixed executeMethod for widestrings (type4)
AddressList['description'] works now as well
some scripts variables that used to be global are now local
injectDLL has a new parameter to specify if CE should reload the symbols
getNameFromAddress has a new parameter to specify if you wish section names (default=false)
TfrmLuaEngine: document the mOutput and mScript properties
loadModule now has an optional timeout value
added an interface for the DotNetDataCollector
implemented RemoteExecutor , which is a class which can execute remote memory fastyer than ExecuteCodeEx while keeping the same capabilities
createClass and createComponentClass won't access violation anymore for giving an unsupported name
exposed getImageIndex and getStateIndex for ListItem objects


New functions:
Code:
    printf   
    string.split
    generateCodeInjectionScript
    generateAOBInjectgionScript
    generateFullInjectionScript
    getNextAllocNumber
    addSnapshotAsComment
    getUniqueAOB
   
waitForSections
    getUserDocumentsPath
    getDotNetDataCollector
    injectDotNetDLL

    TfrmLuaEngine:
      createLuaEngine     

    TfrmAutoInject:
      Properties:
        TabCount
        TabScript

      methods:
        addTab
        deleteTab

    Memoryrecord:
      properties:
        NumericanValue
        HasMouseOver

      methods:
        beginEdit/endEdit

    AddressList:
       properties:
         OnAutoAssemblerEdit
         MouseHighlightedRecord()

       methods:
         rebuildDescriptionCache

    Settings:
      methods:
        getBinaryValue
        setBinaryValue


For Mac users:

If for some reason you can not execute CE, then try executing this from a terminal in the same path as the extracted cheat engine app file

sudo Cheat\ Engine\ 7.2\ RC\ 1.app/Contents/MacOS/cheatengine-x86_64.exe hasrights

(all in one line)

followed by your password

The hasrights parameter skips the part where it asks the OS to relaunch with extra privilege


Please report any bugs you find, and feedback on what should be improved and general ideas as well.

And please join the discord.  I am there often and other people can help as well. Message me if you have trouble getting in (Custom pledges seem to have no access automatically)


10/23/2020: Replaced the broken monodatacollector dll for windows and removed some debug messages

10/26/2020: Fixed  the preferred memory region alloc not working, and improved the .netinfo window classfield

Comments

Anonymous

It stopped working with Civ6

Anonymous

Great update! Thanks for all your work in bringing this amazing software to Mac. So far I only have one issue, and that is with Mono features. There are a lot of details that you'll likely want, so email me at calvincorrieri@gmail.com if you find the time. Let me preface this by saying I am running Catalina and have Mono installed. My issue is that after opening an address in the disassembler (only when mono features are enabled) it causes a game crash every time. Happens with ETG and Cuphead. I know it's unreasonable to expect a preview build to function 100% perfectly, but I just wanted to bring this issue to your attention. Again, thank you for your hard work. I'm looking forward to the next release!

cheatengine

Thanks, I'll check it out. Is it an actual crash, or just freezing of the game? Does it crash when watching the memory of a mono function, or an unrelated function? Did you perform any debugging on the game? Because if the mono thread where to disconnect due to timeout(breakpoint hit), the heartbeat will stop on the mac version, and result in a freeze, until you reconnect You can of course always post on github about the issues as well it's easier to upload files and logs there as well.

Anonymous

nice, great work friend. thanks. how do i get the discord invitation?

cheatengine

Attach discord to your patreon account. (you are already on the discord channel so it seems it works)

Anonymous

ah thanks,

Anonymous

yeah im new how do i get discord invitation?

cheatengine

Usually halpens automatically. You do need to link your discord account with patreon

Anonymous

Does the hack work on steam adventure capitalist?

Anonymous

no support for network scan???

Anonymous

chrome keeps blocking me from downloading the windows version, what do I do?

cheatengine

try https://www.google.com/amp/s/www.businessinsider.com/how-to-stop-chrome-from-blocking-downloads%3famp

Anonymous

not use chrome

Cassandra

I downloaded, i opened, i tried, i failed. I put in the hex number for the open program and tried to change some prices and then i reopen the shop and it simply did not work. Help!

cheatengine

If the value is server sided it won't work. Alternatively perhaps you only foubd a temporary display value but the actual value is stored differently. E.g different type. Try the all type.