Вышла новая версия CE:
Ссылка на скачивание на официальном сайте.
February 12 2025:Cheat Engine 7.6 Released for public: Nope, something went wrong
January 20 2025:Cheat Engine 7.6 Released for Windows for Patreons (Mac and public will be here soon):
I'm glad to announce the release of Cheat Engine 7.6. It has taken a while but I did manage to cram in a few neat fixes and improvements
My patreon members can get it here
(The public release is here now as well)
Please reports bugs and give suggestions to improve Cheat Engine so next version can be even greater!
Changes:
No more version numbering in the main caption. Only the about screen now has it
can run without admin and asks for admin if needed (you can set to run as admin in settings as well)
better error reporting (Especially if using the debugsymbol version)
symbol synchronization. Symbols are shared between CE instances and remembered when reopening CE
Speedhack v3 now replaces the old speedhack in windows. No more speedhack dll's to inject (more dll's to follow in the future)
Speedhack also works better in unity games now (no need to turn of vsync anymore)
byteTableToxxx now support an start index
autoassembler command AOBSCANEX - Scan only executable memory
c compiler: added __stdcall define
c compiler: windows: auto assembler can deal with stdcall mangled symbols names, and c compiler can deal with unmangled symbols when stdcall is used
c compiler: header files are used as table files. And tablefiles can have any name now
added Java info similar to .net/mono info
improved the .net info classlist performance (especially noticable in ceserver)
ctrl+space on selected bytes in hexview will make the disassembler go there
bunch of mono info improvements
lua: treenode.Index is now writable
redesigned the internals of structure dissect. Expect many new bugs there, please report! (I already know a few of them, but just waiting to get a report on them before fixing
)
updated the tcc library to a more recent version
{$luacode} doesn't need dll injection to function anymore
auto assembler DB command has been updated to allow relative changes. e.g: DB +1 +2 will increase the bytes 'db' is done at with 1 and 2 respectively
you can't destroy luafile stream objects anymore. You now have to destroy the luafile itself
added more language support for AA scripts
added a new debugger interface: gdbserver
error out scripts that try to access GUI controls from other threads. (remove threadsafegui.lua if you don't want it. But you will have a buggy CE)
tablist can't be clicked while scanning is active
removed the close button from the comments dialog
memoryregion view columns can be sorted now
C code: ANDROID define set on android targets
lua: disassembler view now has a SelectionSize property
lua: caretX and caretY are now exposed to synedit
lua: TSynAutoComplete can be created
lua: ModuleLoader can now load streams and tablefiles
memory records can now set a value on freeze/unfreeze/restore to original on unfreeze
memory records can hide the checkbox and choose to move the description to the furthest left
you can now link a memoryview hexview with a structure window column, so it's address changes when the hexview changes
patchscan will now tell you it's not going to work when you don't select any module
improved dark mode visuals
added option to ignore the upper byte of a pointer when doing a pointerscan (ARM memory tag security feature)
groupscan now supports aobscan types as well
aobscan in hexadecimal mode now supports the following operators: >XX : value has to be higher than XX,
disassembler ARM64: Added some colors
.net info: improved the class search
.net info: static methods don't need an address anymore
.net info: static methods now have a different color
.net info: added a config window where colors can be changed
.net info: invoking a method allows you to create objects using the dialog
encodeFunction results generated in another architecture can now can used by decodeFunction
structure dissect now follows the setPointerSize() directive better
added lua include files
cpuid recording in dbvm
complete redesign of error handling in the mono data collector
the monodatacollector is now multithread aware
added a bunch of lua commands to make it easier to create manual process and modulelists
added dmahelper.lua, which is an example script to show how to use direct memory access to get a processlist, and modulelist, and how to hook that info up to CE
some lua callback now have a first parameter so they run even before ce's internal handler
added ceserver command EXTCMD_DLERROR to get the error when module injection fails
improved il2cpp method enum speed
the threadsafe script terminator now shows a dialog asking you if you wish to kill the script or not
lua: Added loadNewSymbols() so not all symbols need to be reloaded on dll injection
lua: Added setSpecialScanOptionsOverride so you can control which memory regions to scan (handy for emulators)
Fixes:
Loooots of fixes in ceserver from symbollookup to debugging, pipes, basic initialization going wrong, etc...
fixed symbol to address lookup picking an old version of a same named symbol instead of later (was an issue with symbollists, like ccode)
fixed an error with .net/mono info giving an error when looking at a string
fixed disassembling of some vector instructions
fixed VEX instructions not working in 32-bit targets
fixed the translation files not being up to date in the installer
dissectcode high dpi fix
fixed structure dissect without using a structure dissect window
yet even more disassembler issues related to x86 vex and aarch64
fixed issue when ticking and unticking a checkbox in the pointerscan config
fixed some font colors and types so they adjust based on default windows config
fixed luacode when the target is 32-bit
fixed the memview disassembler bugging out when the window height is too small
dbvm: fixed an issue that would crash DBVM
Lua: Debugging scripts now doesn't delete existing debug routines
Lua: Fixed StructureFrm.getSelectedStructElement()
assembler x86_64: fix assembling ymm,m256 parameters
assembler x86_64: fixed pextrd
ultimap1: fixed the ret filter
debug information is no longer available when no process has been opened yet
c/ccode: windows.h and some other default header files can now be included without errors
c/ccode: fixed issue with chkstk symbol
mono: Fixed dealing with value_type parameters and method invoking
fixed issue where dbvm trace would error out on the results
fixed assembling pextrd
some fixes regarding roundbraces and calculations
android: fixed issue when il2cpp is inside an apk
bunch of other android related fixes (java and mono)
fixed network modulelist to be more accurate
fixed pointerscan for value scan
manual map dll's now also loads the exception handling structure
February 14 2023:Cheat Engine 7.5 Released for public:
February 8 2023:Cheat Engine 7.5 Released for Windows for Patreons (Mac and public will be here soon):
I'm glad to announce the release of Cheat Engine 7.5 which has some really neat improvements over 7.4
My patreon members can get it here
(The public release will be here any day now. Waiting for the advertisers / network owners to accept it)
Please reports bugs and give suggestions to improve Cheat Engine so next version can be even greater!
Changes:
from patreon 7.4.3 to public 7.5:
removed the driver requirement for the access memory regions tool
added 1 byte jmp instructions (that will install an exeption handler and place an int3 at the location)
added a scanoption so you can skip unpaged memory. (should prevent targets from eating up RAM when scanned)
reassemble() now rewrites an instruction using multiple lines when needed
make some error messages more descriptive
added an option to center the highlighted disassembler code to the center
added an explanation why the driver won't load and a link with info on how to get it to load for now
memoryrecord hotkeys can now be disabled individually
codefilter: unwind info now gives less bad results
added support for pseudo-ops like cmpss/sd/ps/pd
lua: added ceserver commands
lua: show a stacktrace on execution error
lua: added convertToUTF8(stringbytetable, regioncode)
made loading CT files with signatures possible under wine and proton
from patreon 7.4.2 to patreon 7.4.3:
ceserver: pipe support (mono data dissector)
ceserver: added change memory protection capability
ceserver: Available options can now be sent to the CE GUI
.netinfo: Replaced the fields view with a tree
network config: The processlist now has focus after opening a server
lua: added virtualstringtree
lua: added invertColor
lua: added disassembleBytes(bytestring)
autoassembler: now a visual warning is shown when nearby allocation fails
autoassembler: the templates now generate 14 byte jmp safe original code blocks as well
pointerscan now has a deviation option for "pointer must end with offset" to help find pointers back after update
ultimap: added copy selected results to clipboard
from patreon 7.4.1 to patreon 7.4.2
ipt: Added intel process trace feature provided by microsoft.
ceserver: Improve the modulelist fetch speed, more stable
ceserver: option to disconnect from closed ceservers
ceserver: the discovery list is now also a history list
ceserver: implement injection on arm64 as well
ceserver: also gets the fpu registers now
assembler x86_64: prefer mov rax,[rip+xxx] over mov rax,[imm64]
disasembler x86_64: switch from r#l to r#b because why not
mono: the dll now has a versioncheck so that you don't accidentally mix monodatacollector dll's
mono: deal with situations where there is no mainform
mono/.net: the methodlist is now sorted by name
better arm disassembler and assembler
better arm64 disassembler and assembler
the scanregions can be saved/loaded upon close/start ce (seperate option in settings)
added an option to skip loading .PDB files
a lot more functions are exposed to newstate threads
added ranges scans to groupscan
freeze+allow increase/decrease now also looks if the value is signed
trainers: Forms and controls now scale based on DPI
changing record showassigned/showashex now also applies to other selected entries
texttraces now don't save as .cetrace but as .txt now
ccode: #include now searches table files for files there as well
ccode: the internal symbolhandler can now deal with stdcalled function symbols
lua: added ImageIndex property to TTreeNode
lua: added OnValuechanged and OnValueChangedByUser callbacks to MemoryRecord objects
lua: added getOpenedFileSize()
lua: added onHelpEvent callback
lua: added releaseDebugFiles()
lua: added enumRegisteredSymbolLists() and enumRegisteredSymbols()
lua: added getBitmap method to ImageList objects
from public 7.4 to patreon 7.4.1:
added .Visible property to treenode entries
added .VisibleRowCount and .TopItem to listviews
added arm64 disassembling and assembling
added lua function "runCommand"
added a radiobutton to select if the generated script will use 5 or 14 byte jmps.
conditional jumps can now deal 2gb+ destinations (will get rewritten)
dotnetinfo: Performance improvement
memory record hotkeys now have a "Only while down" option
Updated the dbghelp to a more recent version which can better handle nowadys pdb symbols
different memory allocations now get placed within the initial allocation block. Protection is changed afterwards
tracer can now step over rep instructions
lua stringstream now inherits from memorystream, so you have access to the Memory field
lua: Added a callback for whenever the structure list is modified
added architecture distinguishing to ceserver
pressing escape in the hotkey form will now close it
added nested structure support
added string based custom types
ctrl+enter in the disassembler now shows relative addresses from that point
the diffcount in "find out what accessess/writes" will now stay even when disabling the option to find the number of different addresses an instruction accesses
Fixes:
from patreon 7.4.3 to public 7.5:
vehdebug: Fixed a case where a new thread creation or other event would cause another event that would trigger at exactly the same time to get the exception ignored and just continued
monodatacollector: fixed invoke method
dotnetdatacollector: Fixed issue of loading a wrong version of dbgshim.dll
fixed disassembling cvtdq2pd
from patreon 7.4.2 to patreon 7.4.3:
ceserver: Fixed extension loading in some cases
ceserver: fixed stepping on x86 targets
fixed the name showing as [physical memory] instead of the filename when opening a file
fixed a rare error when scanning using specific options
fixed some documentation in celua at some points
fixed stackview in "more info" being garbage/access violation
fixed tracer search for instructions ending with ]
fixed enumExports lua function
fixed issue where vehdebug would crash
fixed the assembler from handing [rex+reg*x] as a symbol when debugging
fixed the disassembler backlist
fixed termination issue on the memscan object
from patreon 7.4.1 to patreon 7.4.2
Fixed the tracer search for instructions ending with a ]
VEH debug: Fixed the potential of invalid handles being used
Kernelmode debug and VEH debug: Fixed setting context on non suspended threads
fixed the lua_pcallk delegate in the c# plugin example
fixed speedhack on wine 7.0
fixed high dpi issue of structure dissect on first view
fixed high dpi issue on find what access/writes dialogs
restored the anchor editor (was gone in 7.4.1)
fixed .net info instance lookup issue
fixed customtypes getting marked as string (bug introduced in 7.4.1)
fixed runcommand
fixed modalforms from losing their text color internally (bug introduced in 7.4.1)
mac: fixed some progressbars not properly updating
from public 7.4 to patreon 7.4.1:
fixed the all type not finding 4 types when double was deselected
fixed the "all" type when not using double
fixed ccode esp access in 32-bit and "reg"f types
fixed disassembling when using binutils for disassembly
fixed the tablefiles menulist eating memory because they didn't get deleted properly
fixed .net issues that use obfoscated modules and missing metadata
fixed paring value starting with a - or +
fixed assembling pmovmskb
fixed disassembling vgather* vex256 instructions and allow usage of xmm/ymm registers as address (for instructions that allow it. Like this one)
fixed the addresslist not giving a proper error when using multiple enable or disable section
fixed error when using ctrl for speedhack hotkeys
fixed the groupscan command parser from assigning wildcard to the wrong combobox
fixed disassembling xchg eax/rax,xxx
fixed lua custom type registering as float when using the non lua function method
fixed small memoryscan issue for data at the end of a memoryblock
ccode doesn't register useless symbols anymore