tag:github.com,2008:https://github.com/cheat-engine/cheat-engine/releasesRelease notes from cheat-engine2023-02-23T20:52:23Ztag:github.com,2008:Repository/34163206/7.52023-07-15T06:20:54ZCheat Engine 7.5<p><strong>Changes</strong>:<br>
<em>from patreon 7.4.3 to public 7.5:</em></p>
<ul>
<li>removed the driver requirement for the access memory regions tool</li>
<li>added 1 byte jmp instructions (that will install an exeption handler and place an int3 at the location)</li>
<li>added a scanoption so you can skip unpaged memory. (should prevent targets from eating up RAM when scanned)</li>
<li>reassemble() now rewrites an instruction using multiple lines when needed</li>
<li>make some error messages more descriptive</li>
<li>added an option to center the highlighted disassembler code to the center</li>
<li>added an explanation why the driver won't load and a link with info on how to get it to load for now</li>
<li>memoryrecord hotkeys can now be disabled individually</li>
<li>codefilter: unwind info now gives less bad results</li>
<li>added support for pseudo-ops like cmpss/sd/ps/pd</li>
<li>lua: added ceserver commands</li>
<li>lua: show a stacktrace on execution error</li>
<li>lua: added convertToUTF8(stringbytetable, regioncode)</li>
<li>made loading CT files with signatures possible under wine and proton</li>
</ul>
<p><em>from patreon 7.4.2 to patreon 7.4.3:</em></p>
<ul>
<li>ceserver: pipe support (mono data dissector)</li>
<li>ceserver: added change memory protection capability</li>
<li>ceserver: Available options can now be sent to the CE GUI</li>
<li>.netinfo: Replaced the fields view with a tree</li>
<li>network config: The processlist now has focus after opening a server</li>
<li>lua: added virtualstringtree</li>
<li>lua: added invertColor</li>
<li>lua: added disassembleBytes(bytestring)</li>
<li>autoassembler: now a visual warning is shown when nearby allocation fails</li>
<li>autoassembler: the templates now generate 14 byte jmp safe original code blocks as well</li>
<li>pointerscan now has a deviation option for "pointer must end with offset" to help find pointers back after update</li>
<li>ultimap: added copy selected results to clipboard</li>
</ul>
<p><em>from patreon 7.4.1 to patreon 7.4.2</em></p>
<ul>
<li>ipt: Added intel process trace feature provided by microsoft.</li>
<li>ceserver: Improve the modulelist fetch speed, more stable</li>
<li>ceserver: option to disconnect from closed ceservers</li>
<li>ceserver: the discovery list is now also a history list</li>
<li>ceserver: implement injection on arm64 as well</li>
<li>ceserver: also gets the fpu registers now</li>
<li>assembler x86_64: prefer mov rax,[rip+xxx] over mov rax,[imm64]</li>
<li>disasembler x86_64: switch from r#l to r#b because why not</li>
<li>mono: the dll now has a versioncheck so that you don't accidentally mix monodatacollector dll's</li>
<li>mono: deal with situations where there is no mainform</li>
<li>mono/.net: the methodlist is now sorted by name</li>
<li>better arm disassembler and assembler</li>
<li>better arm64 disassembler and assembler</li>
<li>the scanregions can be saved/loaded upon close/start ce (seperate option in settings)</li>
<li>added an option to skip loading .PDB files</li>
<li>a lot more functions are exposed to newstate threads</li>
<li>added ranges scans to groupscan</li>
<li>freeze+allow increase/decrease now also looks if the value is signed</li>
<li>trainers: Forms and controls now scale based on DPI</li>
<li>changing record showassigned/showashex now also applies to other selected entries</li>
<li>texttraces now don't save as .cetrace but as .txt now</li>
<li>ccode: #include now searches table files for files there as well</li>
<li>ccode: the internal symbolhandler can now deal with stdcalled function symbols</li>
<li>lua: added ImageIndex property to TTreeNode</li>
<li>lua: added OnValuechanged and OnValueChangedByUser callbacks to MemoryRecord objects</li>
<li>lua: added getOpenedFileSize()</li>
<li>lua: added onHelpEvent callback</li>
<li>lua: added releaseDebugFiles()</li>
<li>lua: added enumRegisteredSymbolLists() and enumRegisteredSymbols()</li>
<li>lua: added getBitmap method to ImageList objects</li>
</ul>
<p><em>from public 7.4 to patreon 7.4.1:</em></p>
<ul>
<li>added .Visible property to treenode entries</li>
<li>added .VisibleRowCount and .TopItem to listviews</li>
<li>added arm64 disassembling and assembling</li>
<li>added lua function "runCommand"</li>
<li>added a radiobutton to select if the generated script will use 5 or 14 byte jmps.</li>
<li>conditional jumps can now deal 2gb+ destinations (will get rewritten)</li>
<li>dotnetinfo: Performance improvement</li>
<li>memory record hotkeys now have a "Only while down" option</li>
<li>Updated the dbghelp to a more recent version which can better handle nowadys pdb symbols</li>
<li>different memory allocations now get placed within the initial allocation block. Protection is changed afterwards</li>
<li>tracer can now step over rep instructions</li>
<li>lua stringstream now inherits from memorystream, so you have access to the Memory field</li>
<li>lua: Added a callback for whenever the structure list is modified</li>
<li>added architecture distinguishing to ceserver</li>
<li>pressing escape in the hotkey form will now close it</li>
<li>added nested structure support</li>
<li>added string based custom types</li>
<li>ctrl+enter in the disassembler now shows relative addresses from that point</li>
<li>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</li>
</ul>
<p><strong>Fixes</strong>:<br>
<em>from patreon 7.4.3 to public 7.5:</em></p>
<ul>
<li>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</li>
<li>monodatacollector: fixed invoke method</li>
<li>dotnetdatacollector: Fixed issue of loading a wrong version of dbgshim.dll</li>
<li>fixed disassembling cvtdq2pd</li>
</ul>
<p><em>from patreon 7.4.2 to patreon 7.4.3:</em></p>
<ul>
<li>ceserver: Fixed extension loading in some cases</li>
<li>ceserver: fixed stepping on x86 targets</li>
<li>fixed the name showing as [physical memory] instead of the filename when opening a file</li>
<li>fixed a rare error when scanning using specific options</li>
<li>fixed some documentation in celua at some points</li>
<li>fixed stackview in "more info" being garbage/access violation</li>
<li>fixed tracer search for instructions ending with ]</li>
<li>fixed enumExports lua function</li>
<li>fixed issue where vehdebug would crash</li>
<li>fixed the assembler from handing [rex+reg*x] as a symbol when debugging</li>
<li>fixed the disassembler backlist</li>
<li>fixed termination issue on the memscan object</li>
</ul>
<p><em>from patreon 7.4.1 to patreon 7.4.2</em></p>
<ul>
<li>Fixed the tracer search for instructions ending with a ]</li>
<li>VEH debug: Fixed the potential of invalid handles being used</li>
<li>Kernelmode debug and VEH debug: Fixed setting context on non suspended threads</li>
<li>fixed the lua_pcallk delegate in the c# plugin example</li>
<li>fixed speedhack on wine 7.0</li>
<li>fixed high dpi issue of structure dissect on first view</li>
<li>fixed high dpi issue on find what access/writes dialogs</li>
<li>restored the anchor editor (was gone in 7.4.1)</li>
<li>fixed .net info instance lookup issue</li>
<li>fixed customtypes getting marked as string (bug introduced in 7.4.1)</li>
<li>fixed runcommand</li>
<li>fixed modalforms from losing their text color internally (bug introduced in 7.4.1)</li>
<li>mac: fixed some progressbars not properly updating</li>
</ul>
<p><em>from public 7.4 to patreon 7.4.1:</em></p>
<ul>
<li>fixed the all type not finding 4 types when double was deselected</li>
<li>fixed the "all" type when not using double</li>
<li>fixed ccode esp access in 32-bit and "reg"f types</li>
<li>fixed disassembling when using binutils for disassembly</li>
<li>fixed the tablefiles menulist eating memory because they didn't get deleted properly</li>
<li>fixed .net issues that use obfoscated modules and missing metadata</li>
<li>fixed paring value starting with a - or +</li>
<li>fixed assembling pmovmskb</li>
<li>fixed disassembling vgather* vex256 instructions and allow usage of xmm/ymm registers as address (for instructions that allow it. Like this one)</li>
<li>fixed the addresslist not giving a proper error when using multiple enable or disable section</li>
<li>fixed error when using ctrl for speedhack hotkeys</li>
<li>fixed the groupscan command parser from assigning wildcard to the wrong combobox</li>
<li>fixed disassembling xchg eax/rax,xxx</li>
<li>fixed lua custom type registering as float when using the non lua function method</li>
<li>fixed small memoryscan issue for data at the end of a memoryblock</li>
<li>ccode doesn't register useless symbols anymore</li>
</ul>cheat-enginetag:github.com,2008:Repository/34163206/7.42026-01-27T15:11:12ZCheat Engine 7.4<p><strong>Additions and changes:</strong></p>
<ul>
<li>AA templates now generate 14 byte jmp scripts when holding down ctrl</li>
<li>Foundcode dialog: Replace now toggles between nop and original. Also prevents duplicates</li>
<li>improved keyboard control to the hexview in memoryview. You can now hold shift while using the cursors to move</li>
<li>laststate isn't saved in tables anymore (unless ctrl is down)</li>
<li>added some space for dbvm functions so it's less likely to click them</li>
<li>you can now manually delete saved results</li>
<li>debugger attach timeout window will now show the status on some debugger interfaces</li>
<li>modules for 64-bit in 32-bit targets are more clearly marked as such</li>
<li>mono will not try to re-attach after a disconnect</li>
<li>lua: fixed copyMemory mode 2</li>
</ul>
<p><em>from 7.3.1-7.3.2:</em></p>
<ul>
<li>structure dissect watch for changes now also shows you when something has changed inbetween</li>
<li>added hints to how the pointer wildcard works</li>
<li>created an alternate named CE version that runs without admin (not an UCE, do not think it is one, you will be disappointed)</li>
<li>the replace button in foundcode dialog now supports multiselect</li>
<li>You can now also change values of groupscan scan results directly in the foundlist</li>
<li>lua's openProcess command now won't deactivate all entries when previously no process was selected</li>
<li>you can now edit instructions with a breakpoint on them</li>
<li>added linux ABI c-compiler dll's</li>
<li>by default mono now releases the .net thread</li>
</ul>
<p>from 7.3.2-7.4:</p>
<ul>
<li>added shortcut to add this address to addresslist in hexview (ctrl+numPlus)</li>
<li>goto address popup now centers on the memview window, instead of screen center</li>
<li>you can now change the font of the tracer tree</li>
<li>added isRep to the lua LastDisassemblerData field. And stepover now steps over rep instructions</li>
<li>break and trace: Added 'stay within module' option</li>
<li>added custom alignment option to the hexviewer section of the memoryviewer</li>
</ul>
<p><strong>Fixes:</strong></p>
<ul>
<li>fixed loading back highligter config for auto assembler windows</li>
<li>.netinfo: fix field searching</li>
<li>fixed disassembler issues/memory corruption when closing a secondary memoryview window</li>
<li>fixed brake and trace killing the debugger when skipping certain modules an failing in figuring out the return address</li>
<li>fixed auto attach not stopping the process flash</li>
<li>mono is less likely to disconnect when dissecting an invalid memory address</li>
<li>fixed checkbox and radiobutton not sizing properly in dark mode</li>
<li>foundlist: display type override also afffects the saved columns</li>
<li>foundlist: new scan now alsdo clears the saved results</li>
<li>processlist: Fixed the highlighted color process entries in light mode</li>
<li>fixed compare to first scan hotkey</li>
<li>fixed handling of broken/empty language folders</li>
<li>fixed network modulesize lookup. (needs a new ceserver build as well)</li>
<li>fixed position saving for the foundcode dialog</li>
<li>fixed lua errors not giving a proper errormessage</li>
<li>fixed {$c} and {$ccode} for the 32-bit CE build</li>
<li>fixed logging of writes to ignore the addresslist freezing(Skyrimfus)</li>
<li>fixed dealing with -0.0f in c/ccode blocks</li>
<li>fixed memscan on the last block of readable memory</li>
<li>fixed dealing with the proper way of namespace.classname:modulename formatting. (Supports both formats)</li>
<li>fixed error when using freeze by thread with a very small interval</li>
<li>fixed {$ccode} and {$luacode} when not giving any parameters</li>
<li>fixed some include files erroring out when used</li>
</ul>
<p><em>from 7.3.1-7.3.2</em>:</p>
<ul>
<li>network ceserver/linux: Fixed wpm corrupting the memory</li>
<li>fixed the elf symbol parser</li>
<li>fixed speedhack on linux</li>
<li>il2cpp now has a progressbar</li>
<li>fixed handling some newer il2cpp games</li>
<li>fixed vmin assembling</li>
<li>fixed the ceshare color (bug introduced in 7.3.1)</li>
<li>fixed freezing when entering the wrong ceserver details</li>
<li>fixed deleting groupscan entries from the scan</li>
<li>fixed pointerscan not loading results when in a path with non-ascii characters</li>
<li>fixed the standalone trainer maker giving an error about duplicate entries</li>
</ul>
<p><em>from 7.3.2-7.4</em>:</p>
<ul>
<li>lua: fixed readByte signextending when it shouldn't</li>
<li>Fixed mono not injecting if you didn't have the visual studio debug dlls (introduced in 7.3.2</li>
<li>fix changeregonbp where it only changed xmm0</li>
<li>window position saving of "find what addresses this code accesses" should be more predictable</li>
<li>fixed saving of some color preferences in hexview, and added the fadecolor</li>
<li>fix AA createThreadAndWait not working in a standalone script</li>
<li>improved stability of mono</li>
<li>fixed break and trace ignore flag causing an stop instead of ignore on 64 bit targets</li>
</ul>cheat-enginetag:github.com,2008:Repository/34163206/7.32026-01-27T15:11:35ZCheat Engine 7.3<p><strong>Additions and changes:</strong></p>
<ul>
<li>Added dark mode support (restart CE when you change the setting)*</li>
<li>All saved results are now shown in the foundlist (can be turned off)*</li>
<li>Groupscan now supports pointer wildcards. (only valid if the field is a proper pointer)*</li>
<li>Hotkeys can be repeated by releasing the key and repressing if the repeat timer hasn't finished yet*</li>
<li>Structure dissect add to addresslist uses the addressstring instead of number, so symbols will be preserved*</li>
<li>Structure dissect now has a option to save the previous state of a column and show changes easier*</li>
<li>Middle-mouse clicking now copies the value of a structure element to your clipboard*</li>
<li>Added {$LUACODE} blocks for inline Lua coding*</li>
<li>Added a c-compiler to CE*</li>
<li>Added {$C} blocks to the auto assembler. all {$C} blocks get combined into one script before execution*</li>
<li>Added {$CCODE} blocks for inline C coding (Check the forum, wiki, CE patreon discord or CE's youtube)*</li>
<li>Added a C# compiler (compilecs)*</li>
<li>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*</li>
<li>Added invoke method to the .NET Info window as well*</li>
<li>[Disable] sections can now reference labels, defines, AOBScan results, and allocs created in the [ENABLE] section*</li>
<li>Userdefined symbollist has a secondary list for CCode symbols*</li>
<li>The change address window now also supports relative offsets*</li>
<li>DBVM speed improvements*</li>
<li>DBVM has an extra security level, and added dbvm_setKeys to easily change the access codes*</li>
<li>DBVM has now some basic support for nested VM's (only so you can run them, not yet modify)*</li>
<li>New debugger interface: DBVM-level debugger*</li>
<li>Improved performance of "Find what access/writes this address"*</li>
<li>Dissect code now lets you specify custom ranges*</li>
<li>Addresslist value sort now sorts values by alphabet if the record is a string type*</li>
<li>The dropdown list of multiple entries can now be changed at the same time*</li>
<li>Standalone register window now shows flags values as well*</li>
<li>Value Between scans now autoswap the order if the first value is bigger than the 2nd*</li>
</ul>
<p><strong>Fixes:</strong></p>
<ul>
<li>fixed some games freezing CE when symbols where accesses*</li>
<li>Lua debug now shows for loop variables*</li>
<li>several windows now save their position, and won't get corrupted if you don't show them the first time running CE*</li>
<li>fixed createthreadandwait when using a timeout*</li>
<li>fixed disassembling vcvtsi2ss*</li>
<li>fixed compare to first scan if it's a large block, and made it more efficient*</li>
<li>ceshare: logout fixed*</li>
<li>fixed assembling movsq*</li>
<li>fixed ultimap ret filter*</li>
<li>fixed luapipe never calling OnError*</li>
<li>fixed vehdebug in 64-bit CE zeroing out the FPU registers in 32-bit targets*</li>
<li>fixed DBVM find what access/writes sometimes skipping entries on AMD*</li>
<li>fixed undo not working on memory records when using the single line editor*</li>
<li>fixed hide children group option when loading a table*</li>
<li>fixed some font issues in the break and trace window*</li>
<li>fixed pasting the other types in hexadecimal view*</li>
<li>fixed the symbolloader fully crashing on unknown pdb symboldata*</li>
</ul>
<p><strong>lua:</strong></p>
<ul>
<li>changes:*</li>
<li>saveTable won't ask to sign the table anymore*</li>
<li>messageDialog will work if you omit the buttonlist. (Defaults to mbOK then)*</li>
<li>added more customizabe button*</li>
<li>registerSymbol no longer errors out the whole script on failure. It now overwrites existing symbol*<br>
<em>.. much more. check celua.txt</em></li>
</ul>cheat-enginetag:github.com,2008:Repository/34163206/7.22020-11-04T09:47:12ZCheat Engine 7.2<p><strong>Additions and changes:</strong></p>
<ul>
<li>Big Endian custom types. You can enable them in settings if you like</li>
<li>Commonality scanner now also compares the base address. (handy in case it's more than one register)</li>
<li>translation support for ceshare</li>
<li>smartedit now also deals with isPointer and isOffset memrecs</li>
<li>referencedfunctions filter improvement</li>
<li>PE section display/parsing for addresses</li>
<li>D3D hook now asks if you're sure you wish to use it (in case of accidental click)</li>
<li>Memoryview hexadecimal view: can now show custom types and changing memory protection depends on the selected byte(range)</li>
<li>Break and trace window now supports searching the referencedAddress, referencedBytes and Instruction</li>
<li>When changing a memoryrecord value, you can reference 'value' and apply math to it</li>
<li>Added a "File->Load Recent..." menulist</li>
<li>Added an option to autosave (in settings)</li>
<li>Added .netcore support to the dotnet data collector</li>
<li>Added a syntaxcheck menuoption to the CE lua script window</li>
<li>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</li>
<li>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</li>
<li>Some extra foundlist preferences</li>
<li>Find out what access/writes now resolved the address to string (when it has time)</li>
<li>CEShare now has a list of games that have tables</li>
<li>AA: dealloc(*) - Now deallocated all memory a script allocated</li>
<li>AA: unregistersymbol(*) - Now unregisters all symbols a script registered</li>
<li>Added a more userfriendly .net inspector</li>
<li>Autoattach won't open itself anymore</li>
<li>CEShare now has a list of all available tables</li>
<li>Code Dissect now deals with relocated memory modules when loading a state back</li>
<li>Lua Formula scan has an alternate scan option which allows for more than 1 thread</li>
<li>Change Value of memory records can now deal with math</li>
</ul>
<p><strong>Fixes</strong></p>
<ul>
<li>Auto Assembler: Fixed getting weird numbers for newmem when using the templates to add new scripts</li>
<li>Unknown initial value scan for 2GB+ regions failed</li>
<li>Resolved issue where typecasts where replaced by addresses. (having a memoryrecord named float, would break AA scripts that'd use (float))</li>
<li>AMD support for DBVM</li>
<li>Memoryrecord hotkeys showing up in the settings window as bring to front. Where clicking OK would then set it to that</li>
<li>Copy paste bug in the form designer</li>
<li>Hotkeys swapped comma and period on display</li>
<li>Resolved some issues with the forced module loader, and if it fails, don't freeze CE forever</li>
<li>AutoAssemble local would fail after opening a process</li>
<li>Pointermap based rescan</li>
<li>Assembler: (v)insertps , (v)comiss, (v)blendvp(s/d)</li>
<li>Kerneldebug is more stable on newer windows builds</li>
<li>Lua/Mono: Better support for utf8 strings</li>
<li>Lua/Mono: Support targets that use mono, but not unity</li>
<li>Lua/Mono: UWP targets work better</li>
<li>LuaEngine: Autocomplete won't lowercase functions anymore if they are lua functions</li>
</ul>
<p><strong>Lua</strong></p>
<ul>
<li>Fixed executeMethod for widestrings (type4)</li>
<li>Fixed AOBScanUnique truncating addresses</li>
<li>AddressList['description'] works now as well</li>
<li>some scripts variables that used to be global are now local</li>
<li>injectDLL has a new parameter to specify if CE should reload the symbols</li>
<li>getNameFromAddress has a new parameter to specify if you wish section names (default=false)</li>
<li>TfrmLuaEngine: document the mOutput and mScript properties</li>
<li>loadModule now has an optional timeout value</li>
<li>added an interface for the DotNetDataCollector</li>
<li>implemented RemoteExecutor , which is a class which can execute remote memory fastyer than ExecuteCodeEx while keeping the same capabilities</li>
<li>createClass and createComponentClass won't access violation anymore for giving an unsupported name<br>
And a bunch of new functions and classes/methods/properties. Check out celua.txt</li>
</ul>
<p>11/04/2020: Fix scripts that use some of the obsolete unsupported functions</p>cheat-enginetag:github.com,2008:Repository/34163206/7.12026-01-12T00:42:53ZCheat Engine 7.1<p><strong>Additions and changes:</strong></p>
<ul>
<li>Added support for il2cpp (mono)</li>
<li>Added support for .NET dll plugins</li>
<li>Change register on breakpoint now also affects FP and XMM registers</li>
<li>Added CEShare, a way to share your tables with other people</li>
<li>Improved disassembling</li>
<li>copy bytes+addresses now only does bytes+addresses</li>
<li>call filter can now use the unwind data for functions to get a decent list of instructions</li>
<li>structure dissect shows the pointerpath at the bottom</li>
<li>Follow register while stepping (rightclick the register to show the option)</li>
<li>registersymbol and label now support multiple definitions in one line</li>
<li>improved the speed of the structure list when getting data from a pdb</li>
<li>hexview: doubleclicking a non-byte value now shows in the type you set</li>
<li>added sorting to the found code dialog</li>
<li>added filtering to the changed addresses window</li>
<li>the debugger settings won't lock from changing anymore, still needs you to reopen a process to have an affect</li>
<li>added always hide children groupoption</li>
<li>group headers can act as address now</li>
<li>AA command createthreadandwait now has a timeout parameter</li>
<li>Assembler scanning improvement</li>
<li>Added an AVX2 version of CE, which will speed up all those floating point operations CE does so much...</li>
<li>Improved structure lookup for PDB files</li>
<li>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</li>
<li>Structure dissect can detect vc++ and object pascal classnames now</li>
<li>Dissect code now also detects references to strings</li>
<li>Sorting the addresslist now sorts faster and more properly with regards to groups (depends on the level your current selection is)</li>
<li>Rightclick the addresslist header to bring up a menu which allows you to disable sorting</li>
<li>Improved the processlist responsiveness</li>
<li>The chosen floating point rounding type is now saved in the registry</li>
<li>You can now use (addresslist description) as an address</li>
<li>Improved autocomplete</li>
</ul>
<p><strong>Changes:</strong></p>
<ul>
<li>DBVM doesn't activate the TSC hook by default. You can still activate it by using dbvm_enableTSCHook()</li>
</ul>
<p><strong>Fixes:</strong></p>
<ul>
<li>Fixed memoryleak when opening a file for hexediting again</li>
<li>Fixed utf8 display of the dissect windows window</li>
<li>Clear the taskbar progress when using a custom scan</li>
<li>Hexview: Fixed changing the address when pressing a non char key</li>
<li>Hexview: Fixed changing the address when doubleclicking and then canceling</li>
<li>alloc with a prefered base is now more aggressive in getting the range you want</li>
<li>fixed mono symbol lookup while dlls are still being loaded</li>
<li>fixed the structure compare not giving a proper errormessage</li>
<li>fixed improper error messages in structure dissect</li>
<li>fixed opening process in XP</li>
<li>fixed potential deadlock with the symbolhander</li>
<li>fixed issue with using the process var as symbol</li>
<li>fixed default form size for some windows when using high DPI</li>
<li>fixed DBVM on systems that have the default MTRR set as 6 (e.g Asus systems)</li>
<li>fixed DBVM find what accesses with large datasets<br>
Lua<br>
New functions:<br>
function onTableLoad(before)<br>
sendMessageTimeout<br>
createTimer(delay,function())<br>
createStructureFromName()<br>
createSynEdit()<br>
changes:<br>
fixed executeCodeLocalEx with certain parameter definitions<br>
fixed openFileAsProcess<br>
checkSynchronize has a timeout now<br>
OnGetDisplayValue now also works on AA records(<script>)</li>
</ul>cheat-enginetag:github.com,2008:Repository/34163206/7.02026-01-27T15:12:08ZCheat Engine 7.0<p><strong>Additions and changes</strong>:</p>
<ul>
<li>Icons</li>
<li>Added a way to dissect and show a function's working using a diagram</li>
<li>Auto repeat option for unchanged value scans</li>
<li>Added lua formula scans</li>
<li>Moved the compare to first/saved from scan type to a checkbox</li>
<li>Added a scanner that can detect and undo memory changes in the target process code sections (patch scanner under tools in memview)</li>
<li>The tutorial now has a link to online help for each step</li>
<li>Added a toolbar for stepping while debugging</li>
<li>When a memoryrecord fails to activate, you can rightclick it and see why it failed</li>
<li>AutoAssembler will now cut down on the nop's used</li>
<li>Better error reporting in autoassembler scripts</li>
<li>DBVM can now dynamically adjust the TSC. This can be disabled if it causes performance issues with dbvm_setTSCAdjust(disable)</li>
<li>speedhack now also hooks gettickcount64</li>
<li>added dw 'utf16string' support</li>
<li>implement VPID support in DBVM (performance increase)</li>
<li>kernelmode->driverlist now also shows driver exports</li>
<li>kernelmode symbols now also show in the enum dll's and exports</li>
<li>change the way slow symbol lookup is handled</li>
<li>several small updates to the codecave scanner</li>
<li>several small updates to the hexview find window</li>
<li>Use defered pdb loading instead of waiting for it</li>
<li>Several more windows have been made DPI Aware</li>
<li>Add option to show processid's as decimal in the processlist</li>
<li>When pressing shift+space instead of space to follow an instruction you will now open a new memview window</li>
<li>Added *:undefined support for dropdown lists</li>
<li>Added init.lua files for translations to use</li>
<li>Stackview now shows symbolnames as well</li>
<li>Some extra windows will now save their location</li>
<li>Exe trainer generator now lets you change the default files</li>
<li>The description of conditional jumps is better to understand now</li>
<li>Ultimap2 can now keep the tracer files and scan kernelmode memory as well if desired</li>
<li>Groups now get created afgter the selected item</li>
<li>Smartedit can now also 'smart'-edit children</li>
<li>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</li>
<li>Floating point screen will now stay within the screen</li>
<li>Clicking execute in the lua engine will now change focus back to the editor field</li>
<li>Debugger interface settings will now only lock after a succesful attach</li>
<li>Some translation improvements here and there</li>
<li>DBVM changeregonbp's are now displayed in CE's interface as well</li>
<li>The foundlist colors can be customized now</li>
<li>Improved DBVM cloak performance when more than 20 regions are cloaked</li>
<li>Implemented DBVM based execute watch and "find what addresses this code accesses"</li>
<li>Implemented DBVM breakpoints (They always execute afterwards, including execute bp's)</li>
<li>Improved autocomplete so it now doesn't delete old code</li>
<li>Added hotkeys to ultimap2</li>
</ul>
<p><strong>Fixes:</strong></p>
<ul>
<li>fixed BSOD in recent windows updates</li>
<li>fixed VEH debug not handling breakpoints when a thread is created/destroyed right at the same time as a breakpoint</li>
<li>fixed the stacktrace in 64-bit targets</li>
<li>fixed rounded Extreme for float and double scans</li>
<li>speedhack now waits for proper dll injection</li>
<li>several disassembler instructions</li>
<li>some assembler instructions</li>
<li>improved the stability of dbvm find what * routines</li>
<li>fixed the hit counter in dbvm find what * routines</li>
<li>fixed kernelmode symbol loading</li>
<li>fixed DBVM memoryleak when disabling watches</li>
<li>fixed DBVM internal memory manager (more stable now)</li>
<li>fixed internal VirtualToPhysicalCR3 when dealing with 2MB+ pagesizes</li>
<li>fixed using megajmp's in cloaked regions</li>
<li>fixed speech when using async records</li>
<li>fixed executeCodeEx for more than 4 parameters</li>
<li>fixed static field script in mono by adding 64-bit codegeneration</li>
<li>fixed mono process crashing in some cases</li>
<li>fixed megacall following</li>
<li>fixed NO_CACHE memory being scanned anyhow even if it was disabled</li>
<li>fixed dealing with floating point values that are too big to be useful</li>
<li>fixed setting DR7 to a strange value when using global debug</li>
<li>fixed clearing DR6 when in the wrong process in kernel debug</li>
<li>fixed triggering kernelmode breakpoints in locations you can not properly break (no interrupts)</li>
<li>fixed loading dbvm inside dbvm inside dbvm inside dbvm</li>
<li>fixed autoassembler replacing words in quoted strings</li>
<li>fixed processwatcher not getting a proper PID</li>
<li>fixed hotkeys triggering changed/unganged for types they aren't supposed to</li>
<li>fixed showing dr2, dr3 and dr4 types in the threadlist</li>
</ul>
<p>lua:<br>
New functions:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" 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"><pre class="notranslate"><code> 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
</code></pre></div>
<p>changes:</p>
<ul>
<li>getWindowList now returns the results just like ce's window list</li>
<li>documented OnChangeBounds for the Control class (was already there, now documented as well)</li>
<li>executeCodeEx can now also taker just parameters without typedefs</li>
<li>added Data field to ListItem's</li>
<li>added description field to memrec.createHotkey method</li>
<li>added clear method to the menuItem class</li>
<li>readStringEx() can now deal with partial memory reads</li>
<li>executeCodeEx: Fixed more than 4 parameters</li>
<li>added Point type</li>
<li>fixed editbox selstart/sellength types, and added CaretPos</li>
<li>added HeaderSection class and document HeaderSections</li>
<li>added roundRect, drawFocusRect and textRect to the Canvas.</li>
<li>added ansicode character support for textRect</li>
<li>added loadFromStream and saveToStream to the RasterImage class</li>
<li>added readAnsiString and writeAnsiString to the Stream class</li>
<li>Better document the mode field of createFileStream</li>
<li>Expose the handle of the LuaPipeServer</li>
<li>Publish frmTracer</li>
<li>Publish frmUltimap2</li>
<li>Publish frmCodeFilter</li>
<li>Publish imagelist</li>
<li>Added the DrawItemEvent general GUI property to Lua's callback system</li>
<li>Added the MenuDrawItemEvent general GUI property to Lua's callback system</li>
<li>Added the ContextPopupEvent general GUI property to Lua's callback system</li>
<li>Created a new Diagram class group which can allow you to create graphs and diagrams</li>
<li>Memoryrecord.DropDownValue and DropDownDescription work now (still RO)</li>
</ul>
<p>08/21/2019:<br>
Fixed loading existing files for asian users (textencoding was turned on, but that broke old files)<br>
Added extra last minute highlighter options thanks to mgr.inz.player</p>
<p>08/25/2019:<br>
Fixed UTF8 copy/paste in addresslist<br>
Fixed loading/editing forms<br>
Fixed createFileStream</p>
<p>08/27/2019:<br>
Fixed lua pipe strings (mono uses it)</p>cheat-enginetag:github.com,2008:Repository/34163206/6.8.32019-02-07T19:12:40ZCheat Engine 6.8.3<p><strong>Fixes</strong><br>
debugging/stepping with hotkeys<br>
several high DPI visual glitches<br>
VEH debugger reattach works again<br>
Pointerscan resume works again<br>
Stackview can now show by reference , previously it did nothing<br>
disassembling imul<br>
speedhack while key down option<br>
assembling values with x*2/4/8<br>
the "resume thread" in the threadlist now resumes threads instead of freezing them<br>
fixed an error popping up when editing registers with no debugger attached<br>
getNameFromAddress will not show userdefined symbols when symbols are disabled</p>
<p><strong>Additions and changes</strong><br>
Waiting till all symbols have been loaded has been removed<br>
Launching structure compare from dissect data now only needs 1 address, though it's recommended to have at least 2 each<br>
Code completion in lua engine is now more smoother<br>
You can now compare traces generated by the tracer<br>
Threadlist window now has a copy to clipboard<br>
Structure compare now digs deeper into pointers<br>
Pointerscan import/export now works with newer types as well<br>
Better Lua comment support<br>
Added rudimentary sort to the structure compare window (based on levelwidth only)<br>
Referenced strings now also shows if it's unicode<br>
Formdesigner now has a context menu to add undocumented controls</p>
<p><strong>lua</strong><br>
added enumMemoryRegions<br>
added getWriteLog (Let's you get the writelog and activate it)<br>
HexadecimalView: added the OnCharacterRender and OnValueRender events</p>cheat-enginetag:github.com,2008:Repository/34163206/6.8.22018-12-20T15:36:35ZCheat Engine 6.8.2<p><strong>Fixes</strong>:<br>
Disassembler: Several disassembler instructions had a comma too many or too few ,fixed those<br>
Disassembler: Fixed the description for ret #<br>
Disassembler/Debug: Fixed the address that is being edited when a breakpoint hits while editing an instruction<br>
Assembler: Fixed assembling reg*2/4/8+unquotedsymbol<br>
Plugin: Fixed the SDK for C plugins that use the disassembler callback<br>
Hotkeys: Fixed the attach to foreground hotkey<br>
Memory Scan: Fixed the percentage scan<br>
Memory Scan: Fixed a rare situation that could cause an error<br>
Memory Scan: Simple values now works with groupscan<br>
Memory Scan Lua: Scanfiles now also get deleted if the memory scan object is freed before the scan is fully done<br>
Fill Memory: Now allows 64-bit addresses<br>
Structure Dissect: Fixed the popupmenu "change type" so it now affects all selected entries instead of just the first<br>
PointerOrPointee window: Fix the debug pointer or pointee window button text when using access instead of writes<br>
GUI: Fixed and restored the DPI Aware option in setting<br>
GUI: Some DPI fixes/adjustments here and there<br>
Graphical Memory view: Fixed DPI issues<br>
Symbolhandler: When the symbolhandler now waits till it's done, it won't wait for the structures to be parsed anymore</p>
<p><strong>Additions and changes</strong>:<br>
Lua Engine: Added autocomplete<br>
DLL injection: On DLL injection failure CE tries to fall back on forced injection methods<br>
Assembler: Added multibyte NOP<br>
Plugins: Plugins can now have side dll's that are statically linked in their own folder (Windows 7 with updates and later)<br>
Debugging: Improved the FPU window editing when single stepping, allowing you to change the FPU registers<br>
Debugging: Threadview now updates when single stepping and cnanges made there will affect the currently debugged thread (before it didn't)<br>
Debugging: Added Code Filter. This lets you filter out code based on if it has been executed or not (Uses software breakpoints)<br>
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)<br>
Disassembler: The comments now show multiple parameters<br>
Pointerscan: Add option to allow negative offset scanning<br>
Pointerscan: Add extra types to the display<br>
Advanced Options/CodeList: Now uses symbolnames<br>
Tutorial Game: Added a levelskip option when you've solved a step<br>
Tutorial Game: Added a secondary test<br>
Compare memory: Added a limit to the number of address values shown per row (can be changed)<br>
Address List: When the option to deactivate children is set, the children will get deactivated first<br>
Memory Scan: Add a lua script in autorun that lets you specify which module to scan</p>
<p><strong>lua</strong>:<br>
ExecuteCodeEx(Let's you execute code in the target and pass parameters)<br>
Added 2 new parameters to getNameFromAddress (ModuleNames and Symbols)<br>
Added addModule and deleteModule to the symbollist class<br>
Added the ModuleLoader class which can force load dll's<br>
Fixed endUpdate for the listview</p>cheat-enginetag:github.com,2008:Repository/34163206/v6.8.12018-06-23T10:10:32ZCheat Engine 6.8.1<p>Mostly a bugfix version of 6.8, but it does have a few minor additions</p>
<p><strong>Fixes</strong>:<br>
Fixed several issues with the structure compare<br>
Fixed the commonality scanner from picking up unrelated registers for comparison<br>
Fixed speedhack hotkeys<br>
Fixed ultimap 1<br>
Fixed a bunch of random access violations<br>
Fixed Lua dissectCode.getStringReferences now also returns the string<br>
Fixed Lua breakpoints that specify a specific function<br>
Fixed Lua toAddress when the 2nd parameter is an address<br>
Fixed assembling xmm,m32<br>
Fixed issue when disassembling AVX instructions<br>
Fixed rightclicking r8-r9 in the registers window<br>
Fixed the plugin system for DBVM<br>
Fixed DBVM memory allocations when smaller than 4KB</p>
<p><strong>Additions and changes</strong>:<br>
Added translation strings for the all type settings<br>
You can now drop files into the auto assembler<br>
auto assembler commands allocnx (allocate no execute) and allocxo (allocate execute only)<br>
The memoryview windows's hexadecimalview now shows the allocationbase as well, and can be doubleclicked to go there<br>
Added support for mono dll's that do not export g_free<br>
Improved DBVM speed slightly</p>
<p><strong>lua</strong>:<br>
added RemoteThread class object</p>cheat-enginetag:github.com,2008:Repository/34163206/6.8.12018-06-22T09:48:19Z6.8.1<p>Merge branch 'master' of <a href="https://github.com/cheat-engine/cheat-engine">https://github.com/cheat-engine/cheat-engine</a></p>cheat-engine