Skip to content

Releases: cheat-engine/cheat-engine

Cheat Engine 7.5

23 Feb 21:02
Compare
Choose a tag to compare

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

Cheat Engine 7.4

20 Jan 09:29
Compare
Choose a tag to compare

Additions and changes:

  • AA templates now generate 14 byte jmp scripts when holding down ctrl
  • Foundcode dialog: Replace now toggles between nop and original. Also prevents duplicates
  • improved keyboard control to the hexview in memoryview. You can now hold shift while using the cursors to move
  • laststate isn't saved in tables anymore (unless ctrl is down)
  • added some space for dbvm functions so it's less likely to click them
  • you can now manually delete saved results
  • debugger attach timeout window will now show the status on some debugger interfaces
  • modules for 64-bit in 32-bit targets are more clearly marked as such
  • mono will not try to re-attach after a disconnect
  • lua: fixed copyMemory mode 2

from 7.3.1-7.3.2:

  • structure dissect watch for changes now also shows you when something has changed inbetween
  • added hints to how the pointer wildcard works
  • created an alternate named CE version that runs without admin (not an UCE, do not think it is one, you will be disappointed)
  • the replace button in foundcode dialog now supports multiselect
  • You can now also change values of groupscan scan results directly in the foundlist
  • lua's openProcess command now won't deactivate all entries when previously no process was selected
  • you can now edit instructions with a breakpoint on them
  • added linux ABI c-compiler dll's
  • by default mono now releases the .net thread

from 7.3.2-7.4:

  • added shortcut to add this address to addresslist in hexview (ctrl+numPlus)
  • goto address popup now centers on the memview window, instead of screen center
  • you can now change the font of the tracer tree
  • added isRep to the lua LastDisassemblerData field. And stepover now steps over rep instructions
  • break and trace: Added 'stay within module' option
  • added custom alignment option to the hexviewer section of the memoryviewer

Fixes:

  • fixed loading back highligter config for auto assembler windows
  • .netinfo: fix field searching
  • fixed disassembler issues/memory corruption when closing a secondary memoryview window
  • fixed brake and trace killing the debugger when skipping certain modules an failing in figuring out the return address
  • fixed auto attach not stopping the process flash
  • mono is less likely to disconnect when dissecting an invalid memory address
  • fixed checkbox and radiobutton not sizing properly in dark mode
  • foundlist: display type override also afffects the saved columns
  • foundlist: new scan now alsdo clears the saved results
  • processlist: Fixed the highlighted color process entries in light mode
  • fixed compare to first scan hotkey
  • fixed handling of broken/empty language folders
  • fixed network modulesize lookup. (needs a new ceserver build as well)
  • fixed position saving for the foundcode dialog
  • fixed lua errors not giving a proper errormessage
  • fixed {$c} and {$ccode} for the 32-bit CE build
  • fixed logging of writes to ignore the addresslist freezing(Skyrimfus)
  • fixed dealing with -0.0f in c/ccode blocks
  • fixed memscan on the last block of readable memory
  • fixed dealing with the proper way of namespace.classname:modulename formatting. (Supports both formats)
  • fixed error when using freeze by thread with a very small interval
  • fixed {$ccode} and {$luacode} when not giving any parameters
  • fixed some include files erroring out when used

from 7.3.1-7.3.2:

  • network ceserver/linux: Fixed wpm corrupting the memory
  • fixed the elf symbol parser
  • fixed speedhack on linux
  • il2cpp now has a progressbar
  • fixed handling some newer il2cpp games
  • fixed vmin assembling
  • fixed the ceshare color (bug introduced in 7.3.1)
  • fixed freezing when entering the wrong ceserver details
  • fixed deleting groupscan entries from the scan
  • fixed pointerscan not loading results when in a path with non-ascii characters
  • fixed the standalone trainer maker giving an error about duplicate entries

from 7.3.2-7.4:

  • lua: fixed readByte signextending when it shouldn't
  • Fixed mono not injecting if you didn't have the visual studio debug dlls (introduced in 7.3.2
  • fix changeregonbp where it only changed xmm0
  • window position saving of "find what addresses this code accesses" should be more predictable
  • fixed saving of some color preferences in hexview, and added the fadecolor
  • fix AA createThreadAndWait not working in a standalone script
  • improved stability of mono
  • fixed break and trace ignore flag causing an stop instead of ignore on 64 bit targets

