development
Build with GitHub Actions
Switch to LLVMDemangle for symbol demangling
Add [Engine].NoConsoleWindow setting
Initial working cmkr project
Fix compilation on Windows with clang++
Start reducing TitanEngine.h
Remove Visual Studio projects
Fix bug in graph where 'Sync with RIP' would always re-analyze
Fix compilation on MinGW (clang)
Expose MODINFO::load factory for loading modules without global state
Upgrade to AStyle 3.6.9 and add python port of AStyleHelper
Format TraceRecord.cpp
Flush trace recording when an exception is hit to not lose data
Minor cleanup & ensure the plugin API is C compatible
Fix code formatting
Fix compilation error on permissive-
Completely rework valtostring into valsetscalar/valsetbuffer
add fallback chain in cbLoadDll for path resolution
Upgrade _WIN32_WINNT to Windows 7, clean up GetProcAddress calls
Add test framework infrastructure
PROJECT: fixed line endings (hopefully for good now)
DBG: significant memory usage improvements for database (~5x less memory used)
DBG: added SerializableTMap (less code duplication)
PROJECT+DBG+GUI: formatting (forgot to commit the correct formatting options for x64dbg)
DBG: small cleanup in scriptapi and added 'scriptdll' command
Fix warnings on latest MSVC
Added async and rate limit logic to calls that tended to flood the gui thread
Fix flag name in Script::Flag::Get
DBG: Fixed potential ambiguous function definition
DBG+BRIDGE+GUI: fix bugs and add Graph+Memory Map+Symbol Module plugin menus
DBG+BRIDGE+GUI: implemented more selection queries (graph + memory map + symbol module)
Add temporary label support for scripting
Use explicit size for changing memory protections and split range
Cleanup documentation for Script::Misc
Add GetExports and GetImports to the module scripting API.
Prepare for unity builds
Big refactor to improve the tracing experience
DBG: added CFLAGS support in _scriptapi_register.h (thanks to krzywix)
DBG: correctly enumerate imports as IAT addresses
DBG: use export/import data from modules instead of from memory
Fix headless initialization and thread model
Inline all DBGFUNCTIONS as lambdas
PROJECT: remove keystone
DBG+GUI+PROJECT: added asmjit assembler engine
DBG: don't clear data before loading from JSON
DBG: AddrInfo + AddrInfoSerializer + AddrInfoHashMap
fix: restored original bpm behaviour and added tests
Switch to enums in TitanEngine.h
Use scriptcmd and scriptexec for command line handling
DBG: remove explicit size for memset in command line
DBG: include refactor
commandparser handle UNC paths
Special handling for format strings in the command parser
DBG: Fixed crash when comment longer than 512 characters
Remove 16k log limit for breakpoint logs
Trace recording (#1736)
Improve db/dw/dd/dq instructions
DBG: various changes to the encodemap
Address review comments
Fallback pause using breakin thread
Strongly type TitanEngine callbacks (finally)
Fix crash when entering command without condition
Update zydis_wrapper
Implement StepIntoUser and StepIntoSystem helper functions
Replace linear time ThreadGetId(hActiveThread) with constant time GetDebugData()->dwThreadId
Allow printing empty strings using the "{s:addr}" format
Fix clang-cl compilation and various warnings
Fix EncodeMap buffer management and delRange
Move PE parsing and file mapping out of TitanEngine
Also implement the syscall.id expression function
Using build number instead of magic number
Added support for any value types and done some improvements
Optimize constant evaluation for tracing performance
Add a few string expression functions
Fixed 2GB+ files causing a crash
DBG: added FileHelper::GetFileName
Reorganize REGDUMP to minimize padding, add winerrorname format function
DBG: fix various issues pointed out by Visual Studio code analysis
DBG: add parent in function API to support function chunks
Remove XP compatibility code behind _WIN32_WINNT
Warn when certain anti-cheat drivers are detected
Zero initialize TITAN_ENGINE_CONTEXT_t
Fix a bunch of error on /std:c++latest
JobQueue.await now recursively calls job function when called on worker thread
Update ModHashFromName to always lowercase first
DBG: improve loop API
Do not export DllMain
Allow using VirtualQueryEx in MemIsCodePage and enable it everywhere
DBG: sync mnemdb with the latest idaref
lazy load mnemonic data and save 3MB memory
Fix bug in ModSectionRvaSize preventing patching in padding
Rename MESSAGE_STACK to MESSAGE_QUEUE to reflect reality
DBG+GUI: check if DEP is enabled before warning about operations on non-code pages
Optimized patternfind
Minor clang-tidy cleanups
Fix testing lifecycle issues
Skip data when iterating references
PROJECT: RESTRUCTURE
fix #2769
Fix bug when attaching through the command line
GUI: Added new function GetCallStackByThread
Bump TitanEngine_x64
DBG: added stringformatinline
Refactor symbol handling and introduce DbgSymbolEnumRange
Add StringUtils::ToLower
Use common undecorate flags
Implemented non Windows 10 syscalls
DBG+GUI+BRIDGE: rewrote handles + tcp connections view
Capture crash dumps for tests in CI
Do not duplicate thread handles unnecessarily
Include ntdll.h in _global.h to streamline things
Improve pretty printing in NodeVisitor
Fix error handling in ParseTypes
Print string values of character arrays
Fix r8 modification (closes #3850)
Fix warnings in clang 21.1.8
DBG: Fixed issue mentioned in comment to #2310 - force value refresh after watch expression change
DBG: Added new command SetWatchType
Allow passing absolute path to -cf
Define NOMINMAX
Add the DbgXrefAddMulti API