Cheat Engine 7.3

16 Aug 11:29
Compare
Choose a tag to compare

Additions and changes:

  • Added dark mode support (restart CE when you change the setting)*
  • All saved results are now shown in the foundlist (can be turned off)*
  • Groupscan now supports pointer wildcards. (only valid if the field is a proper pointer)*
  • Hotkeys can be repeated by releasing the key and repressing if the repeat timer hasn't finished yet*
  • Structure dissect add to addresslist uses the addressstring instead of number, so symbols will be preserved*
  • Structure dissect now has a option to save the previous state of a column and show changes easier*
  • Middle-mouse clicking now copies the value of a structure element to your clipboard*
  • Added {$LUACODE} blocks for inline Lua coding*
  • Added a c-compiler to CE*
  • Added {$C} blocks to the auto assembler. all {$C} blocks get combined into one script before execution*
  • Added {$CCODE} blocks for inline C coding (Check the forum, wiki, CE patreon discord or CE's youtube)*
  • Added a C# compiler (compilecs)*
  • Added routines to do .NET(and mono) method detouring. .NET info has a new contextmenu where you can create a detour template for the autoassembler*
  • Added invoke method to the .NET Info window as well*
  • [Disable] sections can now reference labels, defines, AOBScan results, and allocs created in the [ENABLE] section*
  • Userdefined symbollist has a secondary list for CCode symbols*
  • The change address window now also supports relative offsets*
  • DBVM speed improvements*
  • DBVM has an extra security level, and added dbvm_setKeys to easily change the access codes*
  • DBVM has now some basic support for nested VM's (only so you can run them, not yet modify)*
  • New debugger interface: DBVM-level debugger*
  • Improved performance of "Find what access/writes this address"*
  • Dissect code now lets you specify custom ranges*
  • Addresslist value sort now sorts values by alphabet if the record is a string type*
  • The dropdown list of multiple entries can now be changed at the same time*
  • Standalone register window now shows flags values as well*
  • Value Between scans now autoswap the order if the first value is bigger than the 2nd*

Fixes:

  • fixed some games freezing CE when symbols where accesses*
  • Lua debug now shows for loop variables*
  • several windows now save their position, and won't get corrupted if you don't show them the first time running CE*
  • fixed createthreadandwait when using a timeout*
  • fixed disassembling vcvtsi2ss*
  • fixed compare to first scan if it's a large block, and made it more efficient*
  • ceshare: logout fixed*
  • fixed assembling movsq*
  • fixed ultimap ret filter*
  • fixed luapipe never calling OnError*
  • fixed vehdebug in 64-bit CE zeroing out the FPU registers in 32-bit targets*
  • fixed DBVM find what access/writes sometimes skipping entries on AMD*
  • fixed undo not working on memory records when using the single line editor*
  • fixed hide children group option when loading a table*
  • fixed some font issues in the break and trace window*
  • fixed pasting the other types in hexadecimal view*
  • fixed the symbolloader fully crashing on unknown pdb symboldata*

lua:

  • changes:*
  • saveTable won't ask to sign the table anymore*
  • messageDialog will work if you omit the buttonlist. (Defaults to mbOK then)*
  • added more customizabe button*
  • registerSymbol no longer errors out the whole script on failure. It now overwrites existing symbol*
    .. much more. check celua.txt

Cheat Engine 7.2

03 Nov 17:14
Compare
Choose a tag to compare

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 and 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
  • Lua Formula scan has an alternate scan option which allows for more than 1 thread
  • Change Value of memory records can now deal with math

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
  • 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

  • Fixed executeMethod for widestrings (type4)
  • Fixed AOBScanUnique truncating addresses
  • 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
    And a bunch of new functions and classes/methods/properties. Check out celua.txt

11/04/2020: Fix scripts that use some of the obsolete unsupported functions

Cheat Engine 7.1

22 Apr 16:17
Compare
Choose a tag to compare

Additions and changes:

  • Added support for il2cpp (mono)
  • Added support for .NET dll plugins
  • Change register on breakpoint now also affects FP and XMM registers
  • Added CEShare, a way to share your tables with other people
  • Improved disassembling
  • copy bytes+addresses now only does bytes+addresses
  • call filter can now use the unwind data for functions to get a decent list of instructions
  • structure dissect shows the pointerpath at the bottom
  • Follow register while stepping (rightclick the register to show the option)
  • registersymbol and label now support multiple definitions in one line
  • improved the speed of the structure list when getting data from a pdb
  • hexview: doubleclicking a non-byte value now shows in the type you set
  • added sorting to the found code dialog
  • added filtering to the changed addresses window
  • the debugger settings won't lock from changing anymore, still needs you to reopen a process to have an affect
  • added always hide children groupoption
  • group headers can act as address now
  • AA command createthreadandwait now has a timeout parameter
  • Assembler scanning improvement
  • Added an AVX2 version of CE, which will speed up all those floating point operations CE does so much...
  • Improved structure lookup for PDB files
  • Symbolhandler can now have the following types in front of pointers : (BYTE), (WORD), (DWORD), (QWORD), (CHAR), (SHORT), (INT), (INT64) to typecast the pointer to a value of that type
  • Structure dissect can detect vc++ and object pascal classnames now
  • Dissect code now also detects references to strings
  • Sorting the addresslist now sorts faster and more properly with regards to groups (depends on the level your current selection is)
  • Rightclick the addresslist header to bring up a menu which allows you to disable sorting
  • Improved the processlist responsiveness
  • The chosen floating point rounding type is now saved in the registry
  • You can now use (addresslist description) as an address
  • Improved autocomplete

Changes:

  • DBVM doesn't activate the TSC hook by default. You can still activate it by using dbvm_enableTSCHook()

Fixes:

  • Fixed memoryleak when opening a file for hexediting again
  • Fixed utf8 display of the dissect windows window
  • Clear the taskbar progress when using a custom scan
  • Hexview: Fixed changing the address when pressing a non char key
  • Hexview: Fixed changing the address when doubleclicking and then canceling
  • alloc with a prefered base is now more aggressive in getting the range you want
  • fixed mono symbol lookup while dlls are still being loaded
  • fixed the structure compare not giving a proper errormessage
  • fixed improper error messages in structure dissect
  • fixed opening process in XP
  • fixed potential deadlock with the symbolhander
  • fixed issue with using the process var as symbol
  • fixed default form size for some windows when using high DPI
  • fixed DBVM on systems that have the default MTRR set as 6 (e.g Asus systems)
  • fixed DBVM find what accesses with large datasets
    Lua
    New functions:
    function onTableLoad(before)
    sendMessageTimeout
    createTimer(delay,function())
    createStructureFromName()
    createSynEdit()
    changes:
    fixed executeCodeLocalEx with certain parameter definitions
    fixed openFileAsProcess
    checkSynchronize has a timeout now
    OnGetDisplayValue now also works on AA records(<script>)

Cheat Engine 7.0

20 Aug 17:23
Compare
Choose a tag to compare

Additions and changes:

  • Icons
  • Added a way to dissect and show a function's working using a diagram
  • Auto repeat option for unchanged value scans
  • Added lua formula scans
  • Moved the compare to first/saved from scan type to a checkbox
  • Added a scanner that can detect and undo memory changes in the target process code sections (patch scanner under tools in memview)
  • The tutorial now has a link to online help for each step
  • Added a toolbar for stepping while debugging
  • When a memoryrecord fails to activate, you can rightclick it and see why it failed
  • AutoAssembler will now cut down on the nop's used
  • Better error reporting in autoassembler scripts
  • DBVM can now dynamically adjust the TSC. This can be disabled if it causes performance issues with dbvm_setTSCAdjust(disable)
  • speedhack now also hooks gettickcount64
  • added dw 'utf16string' support
  • implement VPID support in DBVM (performance increase)
  • kernelmode->driverlist now also shows driver exports
  • kernelmode symbols now also show in the enum dll's and exports
  • change the way slow symbol lookup is handled
  • several small updates to the codecave scanner
  • several small updates to the hexview find window
  • Use defered pdb loading instead of waiting for it
  • Several more windows have been made DPI Aware
  • Add option to show processid's as decimal in the processlist
  • When pressing shift+space instead of space to follow an instruction you will now open a new memview window
  • Added *:undefined support for dropdown lists
  • Added init.lua files for translations to use
  • Stackview now shows symbolnames as well
  • Some extra windows will now save their location
  • Exe trainer generator now lets you change the default files
  • The description of conditional jumps is better to understand now
  • Ultimap2 can now keep the tracer files and scan kernelmode memory as well if desired
  • Groups now get created afgter the selected item
  • Smartedit can now also 'smart'-edit children
  • You can now pick a breakpoint type without having to go to settings, and once picked it will be the default type for Toggle breakpoints until changes again
  • Floating point screen will now stay within the screen
  • Clicking execute in the lua engine will now change focus back to the editor field
  • Debugger interface settings will now only lock after a succesful attach
  • Some translation improvements here and there
  • DBVM changeregonbp's are now displayed in CE's interface as well
  • The foundlist colors can be customized now
  • Improved DBVM cloak performance when more than 20 regions are cloaked
  • Implemented DBVM based execute watch and "find what addresses this code accesses"
  • Implemented DBVM breakpoints (They always execute afterwards, including execute bp's)
  • Improved autocomplete so it now doesn't delete old code
  • Added hotkeys to ultimap2

Fixes:

  • fixed BSOD in recent windows updates
  • fixed VEH debug not handling breakpoints when a thread is created/destroyed right at the same time as a breakpoint
  • fixed the stacktrace in 64-bit targets
  • fixed rounded Extreme for float and double scans
  • speedhack now waits for proper dll injection
  • several disassembler instructions
  • some assembler instructions
  • improved the stability of dbvm find what * routines
  • fixed the hit counter in dbvm find what * routines
  • fixed kernelmode symbol loading
  • fixed DBVM memoryleak when disabling watches
  • fixed DBVM internal memory manager (more stable now)
  • fixed internal VirtualToPhysicalCR3 when dealing with 2MB+ pagesizes
  • fixed using megajmp's in cloaked regions
  • fixed speech when using async records
  • fixed executeCodeEx for more than 4 parameters
  • fixed static field script in mono by adding 64-bit codegeneration
  • fixed mono process crashing in some cases
  • fixed megacall following
  • fixed NO_CACHE memory being scanned anyhow even if it was disabled
  • fixed dealing with floating point values that are too big to be useful
  • fixed setting DR7 to a strange value when using global debug
  • fixed clearing DR6 when in the wrong process in kernel debug
  • fixed triggering kernelmode breakpoints in locations you can not properly break (no interrupts)
  • fixed loading dbvm inside dbvm inside dbvm inside dbvm
  • fixed autoassembler replacing words in quoted strings
  • fixed processwatcher not getting a proper PID
  • fixed hotkeys triggering changed/unganged for types they aren't supposed to
  • fixed showing dr2, dr3 and dr4 types in the threadlist

lua:
New functions:

 compareMemory
 encodeFunctionEx
 enableKernelSymbols
 waitForExports
 waitForDotNet
 waitForPDB
 waitforsymbols
 searchPDBWhileLoading
 duplicateHandle
 getScreenDPI
 extendedToByteTable
 byteTableToExtended
 executeCodeLocalEx
 executeMethod
 allocateSharedMemoryLocal
 (un)registerCreateCallback
 (un)registerFirstShowCallback
 (un)registerCreateCallback
 dbk_usePhysicalMemoryAccess
 dbk_setSaferPhysicalMemoryScanning
 dbk_readPhysicalMemory
 dbk_writePhysicalMemory
 dbvm_addMemory
 dbvm_removechangeregonbp
 dbvm_speedhack_setSpeed
 dbvm_setTSCAdjust

changes:

  • getWindowList now returns the results just like ce's window list
  • documented OnChangeBounds for the Control class (was already there, now documented as well)
  • executeCodeEx can now also taker just parameters without typedefs
  • added Data field to ListItem's
  • added description field to memrec.createHotkey method
  • added clear method to the menuItem class
  • readStringEx() can now deal with partial memory reads
  • executeCodeEx: Fixed more than 4 parameters
  • added Point type
  • fixed editbox selstart/sellength types, and added CaretPos
  • added HeaderSection class and document HeaderSections
  • added roundRect, drawFocusRect and textRect to the Canvas.
  • added ansicode character support for textRect
  • added loadFromStream and saveToStream to the RasterImage class
  • added readAnsiString and writeAnsiString to the Stream class
  • Better document the mode field of createFileStream
  • Expose the handle of the LuaPipeServer
  • Publish frmTracer
  • Publish frmUltimap2
  • Publish frmCodeFilter
  • Publish imagelist
  • Added the DrawItemEvent general GUI property to Lua's callback system
  • Added the MenuDrawItemEvent general GUI property to Lua's callback system
  • Added the ContextPopupEvent general GUI property to Lua's callback system
  • Created a new Diagram class group which can allow you to create graphs and diagrams
  • Memoryrecord.DropDownValue and DropDownDescription work now (still RO)

08/21/2019:
Fixed loading existing files for asian users (textencoding was turned on, but that broke old files)
Added extra last minute highlighter options thanks to mgr.inz.player

08/25/2019:
Fixed UTF8 copy/paste in addresslist
Fixed loading/editing forms
Fixed createFileStream

08/27/2019:
Fixed lua pipe strings (mono uses it)

Cheat Engine 6.8.3

07 Feb 19:12
Compare
Choose a tag to compare

Fixes
debugging/stepping with hotkeys
several high DPI visual glitches
VEH debugger reattach works again
Pointerscan resume works again
Stackview can now show by reference , previously it did nothing
disassembling imul
speedhack while key down option
assembling values with x*2/4/8
the "resume thread" in the threadlist now resumes threads instead of freezing them
fixed an error popping up when editing registers with no debugger attached
getNameFromAddress will not show userdefined symbols when symbols are disabled

Additions and changes
Waiting till all symbols have been loaded has been removed
Launching structure compare from dissect data now only needs 1 address, though it's recommended to have at least 2 each
Code completion in lua engine is now more smoother
You can now compare traces generated by the tracer
Threadlist window now has a copy to clipboard
Structure compare now digs deeper into pointers
Pointerscan import/export now works with newer types as well
Better Lua comment support
Added rudimentary sort to the structure compare window (based on levelwidth only)
Referenced strings now also shows if it's unicode
Formdesigner now has a context menu to add undocumented controls

lua
added enumMemoryRegions
added getWriteLog (Let's you get the writelog and activate it)
HexadecimalView: added the OnCharacterRender and OnValueRender events

Cheat Engine 6.8.2

20 Dec 11:11
Compare
Choose a tag to compare

Fixes:
Disassembler: Several disassembler instructions had a comma too many or too few ,fixed those
Disassembler: Fixed the description for ret #
Disassembler/Debug: Fixed the address that is being edited when a breakpoint hits while editing an instruction
Assembler: Fixed assembling reg*2/4/8+unquotedsymbol
Plugin: Fixed the SDK for C plugins that use the disassembler callback
Hotkeys: Fixed the attach to foreground hotkey
Memory Scan: Fixed the percentage scan
Memory Scan: Fixed a rare situation that could cause an error
Memory Scan: Simple values now works with groupscan
Memory Scan Lua: Scanfiles now also get deleted if the memory scan object is freed before the scan is fully done
Fill Memory: Now allows 64-bit addresses
Structure Dissect: Fixed the popupmenu "change type" so it now affects all selected entries instead of just the first
PointerOrPointee window: Fix the debug pointer or pointee window button text when using access instead of writes
GUI: Fixed and restored the DPI Aware option in setting
GUI: Some DPI fixes/adjustments here and there
Graphical Memory view: Fixed DPI issues
Symbolhandler: When the symbolhandler now waits till it's done, it won't wait for the structures to be parsed anymore

Additions and changes:
Lua Engine: Added autocomplete
DLL injection: On DLL injection failure CE tries to fall back on forced injection methods
Assembler: Added multibyte NOP
Plugins: Plugins can now have side dll's that are statically linked in their own folder (Windows 7 with updates and later)
Debugging: Improved the FPU window editing when single stepping, allowing you to change the FPU registers
Debugging: Threadview now updates when single stepping and cnanges made there will affect the currently debugged thread (before it didn't)
Debugging: Added Code Filter. This lets you filter out code based on if it has been executed or not (Uses software breakpoints)
Debugging: Added an option to chose if you wish to break on unexpected breakpoints, and if CE should break on unexpected breakpoints, or only on specified regions (like AA scripts)
Disassembler: The comments now show multiple parameters
Pointerscan: Add option to allow negative offset scanning
Pointerscan: Add extra types to the display
Advanced Options/CodeList: Now uses symbolnames
Tutorial Game: Added a levelskip option when you've solved a step
Tutorial Game: Added a secondary test
Compare memory: Added a limit to the number of address values shown per row (can be changed)
Address List: When the option to deactivate children is set, the children will get deactivated first
Memory Scan: Add a lua script in autorun that lets you specify which module to scan

lua:
ExecuteCodeEx(Let's you execute code in the target and pass parameters)
Added 2 new parameters to getNameFromAddress (ModuleNames and Symbols)
Added addModule and deleteModule to the symbollist class
Added the ModuleLoader class which can force load dll's
Fixed endUpdate for the listview

Cheat Engine 6.8.1

23 Jun 10:05
Compare
Choose a tag to compare

Mostly a bugfix version of 6.8, but it does have a few minor additions

Fixes:
Fixed several issues with the structure compare
Fixed the commonality scanner from picking up unrelated registers for comparison
Fixed speedhack hotkeys
Fixed ultimap 1
Fixed a bunch of random access violations
Fixed Lua dissectCode.getStringReferences now also returns the string
Fixed Lua breakpoints that specify a specific function
Fixed Lua toAddress when the 2nd parameter is an address
Fixed assembling xmm,m32
Fixed issue when disassembling AVX instructions
Fixed rightclicking r8-r9 in the registers window
Fixed the plugin system for DBVM
Fixed DBVM memory allocations when smaller than 4KB

Additions and changes:
Added translation strings for the all type settings
You can now drop files into the auto assembler
auto assembler commands allocnx (allocate no execute) and allocxo (allocate execute only)
The memoryview windows's hexadecimalview now shows the allocationbase as well, and can be doubleclicked to go there
Added support for mono dll's that do not export g_free
Improved DBVM speed slightly

lua:
added RemoteThread class object

Cheat Engine 6.8

07 Jun 15:37
Compare
Choose a tag to compare

Fixes:
Fixed some more high dpi issues
Fixed issues with the dropdown list in memory records
Fixed pointer offset symbols not calculating properly
Fixed registered binutils
Fixed graphical issues with the tablist
Fixed issue where memory blocks would get cut of before the page end
Fixed some memory leaks
Fixed some graphical issues in the addresslist
Fixed rightclick on r8 and r9 in memoryview
Fixed disassembling some instructions
Fixed DBVM so it works on windows 1709 and later (tested on 1803)
Fixed several DBVM offload crashes
Fixed freeze with allow increase/decrease for 8 byte long values
Fixed several issues where minimizing a window and then close it would hang CE
Fixed file scanning
Fixed crashes when editing memory in some some emulators

Additions and changes:
Text editor improvements
Added hundreds of new cpu instructions
Mono now has some new features like instancing of objects
Mono instances window is now a treeview where you can see the fields and values
"find what addresses this code accesses" can also be used on RET instructions now (useful to find callers)
The graphical memory view now has a lot more options to set it just the way you need
Codepage support in hexview
structure data from PDB files can now be used, and are stored in a database for lookup later
dissect structures form can now show a list of known structures (pdb, mono, ...)
Added a "revert to saved scan" option (lets you undo changes)
Added a "forgot scan" option (in case you forgot what you're doing)
Pointerscan limit nodes is default on in a new ce install (remembers your choice when you disable it)
Autoattach now happens using a thread instead of a gui blocking timer
Some colorscheme enhancements
Added a DBVM based "Find what writes/accesses" feature. (For pro users, enable kernelmode options for it to show)
Changed the dissect data setup from seperate yes/no/value dialogs to a single window
Added a bypass option for ultimap2 on windows 1709. When using ranges, do not use interrupts, or use DBVM
Added find what writes/access to the foundlist
Autoassembler scriptblocks are now grouped when written to memory
Added {$try}/{$except} to auto assembler scripts
Added an extra tutorial/practice target
Added cut/copy/paste context menu items to pointer offset fields in add/change address, and added a context menu to the pointer destination
Added an automated structure compare for two groups of addresses to find ways to distinguish between them

lua:
added automatic garbage collection and settings to configure it
added new functions:
gc_setPassive
gc_setActive
reinitializeSelfSymbolhandler
registerStructureAndElementListCallback
showSelectionList
changed the getWindowlist output
MainForm.OnProcessOpened (better use this instead of onOpenProcess)
enumStructureForms
cpuid
getHotkeyHandlerThread
bunch of dbvm_ functions (needs dbvm capable cpu, and intel only atm)
and more, including class methods and fields (read celua.txt)