1
0
Fork 0
Commit Graph

3258 Commits

Author SHA1 Message Date
torusrxxx b058db685c Add some comments and small fixes to trace browser 2020-06-04 17:50:45 +02:00
torusrxxx 82ba40e6ec Show XMM floating-point value in info box 2020-06-04 17:50:45 +02:00
Duncan Ogilvie 6f5e786a54 DBG: improve function analysis and introduce loop analysis
Thanks to DefCon42 for help on the backedge algorithm!
2020-06-04 17:26:47 +02:00
Duncan Ogilvie 5ab09dae92 DBG: add parent in function API to support function chunks 2020-06-04 17:26:47 +02:00
Duncan Ogilvie bb49270921 DBG: show progress in status bar when downloading symbols 2020-06-04 17:26:47 +02:00
Duncan Ogilvie 23d788734a GUI: fix displaying of certain loop/argument configurations 2020-06-04 17:26:47 +02:00
Duncan Ogilvie 7bdec6f195 GUI: implement context menus for adding/deleting loops 2020-06-04 17:26:47 +02:00
Duncan Ogilvie b9b8e52c4e DBG: improve loop API 2020-06-04 17:26:42 +02:00
Duncan Ogilvie 2b9fc285c8 DBG: minor fixes with iterators and erasing 2020-06-04 17:25:50 +02:00
Duncan Ogilvie 10da0d4654 DBG: allow setting temporary labels from the labelset command 2020-06-04 17:25:50 +02:00
Duncan Ogilvie 6293b90aff DBG: add dbdecompress helper command 2020-06-04 17:25:50 +02:00
Duncan Ogilvie 430ea53876 BRIDGE: allow optional parameters for DbgLoopGet 2020-06-04 17:25:50 +02:00
Duncan Ogilvie 9c3e5ec5ff DBG: truncate labels in LabelGet 2020-06-04 17:25:50 +02:00
Duncan Ogilvie 33403df92b DBG: improve working set mitigation 2020-06-04 17:25:50 +02:00
Duncan Ogilvie d2f19c334d DBG: properly truncate the page info 2020-06-04 17:25:50 +02:00
Jack Reez 193eb52ef5 GUI: Some icons updated.
2 Icons added && 2 Icons changed.
2020-06-03 11:50:06 +02:00
Jack Reez 484d9289bb GUI: Sanitizing input expression before assemble.
BUG: When assembling an instruction, if we copy and paste an instruction from somewhere with whitspaces [ \r\n] it results in invalid parsing in asmjit engine selected and throws an error as "Error writing to memory".

SCENARIO: Copy and pacste an instruction from a text editor with a newline prefix to the assemble dialog and try to assemble.
If there is newline in the prefix the validation don't even care about the expression after the newline prefix.
2020-06-03 11:49:57 +02:00
Torusrxxx 6043dcf5a6
Allow stopping run trace when not debugging (#2326) 2020-05-15 12:31:12 +00:00
Duncan Ogilvie 5507b46dc4 DBG: error message improvement in cbDebugPause + minor project fixes 2020-05-09 22:40:45 +02:00
Serhii Suprun 7b2e62ccd2 added two new columns to trace browser with values of changed registers and memory 2020-04-29 23:29:22 +02:00
Duncan Ogilvie 8dd8026d55
DBG: remove a check that has been proven stable in MemoryReadSafePage 2020-04-28 00:25:50 +02:00
Duncan Ogilvie 1d5766e8bc
DBG: not not force RIP to the ExceptionAddress for EXCEPTION_BREAKPOINT 2020-04-28 00:25:04 +02:00
Duncan Ogilvie 0763064b70
DBG: fix more complex union scenarios 2020-04-27 13:20:37 +02:00
Duncan Ogilvie b1c0eee865
DBG: fix an issue with unions in the type system 2020-04-27 12:58:28 +02:00
Duncan Ogilvie e0b92786f0
DBG: move InitDLLDebugW out of TitanEngine 2020-04-25 22:14:06 +02:00
Duncan Ogilvie 434ef31a05
PROJECT: minor fixes in vcproj files 2020-04-25 22:14:05 +02:00
Duncan Ogilvie 3e8b9682bf
GUI: save entire block preference 2020-04-20 11:42:13 +02:00
Duncan Ogilvie 2bd139d89f
DBG: fix regression related to hardware breakpoint storage 2020-04-12 18:02:40 +02:00
Duncan Ogilvie c139a94c08
GUI: add simple 'Find references to region' in memory map 2020-04-10 03:58:43 +02:00
Duncan Ogilvie 99f7d096a8
DBG: refresh the gui in some previously untested scenarios 2020-04-02 00:16:47 +02:00
Duncan Ogilvie 3a253248e5
DBG: finally properly implement setBpActive for hardware breakpoints 2020-04-02 00:16:47 +02:00
Duncan Ogilvie 9c6710094e
GUI: don't allow inactive breakpoints to be enabled/disabled 2020-04-02 00:16:47 +02:00
Duncan Ogilvie 6f92c63ce2
DBG: fix some potential bugs when disabling/deleting hardware breakpoints 2020-04-02 00:16:46 +02:00
Duncan Ogilvie 3308fbfc22
GUI: always delete breakpoints by identifier if possible 2020-04-02 00:16:46 +02:00
Duncan Ogilvie 5a6817680a
DBG: change order of breakpoint name and custom breakpoint identifier syntax in BpGet 2020-04-02 00:16:46 +02:00
Duncan Ogilvie d2c62e69c2
DBG: move DbLoad from cbCreateProcess to before entering the debug loop
fixes #2296
2020-02-23 16:24:23 +01:00
Duncan Ogilvie 6745514e31
DBG: improvements to initialization script experience 2020-02-23 16:01:29 +01:00
Duncan Ogilvie 6407b2b063
GUI: further improve performance of reference searching
Fixes #2287
2020-02-11 00:57:14 +01:00
Duncan Ogilvie 1774ba1f89
DBG: call reference update less frequently 2020-02-10 03:10:35 +01:00
Duncan Ogilvie aac246b27f
GUI: improve performance of ReferenceView API
closes issue #2281
2020-02-10 03:10:31 +01:00
Duncan Ogilvie 1de5313e58
GUI: make more methods thread-safe in SearchListView and StdSearchListView 2020-02-10 02:35:28 +01:00
Duncan Ogilvie dbb1f57148
GUI: some TODO comments for AbstractTableView 2020-02-10 02:35:28 +01:00
Duncan Ogilvie a75cc25710
GUI: make more methods thread safe in AbstractTableView 2020-02-10 02:35:28 +01:00
Duncan Ogilvie 992e6d2374
GUI: introduce MethodInvoker utility 2020-02-10 02:35:21 +01:00
Duncan Ogilvie 472a8160dd
DBG: CloseHandle on the AeDebug event 2020-02-10 02:35:13 +01:00
Duncan Ogilvie 479ea5eec6
GUI: minor improvements to AbstractTableView 2020-02-10 02:35:04 +01:00
Duncan Ogilvie 063ce31ec6
DBG+GUI: improve disassembly navigation
closes #1226
2020-01-16 15:49:52 +01:00
Duncan Ogilvie e20cd71549
DBG: fix a race condition with a cached context in _dbg_getregdump
closes #2248
2020-01-16 15:25:48 +01:00
Duncan Ogilvie d3ee95d6ba
GUI: fix a bug in the LineEditDialog, where not editing the text made the text look empty for the user
closes #2273
2020-01-15 21:40:35 +01:00
Duncan Ogilvie f7f7a2f463
DBG: attempt to undecorate more symbols based on other prefixes
closes #2268
2020-01-08 01:39:49 +01:00
Duncan Ogilvie 6cab250906
GUI: double click in trace browser now follows in disassembly 2020-01-08 01:34:50 +01:00
Duncan Ogilvie 3925d4281a
GUI: improve disassembly reference menu 2020-01-08 01:34:50 +01:00
Duncan Ogilvie 62ada1d4ca
GUI: ctrl+alt+left/right from the dump now work in the disassembly 2020-01-08 01:34:49 +01:00
Duncan Ogilvie f70d780219
GUI: show weird selections in the GUI 2020-01-08 01:34:49 +01:00
Duncan Ogilvie ebf3db1095
DBG: add forgotten CBSELCHANGED in pluginload 2020-01-08 01:34:49 +01:00
Duncan Ogilvie 9d3775b98d
BRIDGE: refresh memory view and trace browser in GuiUpdateAllViews 2020-01-08 01:34:49 +01:00
Duncan Ogilvie 293d54f9d9
GUI: improve 'go to' menu in DisassemblerGraphView 2020-01-08 01:34:38 +01:00
Duncan Ogilvie dcc77c5071
GUI: fix bug in the graph view where debugge exit doesnt clear the state 2020-01-08 01:34:02 +01:00
Duncan Ogilvie b4a03a8009 GUI: make GUI_REF_SETROWCOUNT synchronous 2019-11-26 13:26:35 +01:00
Duncan Ogilvie 537c4e42d5 GUI: do not show reload+edit menus when loading script from clipboard 2019-11-26 13:26:35 +01:00
Duncan Ogilvie b6b1cce7ba DBG: force a terminating command at the end of a script 2019-11-26 13:26:35 +01:00
now-raymond ec451897a5 DBG: Fix function boundary computation when getting x64 stack frames
RUNTIME_FUNCTION range: [BeginAddress, EndAddress)

Old code:
Find `func` where:
`func.BeginAddress <= rva <= func.EndAddress`

New code:
Find `func` where:
`func.BeginAddress <= rva < func.EndAddress`
2019-11-26 13:26:15 +01:00
Duncan Ogilvie 824100eea8
DBG: implement memcpy command 2019-11-13 01:13:06 +01:00
Duncan Ogilvie b23c0dfe37
DBG: remove leading whitespace when loading script to correctly handle tabs 2019-11-12 23:55:56 +01:00
Duncan Ogilvie fae8434284
DBG: fix a buffer overflow in a terrible 5-year old API
Thanks to dudeme for finding a reliable way to reproduce this!
2019-11-12 23:55:23 +01:00
mappzor b0ba7d40e1 Fixed #2228 (#2244)
* Fixed #2228
2019-11-11 22:15:46 +01:00
Duncan Ogilvie e2a20266d1
DBG: close #2245
fix by lynnux
2019-11-10 23:15:29 +01:00
Duncan Ogilvie c65f65f3b1
DBG: better script cleanup 2019-11-05 00:55:22 +01:00
Duncan Ogilvie eca2f7f99a
DBG: refactor scripting functionality to allow executing script branches in the GUI 2019-11-05 00:33:32 +01:00
Duncan Ogilvie 8577c58f68
GUI: fix small bug introduced by #2243 2019-11-05 00:29:20 +01:00
Duncan Ogilvie e7f342f914
GUI: allow command history in ScriptView 2019-11-05 00:09:10 +01:00
Duncan Ogilvie c41d8b7b64
GUI: add HistoryLineEdit support in LineEditDialog 2019-11-05 00:08:45 +01:00
Duncan Ogilvie 5141ddce95
GUI: only flush the log when it is visible 2019-11-04 20:45:27 +01:00
Duncan Ogilvie 6d6df1ff6f
DBG: stop skipping exceptions when pausing on certain debug events 2019-11-04 20:45:27 +01:00
Duncan Ogilvie 3fc1bdebc9
DBG: remove some unused functionality related to pausing 2019-11-04 20:45:26 +01:00
mappa 52af639cc4 Enhanced LogView performance 2019-11-04 20:38:56 +01:00
Duncan Ogilvie 6da9fc8b42
GUI: limit log buffer to 100mb 2019-11-02 02:49:42 +01:00
Duncan Ogilvie 03c5406b4b DBG+EXE: compile on latest Visual Studio 2019 without MFC 2019-10-31 15:31:23 +01:00
Duncan Ogilvie 0023930790 DBG+GUI: fix underflow in zydis 2019-10-31 15:28:41 +01:00
Duncan Ogilvie 14201568cf GUI: do not automatically update dump if the memory and view didn't change 2019-10-31 15:28:41 +01:00
Duncan Ogilvie 362b2d7260 GUI: use const QString & in Configuration for performance 2019-10-31 15:28:41 +01:00
Duncan Ogilvie bdfb65fc7a GUI: remove useless functions from MemoryPage 2019-10-31 15:28:41 +01:00
Duncan Ogilvie 67341fe997 GUI: std::move to reduce allocations 2019-10-31 15:28:41 +01:00
Duncan Ogilvie 3efe95135b DBG: improve savedata command 2019-10-31 15:27:51 +01:00
Bálint Faragó 5b92e85cb4 GUI: fix Follow From context menu in CallStackView 2019-10-31 15:19:04 +01:00
Bálint Faragó e0e977c88a DBG: try querying the process cookie before adding breakpoints 2019-10-31 15:18:27 +01:00
Bálint Faragó 16d9e5a777 DBG: do not add breakpoints to query process cookie when attaching 2019-10-31 15:18:27 +01:00
Bálint Faragó 44c9d81e60 DBG: fix invalid handle exception on terminating attach after run 2019-10-31 15:17:23 +01:00
Bálint Faragó 894ce7842d DBG: remove duplicate variable and single cycle loop in advanced analysis 2019-10-31 15:17:05 +01:00
Bálint Faragó e975fc813d DBG: verify that the decoded instruction or data reference fits into the memory range 2019-10-31 15:17:05 +01:00
Matthaeus Puehringer 382231eff8 DBG: reject wildcard only patterns
closes #2212
2019-10-23 12:22:48 +02:00
Duncan Ogilvie dfa6cef3b5
GUI: fix some more weirdness with saving/restoring tab order 2019-10-20 00:03:11 +02:00
Duncan Ogilvie 26d60547f2
GUI: fix TabOrder error for plugins that add tabs 2019-10-14 00:31:31 +02:00
Duncan Ogilvie 83e1705985
DBG: sync mnemdb with the latest idaref 2019-10-12 16:00:04 +02:00
Austin Richards aa19e3e6f4 GUI: Added label to appearance dialog font tab to denote that system font update requires app restart to take effect. 2019-10-12 15:57:54 +02:00
pxf_god 2952170189 DBG: fix call stack on x64 2019-10-12 15:41:29 +02:00
Duncan Ogilvie 31443c2c78
DBG: allow various more advanced pattern finding techniques
closes #2197
2019-09-01 17:28:48 +02:00
Duncan Ogilvie 12cf712ec2
DBG: add bswap format function 2019-09-01 17:28:43 +02:00
Duncan Ogilvie 8e2fb7f0b7
DBG: use patterntransform in the find command
see #2197
2019-09-01 15:45:29 +02:00
Duncan Ogilvie 249d5382c1
DBG: update patterntransform to reject invalid patterns 2019-09-01 15:44:28 +02:00
Duncan Ogilvie d50675ca02
DBG: fix some edge cases with page protections in the memory map 2019-08-23 00:48:20 +02:00
Duncan Ogilvie 2c37afcc9e
DBG: truncate copy data in DISASM_INSTR
closes #2028
2019-08-23 00:48:19 +02:00
Duncan Ogilvie d6b27324f4 DBG: fix bugfix
closes #2206
2019-08-22 17:50:30 +02:00
Duncan Ogilvie bbc93a9426 DBG: improve symbol handling 2019-08-22 17:21:37 +02:00
Duncan Ogilvie c6e3441819 GUI: don't follow patch in disasm and dump when toggling 2019-08-22 11:33:04 +02:00
Duncan Ogilvie 7212e853fb DBG: better heuristics for detecting the debuggee did not terminate after 10 seconds 2019-08-19 15:39:13 +02:00
Duncan Ogilvie 8a07bd2d7e
DBG+GUI: implement auto completion for exports in goto dialog
closes #1987
2019-08-17 17:38:58 +02:00
Duncan Ogilvie 593b5f1752
DBG: fix out of bounds access in valapifromstring
closes #2190
2019-08-17 16:30:23 +02:00
Duncan Ogilvie de2d930d8f
DBG+GUI: add transparent exception stepping option 2019-08-17 12:19:08 +02:00
Austin Richards 3bad6cb6dc GUI: Added Implemented color (orange/cyan) directional differentiation for sidebar jumps.
Existing configurations will use their color for forwards, and orange for backwards.
2019-08-11 10:33:31 +02:00
Duncan Ogilvie 60e1dff147
DBG: fix signature verification for PDB v2.0 and improve symbol log
closes #2193
2019-08-09 20:55:59 +02:00
Duncan Ogilvie f57d69f91e GUI: add a timer to SearchListView to properly deal with millions of entries 2019-07-02 15:57:21 +02:00
Duncan Ogilvie ab9f2d2f80 GUI: fixed some minor undefined behavior 2019-07-02 14:56:05 +02:00
Duncan Ogilvie 021ea4f743 GUI: properly encapsulate mSearchBox in SearchListView 2019-07-02 14:55:01 +02:00
Duncan Ogilvie bf413de6de
GUI: better sorting behavior in the HandlesView
closes #2195
2019-06-26 20:25:47 +02:00
Duncan Ogilvie d17852b63b DBG: fix a weird bug where dll breakpoints could not be deleted in certain cases 2019-06-25 21:17:45 +02:00
Duncan Ogilvie 0b7d840b60
DBG+BRIDGE+GUI: fix bugs and add Graph+Memory Map+Symbol Module plugin menus 2019-06-22 16:44:45 +02:00
Duncan Ogilvie fc9f9a52fd
BRIDGE+GUI: GuiExecuteOnGuiThreadEx 2019-06-22 15:05:59 +02:00
Duncan Ogilvie 3dc120d623
GUI: refactor BridgeResult and fix a bunch of bugs in the process 2019-06-22 13:29:27 +02:00
Duncan Ogilvie c345647e85
DBG: allow plugstop to indicate FreeLibrary should not be called 2019-06-22 13:22:58 +02:00
Duncan Ogilvie 7114c71fe3
DBG: trim debug strings before showing them 2019-06-22 13:22:29 +02:00
Duncan Ogilvie 3c5a1ad13a
DBG: fix _plugin_menuentrysetvisible 2019-06-21 16:39:03 +02:00
Duncan Ogilvie 17d8f8ea45
GUI: remove snowman 2019-06-21 16:38:12 +02:00
Duncan Ogilvie bb2a369ce8
DBG: add colors and column to indicate symbol load status
closes #2185
2019-06-19 00:12:43 +02:00
Duncan Ogilvie cc30f105de
DBG: implement DbgFunctions()->ModSymbolStatus 2019-06-19 00:12:43 +02:00
Duncan Ogilvie 80d84e7108
DBG: implement symunload command 2019-06-19 00:12:38 +02:00
Duncan Ogilvie d969087bed
GUI: refactor StdSearchListView to allow passing a custom StdTableSearchList 2019-06-19 00:12:32 +02:00
Duncan Ogilvie 34318e3f7e
GUI: introduce AbstractTableView::getCellColor 2019-06-19 00:12:32 +02:00
Duncan Ogilvie 728f0eaa8d
DBG: fix various issues pointed out by Visual Studio code analysis 2019-06-19 00:12:31 +02:00
Duncan Ogilvie d62f7f431c
disable warnings for dbghelp.h 2019-06-19 00:12:31 +02:00
franco martinelli 32c8e33c64 Removed backtab key substitution
Fixing issue #2176
2019-06-16 14:03:25 +02:00
Duncan Ogilvie 0a77a1cb00 DBG: add expression functions for exception information 2019-06-13 13:17:15 +02:00
Duncan Ogilvie 1e075142a5 DBG: add symload command to manually load a PDB 2019-06-12 16:51:19 +02:00
Duncan Ogilvie 4ce5b0baec Fix other minor things 2019-05-19 18:09:34 +02:00
franco martinelli 23968f11d9 Iterating QMap with ranged for. Inlined renderShortcuts. Save button now has default focus
Using ranged for instead of iterators.
Inlined renderShortcuts since it was used only once
Adjusted layout of shortcuts Ui
2019-05-19 18:09:34 +02:00
franco martinelli 59ddfa63a8 Added action filter box
Added shortcut copyline
Added shortcut binding for copyline
2019-05-19 18:09:34 +02:00
Matt 72d76bb9bc Add GetExports and GetImports to the module scripting API. 2019-05-09 20:46:13 +02:00
Zhang Li 4273fce56e Fix export name is not parsed correctly 2019-05-09 20:45:04 +02:00
Duncan Ogilvie dcbe4e17c9
GUI: save script type when restarting 2019-05-02 15:29:18 +02:00
Duncan Ogilvie b244c8177f DBG: removed sortedlru
closes #2124
2019-04-30 15:27:47 +02:00
Duncan Ogilvie c664ad1b4a DBG: add dis.iscallsystem expression function 2019-04-30 15:05:36 +02:00
Duncan Ogilvie 2cbafa369d DBG: add mod.isexport expression function 2019-04-30 15:05:36 +02:00
Duncan Ogilvie 4c08468c46
GUI: update the source view if the disassembly updates 2019-04-29 01:43:21 +02:00
Duncan Ogilvie 1c023053ca
GUI: rename repaintGui signal to updateDisassembly 2019-04-29 01:43:21 +02:00
Mattiwatti 36741fdaf8 Fix ThreadGetSuspendCount if the suspend count limit is reached
Use a better method of querying the suspend count on Windows >= 8.1 that doesn't involve suspending and resuming
2019-04-28 21:24:59 +02:00
Zhang Li 1874da8657 Fix export name parsing 2019-04-28 16:40:21 +02:00
Duncan Ogilvie 425a531535
DBG: fix use after free derp
closes #2149
2019-04-22 11:45:38 +02:00
Mattiwatti ed5d085fa3 Fix compilation in VS2019 2019-04-17 19:34:00 +02:00
Duncan Ogilvie 1d9df16898 DBG: fix missing module name in symbol log and implement source mapping 2019-04-17 19:30:59 +02:00
Duncan Ogilvie d13b2eefe1 GUI: better handling of xbegin tokenizing 2019-04-17 18:10:19 +02:00
Duncan Ogilvie 6bc16f8bac PROJECT: remove and ignore vcxproj.user files 2019-04-12 17:51:56 +02:00
Duncan Ogilvie 51f53ee886 GUI: implement all the missing SourceView features from before 2019-04-12 17:50:38 +02:00
Duncan Ogilvie 4af8ff6174 DBG: (performance) improvements to SymbolSourceDIA 2019-04-12 16:51:37 +02:00
Duncan Ogilvie 9b602ee27b GUI: setup copy menu for SourceView 2019-04-09 15:51:46 +02:00
Duncan Ogilvie 2a3bc1d667 GUI: implement \t correctly in SourceView 2019-04-09 15:51:46 +02:00
Duncan Ogilvie deef25ba42 GUI: implement follow in disassembler + go to line in SourceView 2019-04-09 15:51:45 +02:00
Duncan Ogilvie 61020f7701 GUI: rewrite SourceView to work on 2gb+ files 2019-04-09 15:51:45 +02:00
Duncan Ogilvie b67b5ebb23 GUI: improve TraceFileSearch (now also searches r8-r15 on x64) 2019-04-09 15:51:45 +02:00
Duncan Ogilvie 3b8469ba55 DBG: print rex info in Zydis command 2019-04-09 15:47:22 +02:00
Duncan Ogilvie 386e242645
DBG+GUI: removed yara 2019-04-06 13:18:16 +02:00
Duncan Ogilvie 7d727d014d
GUI: remove entropy view 2019-04-06 13:18:10 +02:00
Duncan Ogilvie 41978f961c
DBG: show full command line near 'Process Started' log entry 2019-04-06 12:40:51 +02:00
Duncan Ogilvie ee411b0c30
DBG: some more improvements to safely reading the PE info 2019-04-06 12:40:50 +02:00
torusrxxx 6f60175506
Fix a minor problem with trace browser (#2138) 2019-03-28 21:53:05 +08:00
dl471 f3e0a4e1e1 Scroll to keep selected register in view 2019-03-22 12:54:03 +01:00
dl471 21d03ce395 Clean up control flow of arrow key logic 2019-03-22 12:54:03 +01:00
dl471 8253a842e4 Add arrow key movements for x64 registers 2019-03-22 12:54:03 +01:00
dl471 54bd25be73 Add arrow key movements for remaining FPU registers 2019-03-22 12:54:03 +01:00
dl471 9d1c72fd4b Arrow key movements for middle group of FPU registers 2019-03-22 12:54:03 +01:00
dl471 c669c3491f Add arrow key movements for first set of FPU registers 2019-03-22 12:54:03 +01:00
dl471 115b90db35 Add arrow movements for rest of non-FPU registers 2019-03-22 12:54:03 +01:00
dl471 2815ca25b0 Add arrow key movements for flag registers 2019-03-22 12:54:03 +01:00
dl471 02129b5942 Account for up/down keys in register view 2019-03-22 12:54:03 +01:00
dl471 39880b1892 Add ability to move between general purpose registers with arrow keys 2019-03-22 12:54:03 +01:00
dl471 e68720777d Add struct and map for relative register positions 2019-03-22 12:54:03 +01:00
Mattiwatti 6e18613e37 DBG: ReadExportDirectory: put upper bound on the number of imports 2019-03-17 19:46:33 +01:00
Mattiwatti e38adf1265 DBG: AddressOfNameOrdinals is WORD[], not DWORD[] 2019-03-17 19:46:33 +01:00
Mattiwatti c54c96816e DBG: ReadExportDirectory: do bounds checks on all export dir entries before indexing into arrays
Fixes #2105 (second case/malware sample)
2019-03-17 19:46:33 +01:00
Mattiwatti e36779d7a4 DBG: more robust validation of PE directory sizes 2019-03-17 19:46:33 +01:00
raiseman c325ccd2cd Graph breakpoints fix (#2137)
* graph breakpoints fix
* removed "beta"
2019-03-07 21:59:07 +01:00
raiseman 62c6d40725 zoom overview fix 2019-03-05 23:03:45 +01:00
dl471 435b208427 Fix filename bug in patch menu 2019-03-05 23:01:11 +01:00
Duncan Ogilvie 7d53b1ae08
DBG: fix potential crashes in GetModuleInfo 2019-01-20 22:41:26 +01:00
Duncan Ogilvie 661360bc68
GUI: fix duplicate &p in PatchDialog 2019-01-20 20:45:58 +01:00
Duncan Ogilvie 9f5ce5041d
DBG: fix a mistake in MemUpdateMap
closes #2101
2019-01-20 20:45:47 +01:00
Duncan Ogilvie 85e96353cb
DBG+BRIDGE+GUI: put in the title whether x64dbg is elevated or not 2019-01-20 20:43:39 +01:00
Duncan Ogilvie 223ea586bb
DBG: add some more helpful format functions
ascii, ansi, utf8, utf16, disasm, modname
2019-01-10 23:54:31 +01:00
Duncan Ogilvie d04288cbc1
DBG: improve performance of MemoryMapUpdate 2019-01-10 23:45:24 +01:00
Duncan Ogilvie e5e96f7cbb
DBG: analyze all xrefs in the module with XrefsAnalysis 2019-01-10 23:44:51 +01:00
Duncan Ogilvie cc15cdec9f
DBG: correctly handle executables with entry points inside the MZ header
closes #1994
2019-01-10 23:44:07 +01:00
Duncan Ogilvie f1fbfd98b3
DBG: don't use CreateProcessInfo->lpStartAddress because it is broken
closes #2099
2019-01-10 23:43:05 +01:00
Duncan Ogilvie 98d38d94cb
GUI: fix warnings in DisassemblerGraphView 2018-12-28 16:58:14 +01:00
Duncan Ogilvie 8cf227624f
GUI: fix qword memory operand info in x32dbg 2018-12-28 16:56:47 +01:00
torusrxxx e5c838c276 opcode grouping in trace view 2018-11-27 12:14:07 +01:00
raiseman 24e71e86ee fix graph reopen bug (#2083) 2018-11-27 12:11:31 +01:00
Duncan Ogilvie 688e2ccc04
DBG+GUI: AStyle 2018-11-18 15:50:13 +01:00
Duncan Ogilvie 418541e46e
DBG: improve the skipInt3Stepping feature to work for long int3 instructions 2018-11-18 15:49:43 +01:00
Duncan Ogilvie 49f5780935
GUI: only show logging enabled/disabled in status bar 2018-11-18 15:29:10 +01:00
raiseman edbaedb47b Graph zoom mode feature (#2068)
Graph zoom mode feature
2018-11-18 15:21:32 +01:00
Bálint Faragó 1e9bf1ab7c DBG: Fix mapped area overrun in ReadDebugDirectory for bogus debugDirSize 2018-11-18 15:20:38 +01:00
Alexander Miloslavskiy 0adb663a91 Fixed Symbol::GetList() for symbols without undecorated name
* Such symbols have "" instead of nullptr in SYMBOLINFO.undecoratedSymbol
* This fix greatly improves Snowman's decompiled results, example: comctl32!ListBox_SetCurSelHandler
2018-11-13 12:10:36 +01:00
torusrxxx 836a544287
Run "AStyleWhore" 2018-11-13 10:01:22 +08:00
Bálint Faragó 5162450ff3 Fix yara crash when used with a single argument 2018-11-04 23:14:31 +01:00
Bálint Faragó 50580782e2 GUI: fix merge error in Disassembly.cpp 2018-11-04 23:14:04 +01:00
Bálint Faragó 806e09671c Remove Zydis-Capstone diff logic comment block 2018-11-04 23:14:04 +01:00
Bálint Faragó 4ae573d620 Remove capstone references from zydis_wrapper 2018-11-04 23:14:04 +01:00
Bálint Faragó a3b5812908 GUI: rename CapstoneTokenizer to ZydisTokenizer 2018-11-04 23:14:04 +01:00
Bálint Faragó c7107374d2 DBG: remove capstone references 2018-11-04 23:14:04 +01:00
Bálint Faragó eef5d07c30 GUI: fix negative zero floating point display (#2058)
* GUI: make StringUtil void* buffer functions const-correct

* GUI: add precision support to ToFloatString and ToDoubleString

* GUI: fix -0.0 float display by converting with STL instead of QString::number
2018-11-02 15:35:13 +00:00
Alexander Miloslavskiy de678aec21 Fixed incorrect error message when memory could not be allocated 2018-11-02 15:31:14 +00:00
Alexander Miloslavskiy 60c54ea83a Fixed incorrect comparator used in sorting xrefs
* With old comparator, items {1, 2} and {2, 1} were "less" then each other. This will cause them to sort randomly.
2018-11-02 15:29:34 +00:00
Bálint Faragó 0c87d87fe6 DBG: fix getting raw int value for float typed watch points 2018-10-31 12:39:00 +01:00
Bálint Faragó e0052d6b2b ZYDIS: Use ZydisOperandAction as an enum instead of a flag 2018-10-31 12:38:40 +01:00
Bálint Faragó 0065f204a3 Add DLL ordinal to symbol table and fix symbol table comparator 2018-10-31 12:38:00 +01:00
Bálint Faragó 5a4f15e9f5 DBG: add OptionalHeader.AddressOfEntryPoint to the displayed symbols 2018-10-31 12:37:48 +01:00
Duncan Ogilvie fba7af6bcd Merge branch 'torusrxxx-patch00000092' into development 2018-10-29 13:38:56 +01:00
Duncan Ogilvie 744ccc5305 GUI: change bNoDisassemblyPopup to bDisassemblyPopupEnabled for clarity 2018-10-29 13:36:35 +01:00
torusrxxx d316405f11
Fixed uninitialized var with opcode grouping 2018-10-24 18:54:26 +08:00
torusrxxx 25b154b2cf
Use Bridge clipboard funcs instead of QClipboard for status bar msg 2018-10-17 12:09:53 +08:00
Duncan Ogilvie 49fe03c643 GUI: remove pointless "to clipboard" part in RegistersView 2018-10-16 18:17:13 +02:00
Duncan Ogilvie 98e509bb78 GUI: fix really triggering misalignment of the comments column in TraceBrowser 2018-10-16 18:17:13 +02:00
Atvaark be8dfaeeb4 Add clear log hotkey (Ctrl+L) 2018-10-16 18:15:59 +02:00
torusrxxx ba7915057d Set FPU registers to one/zero 2018-10-16 18:15:01 +02:00
torusrxxx 5669e13485 temporary 2018-10-16 18:15:01 +02:00
torusrxxx ae9bf8c49e st(X) can be edited 2018-10-16 18:15:01 +02:00
torusrxxx f5395cb318 Added x87stX register names and menu action to switch ordering 2018-10-16 18:15:01 +02:00
torusrxxx 8c6a9e5fed remove some signal slots about SIMD display mode 2018-10-16 18:15:01 +02:00
torusrxxx 788ecf240d Use integer index for register names 2018-10-16 18:15:01 +02:00
torusrxxx 9d585036b9
Don't use Qt wheel scrolling 2018-10-13 21:02:54 +08:00
torusrxxx 64db2ce66b
No popups for some views 2018-10-13 17:13:00 +08:00
torusrxxx 594319a654
Refactored old disassembly popup in CPUDisassembly 2018-10-13 16:56:19 +08:00
torusrxxx 707cd444ae
Moved disassembly popup to AbstractTableView and added its support in StdTable 2018-10-13 16:36:05 +08:00
Wolfgang Schoechl 753ecd3ba5 FIXED: uninitialized variable was used for height calculation and caused negative height value (registers view) 2018-10-12 22:47:20 +02:00
torusrxxx 6705ce1af3
Disassembly popup in references 2018-10-12 23:09:36 +08:00
torusrxxx cf1498786c Merge branch 'development' into patch00000092 2018-10-12 20:50:28 +08:00
Manuel 28211215e7 FIXED: setting up the auto-follow context menu entry 2018-10-11 14:23:45 +00:00
Ta Thanh Dinh 94fcc52734 support copy individual x87 registers 2018-10-10 15:53:22 +02:00
Mattiwatti d149f6d794 Do not leave empty or corrupt PDBs in the store if a download failed. Fixes a crash in LoadDataFromIStream in MS DIA 14.15 2018-10-10 15:50:40 +02:00
Hank McCord a406a8e3df GUI: Fix build for latest Qt 2018-10-10 15:50:22 +02:00
Manuel cf763adc18 CHANGED: renamed toggleAutoDisassemblyFollowSelectionSlot() to follow given convention 2018-10-10 15:48:39 +02:00
Manuel 69db4494cd ADDED: trace file can now auto-scroll the disassembly view to current selection 2018-10-10 15:48:39 +02:00
Duncan Ogilvie da69e828ea DBG: improve memory usage and performance with line numbers 2018-10-10 15:45:32 +02:00
Duncan Ogilvie 25a67b778e DBG: fix buffer overflow and assert when tracing fxsave or invalid instructions 2018-10-10 15:44:37 +02:00
Duncan Ogilvie 22861d69e5 Add some analysis for exceptions containing FACILITY_VISUALCPP in exinfo 2018-10-10 15:44:37 +02:00
Duncan Ogilvie b1188c3c04 DBG: fix crash in stackgetsuspectedcallstack when CSP is not pointing to valid memory 2018-10-10 15:44:37 +02:00
Duncan Ogilvie 521195eea9 DBG: small refactor for SymAutoComplete 2018-10-10 15:44:37 +02:00
Duncan Ogilvie d7f1dadb52 DBG: exclude some invalid imports + give ordinal imports a name 2018-10-10 15:44:37 +02:00
Duncan Ogilvie 70cfec4094 DBG: add (undocumented) option to force load PDB 2018-10-10 15:44:37 +02:00
torusrxxx 03f596c162
Stricter ordinal name check 2018-10-09 11:20:55 +08:00
Duncan Ogilvie da913f7cdc DBG: fix a possible crash in disasmget 2018-09-13 12:56:10 +02:00
Duncan Ogilvie 09fe1e379d BRIDGE: fix incorrect message being sent in some GuiMenuXXX functions
closes #2027
2018-09-13 12:56:10 +02:00
Duncan Ogilvie 7aab39f8e1
Revert "DBG: do not step if there is an enable breakpoint at CIP"
This reverts commit 9804400df6.
2018-09-02 00:53:05 +02:00
Torusrxxx 863f83df49 improve nop detection 2018-08-28 18:30:15 +02:00
torusrxxx d4ec06f6de Fixed a crash when tracing into far jump 2018-08-21 17:04:36 +02:00
torusrxxx c29eba9d35 no errors anymore 2018-08-21 17:04:25 +02:00
torusrxxx b3b7ceef3e Stop tracing when closing trace file 2018-08-21 17:04:25 +02:00
torusrxxx c5830e5c26 close and delete trace file 2018-08-21 17:04:25 +02:00
torusrxxx f6216e2102
Add ctrl/alt modifiers to dump 2018-08-12 18:44:50 +08:00
torusrxxx a4756fe804
slight changes of registers view key press event 2018-08-08 11:18:11 +08:00
torusrxxx ea3943cf0a
const functions 2018-08-07 20:57:24 +08:00
torusrxxx 0baa39c207
Use keys to select in dump 2018-08-07 17:31:40 +08:00
Duncan Ogilvie 7526b7e482
DBG: update TitanEngine 2018-07-19 16:44:44 +02:00
Duncan Ogilvie 1d510d61db
DBG+GUI: update Zydis to fix a crash when disassembling certain instructions 2018-07-15 19:15:02 +02:00
Duncan Ogilvie f042e81a28
LAUNCHER: clean up command line handling and allow the launcher as JIT debugger 2018-07-15 19:14:31 +02:00
Duncan Ogilvie bbf2dc296a
LAUNCHER: fix a bug in forwarding of the command line parameters
closes #1918
2018-07-15 19:13:45 +02:00
Duncan Ogilvie 62b6be97e0
DBG: allow the "-p PID -e EVENT" command line for JIT debugging 2018-07-15 19:11:52 +02:00
Duncan Ogilvie 681eb3e2c8
GUI: fix a crash in the CPUSideBar 2018-07-14 20:48:02 +02:00
torusrxxx d09e89687a Allow folding a function when first instruction is selected. Add code fold box tooltip. 2018-07-05 02:44:14 +02:00
torusrxxx 91924de32f Really copy bytes HTML 2018-07-05 02:44:14 +02:00
torusrxxx 8ab605b7f6 Input NaN & Inf into FPU registers 2018-07-05 02:44:14 +02:00
Duncan Ogilvie fa82c80c51
DBG: temporary fix for AutoPatchExporter 2018-07-05 02:41:18 +02:00
Duncan Ogilvie bcb1df389c
DBG: include DIA in deps 2018-07-05 02:41:09 +02:00
Duncan Ogilvie d7eac4598d
DBG: better error messages in PDBDiaFile::open 2018-07-05 02:39:58 +02:00
Duncan Ogilvie 144dbd4c2f DBG: undecorate import/export names 2018-07-04 17:12:37 +02:00
Duncan Ogilvie 9804400df6
DBG: do not step if there is an enable breakpoint at CIP
closes #1721
2018-07-01 19:28:08 +02:00
Duncan Ogilvie 7bde267620
GUI: allow collapsing the side bar 2018-07-01 19:28:07 +02:00
Duncan Ogilvie e5467cf966
DBG: correctly update module list when changing module type 2018-07-01 19:28:07 +02:00
Duncan Ogilvie 0c8956f480
DBG+GUI: disable source debugging per default 2018-07-01 19:28:07 +02:00
Duncan Ogilvie 32b400b834
GUI: correctly show address column in search list view 2018-07-01 19:28:07 +02:00
Duncan Ogilvie 8c169ae2ed
DBG+BRIDGE+GUI: fix source loading 2018-07-01 19:28:06 +02:00
Duncan Ogilvie b63402066b
DBG: implement findSourceLineInfo by fileName + line in symbol source 2018-07-01 19:28:06 +02:00
Duncan Ogilvie 47d6efb59e
DBG: do not fully escape debug strings 2018-07-01 19:28:06 +02:00
Duncan Ogilvie b8ae4b1496
DBG: invalidate symbol source when MODINFO is destroyed 2018-07-01 19:28:06 +02:00
Duncan Ogilvie d70ed83a72
DBG: fix a bug in getLabel where jmp [MessageBoxA] would not be recognized correctly 2018-07-01 19:28:06 +02:00
Duncan Ogilvie df31f0da45
DBG: change symbol load order + add debuggee.pdb to the search list 2018-07-01 19:28:05 +02:00
Duncan Ogilvie 4098dc8fb2
DBG: finally fix the handle leak in PDBDiaFile 2018-07-01 19:28:05 +02:00
Duncan Ogilvie 34279ebf08
GUI: fix performance bottleneck with Qt signals 2018-07-01 19:28:04 +02:00
Duncan Ogilvie 8af904fad6
DBG: fix assert in debug mode on pluginunloadall 2018-07-01 19:28:04 +02:00
Duncan Ogilvie 0bf7bd10ef
GUI: fix ReferenceView signals not being called correctly 2018-07-01 19:28:04 +02:00
Duncan Ogilvie 9e68ea3900
DBG: only store file hash in database if there is other data as well 2018-07-01 19:28:03 +02:00
Duncan Ogilvie 7d1afa0940
DBG+GUI: change layout of window title to be more helpful in the task bar 2018-07-01 19:28:03 +02:00
Duncan Ogilvie 05378fabb2
GUI: add copy header VA to disassembly menu 2018-07-01 19:28:03 +02:00
Duncan Ogilvie 2665df4eb3
DBG: added mod.headerva expression function 2018-07-01 19:28:03 +02:00
Duncan Ogilvie 87c3238de8
DBG (WIP): set up DIA file stream for profiling of a handle leak 2018-07-01 19:28:03 +02:00
Duncan Ogilvie 408b6eeff9
GUI: don't filter symbol list when not necessary 2018-07-01 19:28:02 +02:00
Duncan Ogilvie 62cd2bb915
BRIDGE: fix truncation crash in DbgGetLabelAt 2018-07-01 19:28:02 +02:00
Duncan Ogilvie d79586d02b
DBG: fix a crash in the Cleanup in downslib 2018-07-01 19:28:02 +02:00
Duncan Ogilvie 70b3149599
WIP: new symbol gui mostly working 2018-07-01 19:28:02 +02:00
Mattiwatti 0bb2efcb2c
Improve performance and crash resistance when loading PE files containing 1000 or more sections. Tested on https://github.com/corkami/pocs/blob/master/PE/bin/65535sects.exe. Technically performance was already very good, but that was only due to crashing instantly 2018-07-01 19:28:01 +02:00
Mattiwatti f515484790
ReadBaseRelocationTable() refactor. Is it better now? Dunno really. This method may be slightly easier to use with both SEC_COMMIT and SEC_IMAGE mappings in the future if needed, but in the end they pretty much do the same thing. At least some more TitanEngine calls were killed off so that's something I suppose
Replaced dark and brooding "..."s in error messages with exclamation marks to better emphasise that this stuff is serious
2018-07-01 19:28:01 +02:00
Mattiwatti 1f485f313e
DBG: more robust debug directory parsing. Validate the RVA, type and size bounds for each debug directory entry, and do not stop after the one unrecognised (non-CV) entry
Protect against PDB paths that do not have a null terminator in the PE codeview info
2018-07-01 19:28:01 +02:00
Duncan Ogilvie 14da6c4448
DBG: clean up downslib 2018-07-01 19:28:00 +02:00
Mattiwatti 6df9535ba4
Rewrite ReadTlsCallbacks() to use RtlImageDirectoryEntryToData and remove all TitanEngine calls. Also fix an anti-debug trick I found by accident: it is possible to have working TLS callbacks with a TLS directory size of 0. The loader does not check this field and always executes callbacks if they exist 2018-07-01 19:28:00 +02:00
Mattiwatti 28c03967c7
RvaToVa(): use SizeOfRawData instead of VirtualSize as the upper bound on section RVAs. This matches the behaviour of RtlImageRvaToSection for SEC_COMMIT mappings 2018-07-01 19:28:00 +02:00
Mattiwatti a4638d2ea9
DBG: misc. changes and fixes in SymbolSourceDIA:
- Rename SetThreadDescription to SetWin10ThreadDescription, to clarify that this function isn't actually useful to anyone. (ha ha, OK... but seriously, the same name is also used by the Windows SDK which apparently takes precedence and gets added as a static import, making it impossible to start the debugger on OSes other than Windows 10)
- Thread names are a good idea and they even kind of work on older Windows versions with NtQueryInformationThread(ThreadQuerySetWin32StartAddress), which is what e.g. Process Explorer and Process Hacker use. What *doesn't* work so well is lambdas. Added static functions SymbolsThread() and SourceLinesThread() to replace these. (before: x64dbg.dll!<lambda_fc00d3fb731b14a9b4857ac068d657c4>::<lambda_invoker_cdecl>. after: x64dbg.dll!SymbolSourceDIA::SymbolsThread). These should probably be file statics instead of class members, but they need access to private class functions
- GetModuleHandleA -> GetModuleHandleW. The former just calls the latter but with an extra string allocation and pointless unicode conversion
- Fix pedantic Clang warnings about member initialization order in ctor
- Qualify type name in call to virtual function in destructor, as this will be statically resolved and won't call any potential future implementations in derived classes (this can be further 'fixed' by making either the function or the class final so you'll get a compile time error if you try to do this later)
2018-07-01 19:28:00 +02:00
Mattiwatti 9b0f9b5c59
Add clarifying comment/TODO re: invalid RVAs to ReadExportDirectory(). Don't feed your .avi collection to this function just yet 2018-07-01 19:28:00 +02:00
Mattiwatti a94c250c5d
[DBG] Rewrite ReadImportDirectory()
- Obtain the directory directly using RtlImageDirectoryEntryToData and ditch TitanEngine conversion helpers
- Use OFTs instead of FTs if possible, with FTs only as fallback
- Answer the pop quiz questions in comments re: ntdll loader behaviour and handle these cases appropriately
- Use THUNK_VAL() to obtain OFT/FT values independent of process and file bitness
- Always use ULONG64 for AddressOfData to be able to test for IMAGE_ORDINAL_FLAG64. Also return ULONG64 from RvaToVa(), and rva2offset too as a result of this. This makes these functions compatible with both 32 and 64 bit files regardless of process bitness. There shouldn't be any functional changes due to this, otherwise will revert/fix
- Require an import by name to have a non-null name in addition to not having the ordinal flag set. Otherwise treat it as an import by ordinal
- The ordinal value of an import by ordinal is obtained by (val & 0xffff), not (val &= ~ordinalFlag). The ordinal flag is now always removed to ensure the RVA is valid
- Give imports by ordinal a 'name' the same way dbghelp does, e.g. Ordinal57. Previously imports by ordinal were not being shown in the Symbols tab due to having no name. TODO: if we have the PDB for the file being imported from, we can overwrite or append the real function name later using the importee's export directory
- RvaToVa(): assert that RVA 0 always returns VA 0, because if this isn't the case something is seriously messed up
2018-07-01 19:27:59 +02:00
Mattiwatti 5ad21c69ee
- ReadDebugDirectory(): add about 20 years worth of missing debug directory type names
- symbolsourcedia.h: Add _global.h #include to prevent various macros like WINVER and _WIN32_WINNT from being redefined because Windows.h was indirectly included first
2018-07-01 19:27:59 +02:00
Mattiwatti fc9285ed2e
[DBG] Work on modinfo improvements:
- Add ImageNtHeaders() (clone of RtlImageNtHeaderEx which doesn't exist on XP) to obtain PE headers given a VA
- Add HEADER_FIELD() and THUNK_VAL() macros to module.h to allow accessing header fields independent of process and file bitness
- Add IMAGE_NT_HEADERS pointer to MODINFO, since anything related to parsing PEs needs this struct
- Read PE headers in GetModuleInfo(). Currently the headers are being parsed every time a TitanEngine helper function is called, the goal is to reduce this to once per module load
- GetModuleInfo(): eliminate all TitanEngine calls now that we have the headers
- Add RvaToVa() for SEC_COMMIT mappings. This can simultaneously serve as replacement for rva2offset helpers (pass base = 0). Preferably SEC_IMAGE should be used though as that way neither of these would be needed
- ReadExportDirectory(): use RtlImageDirectoryEntryToData() to obtain a PIMAGE_EXPORT_DIRECTORY and its size in one go to eliminate TitanEngine helper calls and RVA to offset conversions
- Answer burning questions re: Windows loader behaviour when parsing exports in comments
- (Minor) fix '>= 0' comparison against unsigned as this will always evaluate to true
- Add comment re: PDB search path order since it's wrong atm but I'm too scared of breaking something if I change this code myself
2018-07-01 19:27:59 +02:00
Duncan Ogilvie 013cd1e5f7
DBG: dont copy MODINFO and MODIMPORT/MODEXPORT structures 2018-07-01 19:27:59 +02:00
Duncan Ogilvie 4e88b399fe
Update DIA to 14.13.26128.0 + XP support 2018-07-01 19:27:58 +02:00
Duncan Ogilvie aa8a215895
DBG: use win32 threads instead of std::thread 2018-07-01 19:27:58 +02:00
ZehMatt 72ccf42298
Fix too early stream deletion. 2018-07-01 19:27:58 +02:00
ZehMatt cad8aed97d
Refactor PDB data loading via IStream, explicit file access. 2018-07-01 19:27:58 +02:00
ZehMatt c8af1f9144
Use correct PDBDiaFile instance. 2018-07-01 19:27:57 +02:00
Duncan Ogilvie 45b49995f3
DBG: fall back to resolving modules exports when no symbol is found 2018-07-01 19:27:57 +02:00
Duncan Ogilvie 73a5ffebd9
DBG: use export/import data from modules instead of from memory 2018-07-01 19:27:57 +02:00
Duncan Ogilvie 476bc093bc
DBG: add export and import parsing routines in module.cpp
#580
2018-07-01 19:27:57 +02:00
Duncan Ogilvie bee62fbbf0
DBG: add missing locks for ModInfoFromAddr 2018-07-01 19:27:56 +02:00
Duncan Ogilvie a2c52260f7
DBG: remove unused imports field from MODINFO 2018-07-01 19:27:56 +02:00
Duncan Ogilvie 4fa1b9a2a1
DBG: fix a buffer overflow in the symbol autocomplete function 2018-07-01 19:27:56 +02:00
ZehMatt 0cbf519e66
Fix undecorated name being uninitialized. 2018-07-01 19:27:56 +02:00
Duncan Ogilvie d5ae04dce4
DBG: fully implement symdownload command without dbghelp usage 2018-07-01 19:27:56 +02:00
Duncan Ogilvie ff11a39533
DBG: attempt to load symbols from multiple locations 2018-07-01 19:27:55 +02:00
Duncan Ogilvie 637815b63d
DBG: symdownload now works without dbghelp 2018-07-01 19:27:55 +02:00
Duncan Ogilvie ba6ad4cefc
DBG: initial version of Wininet download library 2018-07-01 19:27:55 +02:00
Duncan Ogilvie 3ab836225f
DBG: remove some useless dbghelp calls 2018-07-01 19:27:55 +02:00
Duncan Ogilvie 66017a7442
DBG: refactor SymbolInfo to use VA instead of RVA 2018-07-01 19:27:54 +02:00
Duncan Ogilvie ffc168f44d
DBG: rename SymbolSourcePDB to SymbolSourceDIA 2018-07-01 19:27:54 +02:00
Duncan Ogilvie aec262b88a
GUI: remove unused ColumnCompare class from StdTable 2018-07-01 19:27:54 +02:00
Duncan Ogilvie 73b30ed49b
DBG: actually use findSymbolsByPrefix 2018-07-01 19:27:54 +02:00
Duncan Ogilvie 876abcdf10
DBG: change findSymbolsByPrefix to take a callback 2018-07-01 19:27:53 +02:00
Duncan Ogilvie a6ccf69e5b
DBG: implement SymAddrFromName (untested on large symbols, working on small) 2018-07-01 19:27:53 +02:00
Duncan Ogilvie 550a1ff45a
DBG: correct PDB signature format 2018-07-01 19:27:53 +02:00
Duncan Ogilvie 2ce2470ea1
DBG: implement a much nicer data structure for SymbolSourcePDB 2018-07-01 19:27:53 +02:00
Duncan Ogilvie c7d0f50207
DBG: initial implementation of name-sorted symbol storage 2018-07-01 19:27:52 +02:00
Duncan Ogilvie eb9d55ac61
DBG: read debug directory on ModLoad 2018-07-01 19:27:52 +02:00
Duncan Ogilvie caa5b6273f
DBG: implement DiaLoadCallback for loadDataForExe 2018-07-01 19:27:52 +02:00
Duncan Ogilvie 4fadd01ad4
DBG: move files in 'Symbols' folder 2018-07-01 19:27:52 +02:00
ZehMatt 4a1327a896
Only print on load failure if its not missing. 2018-07-01 19:27:52 +02:00
Duncan Ogilvie b07611387f
GUI: implement initial version of ZehSymbolTable
beware of race conditions, but it appears to kinda work
2018-07-01 19:27:51 +02:00
Duncan Ogilvie f68b830069
GUI: fix some weird includes 2018-07-01 19:27:51 +02:00
Duncan Ogilvie 7c30c5993b
GUI: introduce an additional AbstractStdTable layer to prepare for the new symbol view 2018-07-01 19:27:51 +02:00
Duncan Ogilvie 83005bdcda
GUI: remove sorting related functionality from AbstractTableView 2018-07-01 19:27:50 +02:00
ZehMatt ae5bb70203
Fix resolving symbol size always returning true. 2018-07-01 19:27:50 +02:00
ZehMatt 80ad0e7df1
Minor cleanup. 2018-07-01 19:27:50 +02:00
ZehMatt 59d166ecf4
Refactor PDBDiaFile query. 2018-07-01 19:27:50 +02:00
Duncan Ogilvie 82774e2445
DBG: use undocumented __unDNameEx function to significantly speed up symbol loading
Before:
Loaded 313534 line infos in 47.406
Loaded 140366 symbols in 171.640

After:
Loaded 313534 line infos in 4.187
Loaded 140366 symbols in 9.391
2018-07-01 19:27:50 +02:00
Duncan Ogilvie a9782ac6c6
DBG: Don't show pointless module size in ModLoad 2018-07-01 19:27:49 +02:00
Duncan Ogilvie 995153cfc0
DBG: fix some truncation issues 2018-07-01 19:27:49 +02:00
ZehMatt 058c14d8bf
Make source file strings unique, reduces a lot of memory. 2018-07-01 19:27:49 +02:00
ZehMatt bd08f67f47
Load symbols and source line in parallel. 2018-07-01 19:27:49 +02:00
ZehMatt 7c6bfcd2c6
Use enumerators Next instead of index, slight performance improvement. 2018-07-01 19:27:48 +02:00
ZehMatt 97fa3c1408
Lock when trying to read source lines. 2018-07-01 19:27:48 +02:00
ZehMatt ae050ea4a1
Fix source lines displayed with disp. 2018-07-01 19:27:48 +02:00
ZehMatt cad369f7a5
Refactor DbgHelp source line query references to new symbol interface. 2018-07-01 19:27:48 +02:00
ZehMatt ac6ee608e4
Add source line queries into new symbol interface. 2018-07-01 19:27:48 +02:00
ZehMatt 2604384853
Refactor source line queries in DIA interface. 2018-07-01 19:27:47 +02:00
ZehMatt b68c89a12e
Hide undecorated name if identical to decorated. 2018-07-01 19:27:47 +02:00
ZehMatt d6fd79346e
Prioritize private symbols over public. 2018-07-01 19:27:47 +02:00
ZehMatt e648e27346
Use spinlock instead of critical section.
Use proper thread termination on destructor.
2018-07-01 19:27:47 +02:00
ZehMatt a0c94caaf6
Cleanup DIA interface some more. 2018-07-01 19:27:46 +02:00
ZehMatt d35996883e
Implement unloading. 2018-07-01 19:27:46 +02:00
ZehMatt 0ea92f26eb
Remove unused functions from DIA interface. 2018-07-01 19:27:46 +02:00
Duncan Ogilvie 1b94728118
DBG: buggy implementation of symbol enum 2018-07-01 19:27:46 +02:00
Duncan Ogilvie 03a609c954
lf to crlf 2018-07-01 19:27:45 +02:00
ZehMatt 4e2f307052
Tabs to spaces 2018-07-01 19:27:45 +02:00
ZehMatt 626695f233
Add PDB load cancellation. 2018-07-01 19:27:45 +02:00
ZehMatt 01f0a824ab
Fix marking symbol with wrong type. 2018-07-01 19:27:45 +02:00
ZehMatt b176fb7e46
Initial for async symbol loading. 2018-07-01 19:27:44 +02:00
ZehMatt 3a3afa3744
Remove unused DbgHelp loading. 2018-07-01 19:27:44 +02:00
ZehMatt bd173bf01e
Refactor symbol loading/query to use a common interface. 2018-07-01 19:27:44 +02:00
ZehMatt 121486a137
Initial implementation of LRU.
Initial implementation of MSDIA.
2018-07-01 19:27:44 +02:00
Duncan Ogilvie 607c5a94e6 GUI: refactor formatOpcodeString + fix underline of relocations 2018-07-01 19:04:38 +02:00
Duncan Ogilvie 67e095efb5 GUI: don't add same thing to the history twice 2018-07-01 19:04:38 +02:00
Duncan Ogilvie 95cacb3732 DBG: add information to Zydis command 2018-07-01 19:04:38 +02:00
Duncan Ogilvie d24d045105 ZYDIS: fix uninitialized variable in BytesGroup function 2018-07-01 19:04:38 +02:00
Duncan Ogilvie 3a2ce72dd2 rename curByte1 to curByte 2018-07-01 19:04:38 +02:00
Duncan Ogilvie c46dc0aaca fix crash in formatOpcodeString 2018-07-01 19:04:38 +02:00
torusrxxx 40c00a4d01 fixed relocations 2018-07-01 19:04:38 +02:00
torusrxxx 4cbf8ac7f1 Restore old code for patch&relocation 2018-07-01 19:04:38 +02:00
torusrxxx 606d3cec2e Added patches and relocations 2018-07-01 19:04:38 +02:00
torusrxxx 6c472a34e4 fixed problem with immediates 2018-07-01 19:04:38 +02:00
torusrxxx 712bd6f78a test 2018-07-01 19:04:38 +02:00
torusrxxx 58825d4522 Edit inactive breakpoint 2018-06-19 18:51:36 +02:00
torusrxxx c2f999c6ea Delete inactive breakpoint in Breakpoints View 2018-06-19 18:51:36 +02:00
torusrxxx 3b5d9eeb86 temporary 2018-06-19 18:51:36 +02:00
torusrxxx 380df7ba2e minor parsing bug 2018-06-19 18:51:36 +02:00
torusrxxx ddbeeefab4 Special format to find an inactive breakpoint to edit it. 2018-06-19 18:51:36 +02:00
torusrxxx b59798db6f minor enhancements about SymbolView&breakpointcpp&SearchListView 2018-06-19 18:51:36 +02:00
Duncan Ogilvie 12e9127799 DBG: support for an edge case in HandlesGetName where the process itself doesn't have query access 2018-06-19 18:30:13 +02:00
torusrxxx f8c67ef2ab show PID or TID in handles view 2018-06-19 18:30:13 +02:00
Duncan Ogilvie f5fa7de918
DBG: better message in _dbg_animatecommand 2018-06-11 03:13:25 +02:00
torusrxxx 0ab417f5b4
Animation help; Restore empty graph help 2018-06-11 03:12:50 +02:00
torusrxxx 71847bb385
set conditional breakoint 2018-06-11 03:12:49 +02:00
torusrxxx ee56954a0c
Use a more useful example for switch condition 2018-06-11 03:12:49 +02:00
torusrxxx 2df55a3fa6
Load language menu only when needed 2018-06-11 03:12:49 +02:00
torusrxxx 5acf7eb182
Added some icons for Log view and Trace view 2018-06-10 23:56:33 +08:00
Duncan Ogilvie db17e323fe
DBG: more message fixes 2018-06-03 17:47:01 +02:00
Duncan Ogilvie 01960c556b fix some whitespace in strings 2018-06-03 17:43:30 +02:00
torusrxxx 1cd3cfc469 fix mistakes 2018-06-03 17:43:30 +02:00
torusrxxx 4cf5508b5f add error descriptions to x64dbg failure messages 2018-06-03 17:43:30 +02:00
Duncan Ogilvie 4ea3a8e3af GUI: actually fix the crash, derp 2018-05-17 17:14:12 +02:00
Duncan Ogilvie 291039eb17 GUI: fix crash in new HexEditDialog 2018-05-17 17:05:11 +02:00
torusrxxx 40ab0ed1ae Fix pasting CR/LF text to CR/LF hex editor 2018-05-13 20:38:53 +02:00
torusrxxx 781b0dd89c Add CR/LF option to text editor 2018-05-13 20:38:53 +02:00
torusrxxx e714824a0d restore current tab index 2018-05-13 20:38:53 +02:00
torusrxxx 49a1c861f0 Make hex editor dialog resizable & Fix copying IP addr. 2018-05-13 20:38:53 +02:00
torusrxxx 8de0520dc9 string editor works 2018-05-13 20:38:53 +02:00
torusrxxx facf8ac223 Removed data copy dialog 2018-05-13 20:38:53 +02:00
torusrxxx dce0e11713 data copy working 2018-05-13 20:38:53 +02:00
torusrxxx 9741c06798 Disable data copy in find pattern dialog 2018-05-13 20:38:53 +02:00
torusrxxx dba3178428 Improved design. Added codepage warning. 2018-05-13 20:38:53 +02:00
torusrxxx 1f7352e0a0 design 2018-05-13 20:38:53 +02:00
Duncan Ogilvie 3f33ad44cc
DBG+GUI: update zydis and fix some issues related to formatting
closes #1904
closes #1898
2018-04-05 00:20:31 +02:00
Duncan Ogilvie 3f754c0bfc
DBG: fix an out of bounds access on expression "([esp])" 2018-03-26 02:14:49 +02:00
Duncan Ogilvie fa902f5df7
GUI: set shortcut for copy file offset in CPUDisassembly
closes #1916
2018-03-20 10:25:59 +01:00
Duncan Ogilvie 5bf0e7fb7b
PROJECT: fix zydis_wrapper project to not include nonexistent files 2018-03-05 23:52:20 +01:00
Duncan Ogilvie 1c1a48bcee
DBG: fix heuristic string detection near the end of a page
related to #1906
2018-03-05 23:52:07 +01:00
Duncan Ogilvie f8e4ed4f1f
DBG: fix bug with operand size in TraceRecord 2018-03-04 23:00:13 +01:00
Duncan Ogilvie 8da82cf569
PROJECT: remove keystone 2018-03-04 22:41:00 +01:00
Duncan Ogilvie e5f950308a
PROJECT: remove capstone 2018-03-04 22:35:01 +01:00
Duncan Ogilvie 55d99b5647
DBG+GUI: replace Capstone with Zydis in trace record 2018-03-04 22:32:08 +01:00
Duncan Ogilvie 0343280cb5
DBG+GUI: update to Zydis v2.0.0 2018-03-04 22:22:54 +01:00
Duncan Ogilvie 49167e92c6
DBG+GUI: fix many application verifier issues 2018-03-04 22:04:37 +01:00
Duncan Ogilvie 53e621c175
DBG: replace WAITID_STOP with a more reliable method
closes #1852
2018-03-04 22:04:04 +01:00
ThunderCls e2dcda5498 removed unnecessary include 2018-03-02 10:17:14 +01:00
ThunderCls 5a28eb7d30 ASM styles added 2018-03-02 10:17:14 +01:00
ThunderCls da8d90f674 Enhancements to the Data Copy dialog 2018-03-02 10:17:14 +01:00
ThunderCls 96b8038f88 Added ASCII field for edit registers dialog 2018-03-02 10:17:14 +01:00
Duncan Ogilvie c5ce4313b4
DBG+GUI: update Zydis to the latest version 2018-02-24 13:42:59 +01:00
Duncan Ogilvie 289a6b1911
GUI: mnemonic help and brief now work better with prefixes 2018-02-24 12:43:48 +01:00
Duncan Ogilvie 16fdf57f41
DBG: move call to CB_STOPDEBUG to the very end of the debug loop
close issue #1899
2018-02-14 22:19:00 +01:00
Duncan Ogilvie 2c284cd210
DBG: remove std::thread usage from TaskThread 2018-02-14 20:38:49 +01:00
Duncan Ogilvie 804322aeb8 GUI: introduce setting for ASCII/Unicode in address dump mode 2018-02-08 01:22:33 +01:00
Duncan Ogilvie 8a1256b5fd GUI: small refactor in Configuration 2018-02-08 01:22:33 +01:00
aikuimail e8e7112cf5 GUI: swich bettween ASCII and UNICODE column in Address mode
closes issue #1880
2018-02-08 01:22:33 +01:00
Duncan Ogilvie 1fa1c3d705
DBG: remove limitation of placing "&" in labels 2018-01-30 20:54:45 +01:00
Duncan Ogilvie ddc97f2a74
DBG: show PEB in memory map
#1882
2018-01-28 11:51:15 +01:00
torusrxxx 13b8db3a2b fix and add UTF8/UCS4 2018-01-28 11:45:23 +01:00
torusrxxx 164d8b0730 View and copy raw string 2018-01-28 11:45:23 +01:00
Duncan Ogilvie 39f78b1c33
DBG: remove weak acquire in dbghelp_safe
possibly fixes #1863
2018-01-12 14:15:06 +01:00
ZehMatt 0e29990da5 Jump to thread IP by double clicking. 2017-12-31 12:34:05 +01:00
Duncan Ogilvie 3e510440d2
GUI: don't try reading the first byte of a memory region in HexDump 2017-12-28 23:26:13 +01:00
Duncan Ogilvie 2d6004da9b
DBG: remove TitanEngine for parsing TLS callbacks 2017-12-28 23:25:42 +01:00
Duncan Ogilvie 42dc5f90e5
DBG: fix Zydis.BranchDestination
closes #1855
2017-12-28 21:34:47 +01:00
Duncan Ogilvie 7c0d122ee4
DBG: add breakpointexceptionaddress variable 2017-12-28 20:27:23 +01:00
Duncan Ogilvie 8616ff67a2
DBG+GUI: fix OperandText returning weird values for relative jumps
closes #1849
2017-12-26 13:31:10 +01:00
Duncan Ogilvie 761e2f67c0
DBG: fix a rare bug with module resolving by name (thanks to chessgod101!)
if you had:
blub.exe
blub.exe.dll

And tried to resolve 'blub.exe' it could return the base of 'blub.exe.dll'
2017-12-24 13:21:06 +01:00
Duncan Ogilvie 2106873f55
GUI: revamp of the menu system 2017-12-18 03:07:27 +01:00
Duncan Ogilvie bdde5d3cce
GUI: hide the "Disable Branch Destination Preview" menu + symbol menu in system modules only 2017-12-18 02:15:44 +01:00
Duncan Ogilvie ed1dd3c6c1
GUI: save and restore deleted tab state 2017-12-18 02:03:14 +01:00
Duncan Ogilvie 0f1916cc2e
GUI: fix cip not displaying correctly in the reference view 2017-12-18 02:02:35 +01:00
Duncan Ogilvie 0e2ff40443
DBG: remove unused parameter from RecursiveAnalysis class 2017-12-17 02:05:53 +01:00
torusrxxx f29d660b6e Search for function pointer 2017-12-17 02:05:39 +01:00
Duncan Ogilvie 188b74bc91
GUI: implement OllyDbg's Find all names in current module (Ctrl+N)
Cheers to @R3MRUM from Twitter!
2017-12-08 03:10:10 +01:00
Duncan Ogilvie 37e83c9436
DBG+GUI: trim error descriptions in RegisterView and format functions 2017-12-03 22:27:47 +01:00
Duncan Ogilvie e11701d7c3
GUI: improve InfoBox for bigger memory sizes 2017-12-03 22:27:47 +01:00
Mattiwatti 70a836b17a Move SafeSymCleanup() call to cbExitProcess so it isn't called when the process may have already terminated
debugLoopFunction: set fdProcessInfo->hProcess and fdProcessInfo->hThread to NULL as these shouldn't be used after this point. The actual CloseHandle calls on these two handles are done by kernel32!ContinueDebugEvent immediately after cbExitProcess
2017-11-28 17:29:50 +01:00
Mattiwatti 2f3f28746d Remove 2 occurrences of 'varset("$hp", fdProcessInfo->hProcess)', one of which was being called with the initial handle from CreateProcess(). cbCreateProcess is now the only place where this variable is set, for both types of debug sessions (attaching or creating) 2017-11-28 17:29:50 +01:00
Mattiwatti 629a6022e4 Fix duplicate debuggee process and initial thread handles being kept around in the case that x64dbg is not attaching:
- CloseHandle() the fdProcessInfo->hProcess and fdProcessInfo->hThread handles and set them to NULL if CreateProcess was called (i.e. we are not attaching) just before entering the debug loop
- cbCreateProcess(): set fdProcessInfo->hProcess, fdProcessInfo->hThread and varset("$hp") to the correct handles prior to doing anything else
2017-11-28 17:29:50 +01:00
Mattiwatti c8e8b692f0 Remove static global handle 'hProcess' in debugger.cpp; it is only used in one place as argument to SafeSymCleanup(). Use fdProcessInfo->hProcess instead 2017-11-28 17:29:50 +01:00
Duncan Ogilvie 27a9266de8
GUI: do not render instructions that are not visible on the screen + remove timer
#1819
2017-11-19 23:57:08 +01:00
Duncan Ogilvie 4eb0fb6b88
GUI: autocompletion works much nicer now
#1738
2017-11-17 16:46:18 +01:00
Duncan Ogilvie c3dae65658
PROJECT: update translation sources 2017-11-17 14:48:27 +01:00
Duncan Ogilvie 233a2670d2
GUI: replace backtab with Shift+Tab in ShortcutEdit 2017-11-17 14:42:49 +01:00
lynnux 5b7696219e Tab switch using history stack (#1807)
* add OpenViewsWindow
* almost done for history view switch
* rename the class
* add icon in history popup window
* astyle format
* add config TabSwitchUseHistory, default disable history tab switch
* remove no used code
* add shortcuts for the stuff
* rename HistoryViewsPopupWindow to MultiItemsSelectWindow, for further common use
* GUI: some small style adjustments
* GUI: change default hotkeys for ViewNextTab
2017-11-17 14:40:08 +01:00
Paul 7963e5206f Add memory read breakpoint to context menu
* added breakpoint_memory_read.png
* added breakpoint_memory_read.png to resource.qrc
* breakpoint memory read added to memory dump context menu
* breakpoint memory read added to context menu
2017-11-17 13:00:32 +01:00
Torusrxxx 200c861761 fixed winerror & ntstatus fmt funcs
Thanks @Mattiwatti
2017-11-17 12:54:30 +01:00
Duncan Ogilvie 1c79384a06
DBG: remove the ordinal flag before printing the value
#1795
2017-11-15 13:44:36 +01:00
Duncan Ogilvie c9abfd5229
GUI: put current selection in the initial goto dialog expression
related to #1812
2017-11-14 16:49:51 +01:00
Mack Stump f4cdecd46a GUI: show Follow->Constant even if same as Address (#1806)
* GUI: show Follow->Constant even if same as Address
* GUI: invert constant and address entries in follow
* GUI: maintain original ordering in Follow menu
2017-11-14 16:32:09 +01:00
Emily Clemens 925c2a1222 added settings to hide ptr sizes and defualt segments 2017-11-14 16:04:43 +01:00
lynnux 679aa23340 fix filter search bug in symbolview, and avoid double call setSingleSelection 2017-11-14 16:04:25 +01:00
lynnux e5cd1813ef let goto file offset dialog has a init value of current selected address 2017-11-14 16:03:50 +01:00
fearless dbb6e7e322 Added context menu icons for reference view (#1808)
* Added context menu icons for reference view

* Add context menu icons to source view

* Upload context menu icons

* Upload context menu icons

* Update stdtable to include copy item icon for columns in copy menu
2017-11-14 16:02:49 +01:00
Duncan Ogilvie ca27de0dd7
DBG: remove custom formatter hooks and use new zydis setting instead 2017-11-14 16:00:55 +01:00
Duncan Ogilvie 63ec6d4648
GUI: add a fake menu for modules 2017-11-14 16:00:55 +01:00
Duncan Ogilvie d1edce0872
DBG: small improvement to Handle class
By @torusrxxx
2017-11-14 16:00:55 +01:00
Duncan Ogilvie 4db8d02cf4
DBG: show operand visibility in Zydis command 2017-11-14 16:00:54 +01:00
torusrxxx 3096f0dbba
Add warning to follow in dis bc tracing dont support ASLR;add TID & LastErr 2017-11-14 16:00:54 +01:00
HefrPidge 36003e3abe
GUI: sortable memory map headers for type and protections 2017-11-14 16:00:54 +01:00
torusrxxx 062dee26f6
fix crashes in trace viewer when pressing hotkeys 2017-11-08 17:12:20 +08:00
Torusrxxx 4cf0844255 Browse dialog and goto dialog support auto-complete (#1738)
* Browse dialog and goto dialog supports auto-complete
* don't use unicode string size
* Auto complete only when expression is valid symbol name
* use dbgfunctions for better flexibility and performance
* buffer last auto complete
* disable auto completion
2017-11-07 20:24:51 +01:00
torusrxxx 3116b3dde0 fixed NTSTATUS name 2017-11-07 20:24:01 +01:00
torusrxxx 01e5caf75b removed upper part check in NTSTATUS 2017-11-07 20:24:01 +01:00
torusrxxx 79e335277e lazy load mnemonic data and save 3MB memory 2017-11-07 20:24:01 +01:00
torusrxxx 990bccfffc add mem.isstring() 2017-11-07 20:24:01 +01:00
torusrxxx e6297423f9 Add NTSTATUS fmt;show str in locals tab;fix div by 0 in data copy dlg. 2017-11-07 20:24:01 +01:00
Mack Stump d67031a089 DBG: remove \\n replacement in string formatting 2017-11-07 20:23:25 +01:00
Joel Höner 15b0e73ba0 DGB: fix disp+imm printing in “zydis” command 2017-11-07 20:22:15 +01:00
Joel Höner a19b603620 GUI: fix printing of operands with non-standard size 2017-11-07 20:22:15 +01:00
fearless 2207ad9311 Added context menu icons for thread view (#1796)
* Added context menu icons for thread view

* Added thread setname icon
2017-11-05 00:51:41 +01:00
Bálint Faragó 6d45928375 GUI: add shortcuts for search in current module 2017-11-04 21:26:15 +01:00
Bálint Faragó 5e67d7ae45 GUI: minimize changes for struct in lambda MSVC 2017 compile fix 2017-11-04 21:25:46 +01:00
Bálint Faragó ecd1a3d576 GUI: small compile fixes for MSVC 2017 2017-11-04 21:25:46 +01:00
Bálint Faragó d2102e20ed GUI: handle highlighting segment registers in RegistersView 2017-11-04 21:25:26 +01:00
torusrxxx b767d39b3e cannot paste when clipboard is empty 2017-11-04 21:25:03 +01:00
torusrxxx 0985f490ef Copy hash 2017-11-04 21:24:40 +01:00
Alexandros Naskos 2f5d1135c6 Overriding a non global hotkey by a non global hotkey now asks user for confirmation 2017-11-04 21:23:49 +01:00
Duncan Ogilvie 7e3a045c4b
PROJECT: don't keep trying to compile the Zydis wrapper 2017-11-04 20:57:40 +01:00
Duncan Ogilvie ae20041edb
DBG: proper workaround for 0x prefix in GUI
also closes #1792
2017-11-04 18:08:44 +01:00
Duncan Ogilvie 4870eebd87
DBG: correctly handle imports by ordinal
closes #1795
2017-11-04 16:34:52 +01:00
Duncan Ogilvie 8c04e7b272
DBG: fix a copy&paste bug in the Zydis wrapper 2017-11-03 14:09:13 +01:00
Duncan Ogilvie f14633f20a
GUI: fix weird looking uppercase 0X 2017-11-02 22:29:47 +01:00
Duncan Ogilvie 9c639ddc5f
DBG: small improvements to winerror format function 2017-10-30 00:35:54 +01:00
Duncan Ogilvie 2f26a80b78
DBG+BRIDGE+GUI: deprecate DbgGetRegDump 2017-10-29 02:18:06 +02:00
torusrxxx ec0555dc0d
Added winerror format function and show help message for last error in reg view 2017-10-28 02:52:13 +02:00
Mattiwatti d5582c6a1f - DbgGetRegDumpEx(): copy lastStatus NTSTATUS name if requested struct size is >= sizeof(REGDUMP_V2)
- RegistersView: replace usages of REGDUMP with REGDUMP_V2 to access LastStatus register
2017-10-28 02:47:49 +02:00
Mattiwatti 8c9b11ecc9 Remove LastStatus from THREADALLINFO to preserve plugin compatibility 2017-10-28 02:47:49 +02:00
Mattiwatti 1e639585db GUI changes for TEB->LastStatusValue:
- RegistersView: add LastStatus entry to REGISTER_NAME enum
- RegistersView: add modifiable LastStatus pseudo-register under LastError with the human-readable NTSTATUS name
2017-10-28 02:47:49 +02:00
Mattiwatti 6f1b6b77bb dbg changes for TEB->LastStatusValue:
- Add LASTSTATUS struct
- Add LastStatus members to REGDUMP and THREADALLINFO
- Add ThreadGetLastStatus()/ThreadGetLastStatusTEB()
- Make "laststatus" a supported pseudo-register in isregister() / getregister() / setregister() similar to "lasterror"
- _dbg_getregdump(): copy the full name of the last NTSTATUS value
- ThreadGetList(): add the last status value to the thread list for each thread
- TraceRecordManager: account for the size change of REGDUMP to keep REGDUMPWORD the same size
2017-10-28 02:47:49 +02:00
Mattiwatti 8f0f83bdf3 ntdll.h: Update PEB and TEB structs for Windows 10 RS3, and correct offset of TEB->LastStatusValue on x86 2017-10-28 02:47:49 +02:00
Mattiwatti 787b86cd1f Add DbgGetRegDumpEx to bridge API
Public SDK changes:
- Add LASTSTATUS struct
- Add REGDUMP_V2 struct with LASTSTATUS member
- Add DbgGetRegDumpEx(REGDUMP* regdump, size_t size);

Internal changes:
- Change typedef of _dbg_getregdump to add a size parameter
- Make DbgGetRegDump() pass sizeof(REGDUMP) to _dbg_getregdump to preserve existing behaviour. DbgGetRegDumpEx() forwards the size that was passed to it
2017-10-27 00:02:39 +02:00
torusrxxx 0fbb1aa056 Don't add autocomments on "mov edi,edi"(#1775) 2017-10-26 00:43:54 +02:00
Duncan Ogilvie 0762182973
DBG: implement DLL breakpoints directly in x64dbg 2017-10-25 21:58:01 +02:00
Joel Höner a514176750 Add tokenizer support for pointer operands (#1781)
* Add tokenizer support for pointer operands
* Fixed pointer operand width calculation
2017-10-25 21:45:00 +02:00
Torusrxxx 466d5e9173 Update cmd-misc.cpp 2017-10-25 11:21:44 +00:00
Torusrxxx db5c3e23af Update cmd-misc.cpp 2017-10-25 11:16:01 +00:00
Duncan Ogilvie ecbea6d9d8
GUI: fix Sonar issues 2017-10-22 17:07:45 +02:00
Torusrxxx c102670c3f Update TraceBrowser.cpp 2017-10-21 14:17:38 +00:00
Duncan Ogilvie 33844079ee
DBG+GUI: update zydis 2017-10-18 23:44:36 +02:00
torusrxxx 9a2cb20682 enhancement to run until return 2017-10-18 22:49:06 +02:00
RaMMicHaeL 75987325fb Remember navigation source in graph history (#1766)
* Remember navigation source in graph history

If you follow a jump or a call, and click on '-', you don't go back to the jump or the call (as in the regular CPU view), but to a previous, non-relevant command in the graph. This commit tries to fix this.

* Update DisassemblerGraphView.cpp

* Update DisassemblerGraphView.cpp
2017-10-18 22:48:57 +02:00
Alexandros Naskos f519f322da Added setting that controls MaxModuleSize. (#1765)
* Added spinbox that controls maximum module name size in the disassembler settings.

* Restored settings dialog default tab index to zero.
2017-10-18 22:47:43 +02:00
Torusrxxx 390bf4c5ca Trace recording (#1736)
* run trace file format
* record opcode
* Successfully recorded sample run trace
* fixed order of thread id and opcode
* use capstone in run trace
* Revised format;Stop tracing when stop debug;Changed ext name
* trace browser(draft)
* Lower bound
* Lower bound
* implemented more funcitons in trace file reader
* Initial trace browser
* trace browser works for single-page traces
* fixed page fault
* Multi-selection, fixed page faults
* copy disassembly
* resize columns
* address label;follow in disassembly
* highlight
* history,comment,breakpoint in trace view
* stricter validation to prevent buffer overflow
* MAX_MEMORY_OPERANDS=32
* fixing bug in memory access count
* Temporary info menu to view registers & memory
* assumed to fix thread id bug
* live update trace view
* Fixed a bug with registers recording (similar to thread id bug)
* Search for constant in trace file
* Fixed bugs with memory operands recording
* File header for trace file; Auto update trace viewer
* fix x64dbg_translations.pro
* Default filename for trace; Start trace from trace view
* Switch to Qt JSON
* Copy selection, file offset and RVA; recent files
* Properly implement MRU menu
* shortcut for tracing
* Fix file names with comma
* added interaction with tab closing
* change default directory for trace file
* fix minor issue
2017-10-16 20:00:26 +02:00
Torusrxxx 9959278863 Properly exit x64dbg 2017-10-15 16:18:48 +02:00
Duncan Ogilvie f85cea6bcd
GUI: change multi-selection hotkeys (#1743)
closes #1762
closes #1761
2017-10-14 19:46:47 +02:00
Duncan Ogilvie f6590e6465
DBG: fixed a typo 2017-10-14 17:31:11 +02:00
Atvaark c44c1f7fc6 GUI: add multiselect hotkeys to StdTable
This allows selecting multiple rows in e. g. the Breakpoints view
without having to use the mouse.

New hotkeys:
- Select all: (ctrl+a)
- Select first row (ctrl+home)
- Select last row (ctrl+end)
- Expand selection upwards (shift+up)
- Expand selection downwards (shift+down)
2017-10-14 17:26:39 +02:00
Duncan Ogilvie d6ca58efd1
DBG: fixed another problem with Zydis 2017-10-14 15:42:02 +02:00
Duncan Ogilvie 6f7af9b8da
DBG: fixed various small issues with Zydis
ping @athre0z
2017-10-14 00:32:34 +02:00
Duncan Ogilvie c9e17df1c0
DBG+LAUNCHER: correctly handle mixed mode executables
fixes #1758
2017-10-13 23:38:53 +02:00
torusrxxx 8cf9f63bac Fixing #1752 2017-10-13 19:43:33 +02:00
Joel Höner c5c3358c52 Add range checks for operand access (fixes #1750) (#1751)
* DBG: added range checks to operand access
- previously, some instructions could trigger the `DebugBreak` path in `Zydis::operator[]`
* GUI: removed redundant semicolon
2017-10-10 21:01:59 +02:00
Duncan Ogilvie 9d692efbdf
PROJECT: AStyle 2017-10-09 23:42:23 +02:00
Duncan Ogilvie d365b5a590
GUI: fixed a typo in capstone_gui 2017-10-09 23:15:00 +02:00
Joel Höner 77c6e951f0 zydis_wrapper: Cleaned up branch types
- Remove unused semantic groups
- Improve handling of “far” in tokenizer
2017-10-09 10:02:13 +02:00
Joel Höner 8741e94bdb zydis_wrapper: Final touch
- Comment out diff code in GUI
- Enable optimization
- A few more whitelist entries in the diff code
- A few fixes in the old tokenizer to be consistent with the new one in diffs
- Remove LICENSE and README now that the wrapper is part of the x64dbg core repo
2017-10-09 10:02:13 +02:00
Joel Höner 5b1cf81f55 zydis_wrapper: Fixed x32 build 2017-10-09 10:02:13 +02:00
Joel Höner 3fca5c9191 Ported & renamed `cbInstrCapstone` 2017-10-09 10:02:13 +02:00
Joel Höner 16942049b3 QBeaEngine: Implemented reg & flag info again 2017-10-09 10:02:13 +02:00
Joel Höner af0ff55df3 zydis_wrapper: Better compliance with style-guide
- Removed underscores
- Removed redundant “zy” prefix
- Executed `AStyleWhore` (sorreh, I use git on my macOS host, can’t put it into pre-commit-hook)
2017-10-09 10:02:13 +02:00
Joel Höner ca9401fdb7 Moved “zydis_wrapper” into root repo
- Instead, we directly use Zydis as a submodule now
2017-10-09 10:02:13 +02:00
Joel Höner da0d4415e3 Print “far” token, support RTM instructions
- Also, more whitelist entries for the CS-Zydis diff
2017-10-09 10:02:13 +02:00
Joel Höner 0711ac09df Added CS vs Zydis diff code & various fixes
- Fixed various porting bugs in the Zydis `CapstoneTokenizer`
- Added Capstone vs Zydis tokenizing diff and various exceptions for known issues
2017-10-09 10:02:13 +02:00
Joel Höner 4c841d85c6 Renamed `Capstone` -> `Zydis`
- Prevents name clashes with actual capstone disassembler implementation
2017-10-09 10:02:13 +02:00
Joel Höner 5338a0a85b Replace Capstone with Zydis
- While at it, added branch info logic to disassembler class
  - Thus reduce direct checks by mnemonic in GUI and analysis code
- Replaced direct disassembler struct access with disassembler class calls where trivially possible
- Removed workarounds for empty segment registers
- Temp. disabled `cbInstrCapstone` command
- Temp. disabled flag stuff in `QBeaEngine`
2017-10-09 10:02:13 +02:00
Duncan Ogilvie 103866eafe
DBG+EXE+GUI: fixed some more sonar warnings 2017-10-08 20:19:32 +02:00
Duncan Ogilvie cd9bbb1189
BRIDGE+LAUNCHER: fixed some more CRT warnings 2017-10-08 16:23:20 +02:00
Duncan Ogilvie 57235b2f24
DBG+EXE+LAUNCHER+BRIDGE: remove _CRT_SECURE_NO_WARNINGS 2017-10-08 16:16:20 +02:00
genuine bebc47b924 Show address with label in InfoBox
Address issue #1588
2017-10-05 17:25:56 +02:00
Duncan Ogilvie d121cd9dc2
DBG+LAUNCHER: fix exception handling in GetPeArch.h
Thanks to digitalboy for the report!
2017-10-05 17:08:34 +02:00
Danila Malyutin 8671ff2e57 fixup 2017-10-03 20:23:41 +02:00
Danila Malyutin 33024f5672 Fix standard conformance issues 2017-10-02 00:07:17 +02:00
Duncan Ogilvie ba6e6dea63
DBG: full unicode support in ResolveShortcut 2017-09-30 14:30:40 +02:00
Duncan Ogilvie 1143621eb1
DBG: make sure the debugger is signaled as initialized before loading plugins
Fixes #1734
2017-09-30 13:01:24 +02:00
Duncan Ogilvie fcda76a470
DBG: fixed LibrarianEnableBreakpoint 2017-09-30 12:52:07 +02:00
torusrxxx 537b587f73 Fixing issues with memory map(closes #1720) 2017-09-16 17:55:40 +08:00
mrexodia 51c1b5f690
GUI: Don't freeze when calling BridgeResult::Wait() on the main ThreadClear
closes #1716
2017-09-12 00:36:34 +02:00
mrexodia ec66220dd5
GUI: don't select when changing the byte offset with ctrl+up/down
closes #1709
2017-09-11 17:58:34 +02:00
mrexodia 5e9ee7afc3
GUI: keep consistent when disabling summary (closes #1708) 2017-09-11 17:47:11 +02:00
roL 7627fce15c Tripleslash for scriptapi_misc functions 2017-09-11 15:00:30 +02:00
mrexodia ef6bf04fb0
DBG: find the plugin name for the currently-loading plugin name (thanks to testuser!) 2017-09-07 23:04:48 +02:00
torusrxxx 3879297c7a Fixed conditions in favourite tools 2017-09-06 12:40:47 +08:00
torusrxxx 1f2dd7a816 Fixed copy AVX register:32-bit app can use AVX 2017-09-06 12:30:30 +08:00
mrexodia 7db12dcd6e
GUI: copy in the same order as the view (closes #1712) 2017-09-06 03:56:46 +02:00
mrexodia 2d7c929c64
DBG: fixed a deadlock while unloading plugins
closes #1710
2017-09-06 03:50:46 +02:00
mrexodia 95d3a837bb
GUI: added back the remove all option in the BreakpointsView 2017-09-05 17:29:19 +02:00
mrexodia 1d47124ec3
GUI: don't check QueryProcessCookie per default
related: https://github.com/x64dbg/ScyllaHide/issues/32
2017-09-05 15:49:10 +02:00
mrexodia d8ad2e7f53
GUI: better clickable columns (thanks to ali56s for reporting!) 2017-09-04 22:57:49 +02:00
mrexodia 7c93a0ef48
DBG: QueryWorkingSetEx with GetProcAddress (restored XP support) 2017-09-04 22:57:49 +02:00
mrexodia 9cc8e779e9
DBG: some small improvements to plugin functions and added idle detection for time wasted 2017-09-04 22:57:48 +02:00
roL 3da4461a63 Tripleslash for DbgCmdExec, DbgCmdExecDirect 2017-09-04 22:47:42 +02:00
mrexodia 082bcc0937
Merge remote-tracking branch 'origin/PLMDebug' into development 2017-09-01 22:54:53 +02:00
mrexodia 4f67fcada7
GUI: fixed some small coverity issues 2017-09-01 22:54:23 +02:00
mrexodia 037504643b
DBG+GUI: option to query the working set before attempting to read a memory page
workaround for http://www.triplefault.io/2017/08/detecting-debuggers-by-abusing-bad.html
2017-09-01 22:53:50 +02:00
mrexodia 4104c0a004
GUI: formatting + fixed a warning 2017-09-01 18:52:06 +02:00
torusrxxx f3132e9315 use dynamic casting 2017-09-01 18:51:20 +02:00
torusrxxx 144051162d Switch reference tabs by forward/back mouse buttons 2017-09-01 18:51:20 +02:00
torusrxxx fa92a9c474 Add Xref for switch cases; Follow switch cases in CPU. 2017-09-01 13:58:33 +02:00
torusrxxx 09dd193d9f graph history;follow children or parent in graph 2017-09-01 13:58:33 +02:00
torusrxxx bf43f7eb97 graph for switch statements 2017-09-01 13:58:33 +02:00
Torusrxxx 690b048c7f breakpoint, memory and threads view support multi-select (#1697)
* breakpoint, memory and threads view support multi-select

* fixed

* use older breakpointsview

* fixed

* revert deps change

* command in reference view

* to-do

* fixed deps
2017-09-01 13:57:41 +02:00
Rajarshi Vaidya aka gmastergreatee 2b4a9bc9dc Fixes #1699 Arch-Indep-Registers (#1700)
* Arch-Indep-Registers Fix 1

* Run format.bat
2017-08-31 20:55:11 +02:00
torusrxxx 3f766fa8a6 shortcut to delete watch;fixed selection issue 2017-08-31 20:54:25 +02:00
torusrxxx 7d712b7a6e fixed watch view 2017-08-31 20:54:25 +02:00
mrexodia 80210eb9b0
LAUNCHER+DBG: add support for PID attaching + PLMDebug in the command line
closes #1698
2017-08-28 11:41:37 +02:00
mrexodia 948c40eb1a
GUI: allow multiple selection in BreakpointsView (#1697) 2017-08-26 16:37:22 +02:00
mrexodia d678ad1e82
DBG: fixed a warning on x64 about the cookie 2017-08-26 15:54:52 +02:00
mrexodia f7182c111e
GUI: fixed enabling all DLL breakpoints in BreakpointsView 2017-08-26 15:26:34 +02:00
mrexodia 95bfa7ec0e
GUI: use the correct index when displaying the disasm/summary columns in BreakpointsView
closes #1696
2017-08-26 13:10:14 +02:00
mrexodia 88fec2a1d3
DBG: correctly remove librarian breakpoints on exit + remove hwbp on detach 2017-08-25 13:18:13 +02:00
mrexodia fa2784792c
DBG+GUI: query the process cookie on startup (#489 #1418 #1412) 2017-08-25 13:17:14 +02:00
mrexodia da77f37c4f
DBG: moved tracing code out of debugger.cpp 2017-08-25 13:14:46 +02:00
mrexodia da9d298142
GUI: fixed a memory leak + uninitialized member in DisassemblerGraphView (closes #1695) 2017-08-25 13:04:36 +02:00
mrexodia f37406ff40
LAUNCHER: enable LargeAddressAware to fix 65535sect.exe 2017-08-25 13:03:40 +02:00
mrexodia e9d47b0925
GUI: format ComboBoxDialog 2017-08-25 13:03:07 +02:00
mrexodia 010a3bbf7e
DBG: better behaviour for "exhandlers" on XP 2017-08-25 13:02:37 +02:00
Georgeto 16b40aab5b GUI: add auto completion to "Add exception breakpoint" dialog 2017-08-22 13:29:14 +02:00
torusrxxx c78ffc38f1 remove DR6/7 from label display 2017-08-22 13:28:43 +02:00
mrexodia 652c61f7f7
DBG+BRIDGE+GUI: warn when trying to render a graph with more than 5000 nodes
(closes #1321)
2017-08-21 15:13:02 +02:00
Georgeto c1c7910d8d GUI: fix building of BreakpointView context menu when no bp is selected 2017-08-21 13:57:37 +02:00
mrexodia 1c4607e25b
DBG: change ReadBaseRelocationTable to read the relocation directory from disk instead of memory 2017-08-21 00:44:21 +02:00
mrexodia 838b03e9d9
DBG: add ModEnum to remove various bottlenecks with module loading 2017-08-21 00:41:04 +02:00
mrexodia 25e0a1071d
GUI: use more ArchValue in the AppearanceDialog 2017-08-19 15:58:05 +02:00
mrexodia 9fe867e0e5
BRIDGE: documented Bridge* functions in bridgemain.h 2017-08-19 15:36:26 +02:00
Georgeto 451807f8ae GUI: Display and edit breakpoints in graph view (closes #1266) (#1688)
* GUI: working prototype for ActionHelperProxy
* GUI: fully implemented ActionHelperProxy
* GUI: display breakpoints in Graph view
* GUI: move breakpoint context menu into separate class
* GUI: add breakpoint context menu to graph view
2017-08-19 15:34:53 +02:00
mrexodia 2bd32aee32
DBG: fixed typo in pluginreload command 2017-08-18 00:08:37 +02:00
mrexodia ca296699b0
DBG: added plugreload command 2017-08-17 23:54:43 +02:00
Georgeto 8c797ef42d Fix "requires a narrowing conversion" error when compiling with vs2015 (#1687) 2017-08-17 13:06:58 +02:00
mrexodia a404f63960
DBG: fixed Script::Flags implementation 2017-08-14 16:24:29 +02:00
mrexodia 88aa0db41c
GUI: another small fix to BreakpointsView 2017-08-14 16:21:00 +02:00
mrexodia d5619a57e0
GUI: improve selection behavior when deleting the last breakpoint 2017-08-14 15:55:58 +02:00
Georgeto 6587cbc564 underline relocated bytes in disassembly view (#1683)
* DBG: add relocation info to module

* GUI: underline relocated bytes

* DBG: remove unnecessary wrapper function

* DBG: store relocations in sorted vector instead of set

* GUI: warn about patches in relocation regions (closes #263)
2017-08-14 00:17:47 +02:00
Antonio Prcela 84bbc5cf4a Small fixes an deletion of unnecessary stuff (#1684)
* Remove unnecessary if check.
If the above one is False, than this oen has to be true, since it can't be
anything else than smaller or equal to

* If it's bigger than zero, than it's also != -1
* Remove unused variable.
It just get's values assigned that are never used.
* Remove unused Macro and the calls to it
2017-08-13 22:57:52 +02:00
mrexodia 4982de948c
GUI: refactor StdTable to allow userdata (fixes #909) 2017-08-13 21:56:52 +02:00
mrexodia a64bdef223
DBG+GUI: minor fixes 2017-08-13 18:10:59 +02:00
mrexodia 91f955fa82
GUI: new BreakpointsView (closes #909) 2017-08-13 18:00:51 +02:00
mrexodia f484108fd7
DBG: added MemBpSize function 2017-08-13 17:17:37 +02:00
mrexodia 1b27b951ee
DBG+BRIDGE: added more detail in the BRIDGEBP structure (in the padding so backwards-compatible) 2017-08-13 17:17:15 +02:00
mrexodia b876d3b9f0
DBG: add memory breakpoint size (unimplemented) to breakpoint database 2017-08-13 16:27:55 +02:00
mrexodia 9fcfb5b39e
DBG: various improvements to the breakpoint api 2017-08-13 16:26:46 +02:00
mrexodia 3a9e05ee02
GUI: small improvements to StdTable and AbstractTableView 2017-08-13 16:26:11 +02:00
mrexodia 5e9db68c71
DBG: improved performance of valapifromstring 2017-08-13 16:25:38 +02:00
mrexodia 86b623b691
DBG: add module base to label list 2017-08-13 16:24:40 +02:00
mrexodia 0cd8078256
DBG: added EnumExceptions 2017-08-13 16:23:59 +02:00
mrexodia 864437cc5f
GUI: rewrite menu deletion/clearing 2017-08-11 05:34:37 +02:00
mrexodia 6f76503b9f
GUI: fixed plugin menus in other dump tabs 2017-08-10 21:43:37 +02:00
mrexodia 20dff5b467
GUI: fixed a double delete for removed menu entries 2017-08-10 21:34:55 +02:00
mrexodia b79f1bd35b
DBG+GUI: implemented _plugin_menuremove and _plugin_menuentryremove 2017-08-10 20:25:18 +02:00
mrexodia d69e9726b1
DBG+GUI: properly implemented _plugin_menuclear 2017-08-10 20:00:33 +02:00
mrexodia 9b314ef740
DBG: separate menu entries from the menus 2017-08-10 19:07:20 +02:00
mrexodia a951d060bb
Revert "DBG: allow duplicate hEntry for _plugin_menuaddentry"
This reverts commit 42b9b0f9dc.
2017-08-10 18:50:27 +02:00
mrexodia c43b64cdec
BRIDGE+GUI: implement GuiMenuRemove 2017-08-10 18:46:29 +02:00
mrexodia 42b9b0f9dc
DBG: allow duplicate hEntry for _plugin_menuaddentry 2017-08-10 18:27:55 +02:00
mrexodia 92850bd12f
GUI: change default font for log to be valid on Windows 10 2017-08-10 17:57:38 +02:00
mrexodia fafb376946
GUI: fixed a focus issue with plugin dialogs 2017-08-10 07:56:46 +02:00
mrexodia e9cfedd722
DBG: fixed an invalid handle exception 2017-08-10 06:03:04 +02:00
mrexodia dbc6ceb3db
DBG: fixed warning on x64 2017-08-09 03:13:04 +02:00
mrexodia 2ff93e479a
DBG: set temporary labels for visited types 2017-08-09 02:41:00 +02:00
mrexodia 5a34b54fb2
DBG: show label of memory address in auto comments 2017-08-09 02:40:32 +02:00
mrexodia 8271b69f87
GUI: show label of memory address in CPUInfoBox 2017-08-09 02:40:02 +02:00
mrexodia f97439c9f5
DBG: introduce temp labels 2017-08-09 02:32:28 +02:00
mrexodia 5cb7917630
DBG+BRIDGE+GUI: added menu preparation plugin event 2017-08-08 01:39:04 +02:00
mrexodia caae4a9d6a
DBG: fixed a bug in _plugin_menuclear (now it no longer deletes the menu itself) 2017-08-08 01:17:25 +02:00
mrexodia afd18d870f
GUI: fixed creation of dll breakpoints with a space 2017-08-08 01:16:12 +02:00
mrexodia 192b35acde
GUI: change symbol menu 2017-08-07 20:06:11 +02:00
mrexodia 7ab339fa3b
DBG: various small improvements 2017-08-07 19:41:32 +02:00
Georgeto 7646747eca GUI: download symbols in CPU tab (#1680) 2017-08-07 19:38:34 +02:00
mrexodia ef0cbcf58f
GUI: fixed (artificial) compile error (closes #1678) 2017-08-03 16:39:16 +02:00
mrexodia 3ed658d42c
DBG: fixed (artificial) build error 2017-08-03 17:34:27 +02:00
mrexodia 875eaf9350
PROJECT: (hopefully) fixed build.bat 2017-08-03 17:30:08 +02:00
mrexodia a965c2b8a6
GUI: fixed dumb compile error in AssembleDialog 2017-08-03 16:51:18 +02:00
mrexodia 6f38e2b0f5
GUI: AA_EnableHighDpiScaling 2017-08-03 16:49:49 +02:00
mrexodia d2e8f8ab1c
GUI: temporarily remove keystone from AssembleDialog 2017-08-02 00:36:14 +02:00
mrexodia 9cdd399dde
DBG: added CFLAGS support in _scriptapi_register.h (thanks to krzywix) 2017-08-01 23:59:12 +02:00
mrexodia 43458b0881
DBG: also set pDebuggedBase and check hash on attach (fixes #1674) 2017-08-01 22:33:54 +02:00
mrexodia 6059511296
GUI: deprecate local help file + fixed release script 2017-08-01 19:23:15 +02:00
mrexodia 3c9a24ec37
GUI: show segments better in CPUInfoBox 2017-07-29 17:59:09 +02:00
pointerrrr b758ea6e9d DBG: The log now indicates the name of the breakpoint set (closes #1613) (#1662) 2017-07-27 22:53:09 +02:00
Torusrxxx 3ff9122673 can enter floating point number (#1661) 2017-07-27 18:24:55 +02:00
Torusrxxx 754ef54968 can use rtu (#1660) 2017-07-27 18:24:01 +02:00
mrexodia 7aef027ebc
GUI: fixed a crash in the FlickerThread (closes #1651) 2017-07-25 16:19:06 +02:00
mrexodia db9f8c845b
DBG: remove explicit size for memset in command line 2017-07-25 13:39:23 +02:00
Georgeto 2c3a16fbb5 GUI: revalidate when toggling 'Keep Size' in AssembleDialog (#1648)
* GUI: revalidate when toggling 'Keep Size' in AssembleDialog

* GUI: remove code duplication
2017-07-25 13:39:29 +02:00
Matthijs Lavrijsen c64777e32a PNG compress icons of sizes >= 64x64 (#1646) 2017-07-25 12:55:08 +02:00
genuine_ 18979ef6e9 Fixed some unsafe code (#1647)
* Fix underflow of commandLine variable. (memset)

* Fix for integer inconsistencies

* fix for possible overflow at line 1841 of debugger.cpp. Offending code:

sprintf_s(command, "bp %p,\"DllMain (%s)\",ss", entry, modname);
2017-07-25 12:54:41 +02:00
mrexodia a5e37fe74f
GUI: exit confirmation dialog (closes #1645) 2017-07-23 23:11:47 +02:00
Torusrxxx a6e296054f fixed x96dbg (#1644)
* fixed x96dbg

* fixed
2017-07-09 20:12:23 +02:00
mrexodia 73a8a93cbe
DBG+LAUNCHER: fix #1635 (.NET files are now processed correctly) 2017-07-08 18:29:13 +02:00
mrexodia 4631fbfc0f
DBG: fixed various cppcheck warnings 2017-07-06 16:15:57 +02:00
Maksim Derbasov 66c006d703 Small code improvement (#1637)
* Check index before array access

* fix for va_list leaks

* mismatch in new-delete pair
2017-07-04 17:26:01 +02:00
mrexodia 189cd520f0
GUI: use layout for the color picker grid 2017-07-03 11:56:04 +02:00
mrexodia 6a4510ce3a
DBG: bpgoto now no longer refreshes the GUI if not breaking 2017-07-03 10:43:52 +02:00
mrexodia 68f897d595
GUI: re-did the AboutDialog with layouts 2017-07-03 06:14:59 +02:00
mrexodia 2f89d2a0e2
GUI: small improvements to MainWindow and AboutDialog 2017-06-30 19:40:02 +02:00
mrexodia 49b4070904
DBG+GUI: updated capstone_wrapper (fixes #1633) 2017-06-30 15:07:33 +02:00
mrexodia a2e245299a
DBG: gracefully break a trace when pausing 2017-06-30 14:41:44 +02:00
Torusrxxx a3a25e1695 don't restore window pos invisible; clean up msgbox (#1632)
* don't restore window pos invisible; clean up msgbox

* remembers more dialog position
2017-06-29 18:38:51 +02:00
mrexodia e5a614432f
DBG+GUI: small improvements to breakpoint log defaults 2017-06-29 15:45:52 +02:00
mrexodia a835571cc4
GUI: removed some redundant code from AboutDialog 2017-06-27 03:17:30 +02:00
mrexodia 2588f7dc3e
DBG: workaround for pausing certain applications that are stuck in NtUserGetMessage 2017-06-27 03:13:32 +02:00
mrexodia b8248630c2
GUI: updated AboutDialog 2017-06-27 03:13:06 +02:00
mrexodia 3d572966d2
GUI: fixed a bug with the BreakpointsViewTable and CIP highlighting 2017-06-27 00:14:23 +02:00
mrexodia 5747342938
GUI: escape unicode and ascii mnemonic characters 2017-06-25 03:00:48 +02:00
mrexodia 7a2e6eb40e
GUI: allow execution of favourite tools that require elevation 2017-06-25 03:00:47 +02:00
mrexodia 53841caab3
DBG: fixed a formatting problem in cbDebugLoadLib 2017-06-25 03:00:47 +02:00
ThunderCls ebd47a88a1 New about box dialog (#1618)
* New about box dialog

* Minor fixes
2017-06-21 15:54:21 +02:00
Matthijs Lavrijsen ca060c17c1 Replace undocumented.h with ntdll header and libs (#1620)
* Remove undocumented.h and replace it with header and .lib files for ntdll

* Replace ntdll function typedef + GetProcAddress combos with static imports
2017-06-21 15:43:23 +02:00
Torusrxxx 7f471c9768 Fixed issue with detached dumps (#1623) 2017-06-16 14:14:44 +02:00
mrexodia 2a73aed377
Merge branch 'development' of https://github.com/x64dbg/x64dbg into development 2017-06-07 04:26:53 +02:00
mrexodia 8ba0580626
DBG: fixed up the loadlib and freelib functions 2017-06-06 23:58:24 +02:00
ThunderCls 32748cab5b Fixes #1608 (#1612) 2017-06-01 07:40:07 +02:00
mrexodia 39b66f3b0f
DBG: switch default assembler engine to asmjit 2017-05-31 19:01:02 +02:00
mrexodia 9642d09bf2
EXE: don't ask for x64dbg.exe when not in WOW64 mode 2017-05-31 15:53:09 +02:00
mrexodia 32be2538dc
EXE+DBG: improved launcher (closes issue #1591) 2017-05-31 15:47:08 +02:00
mrexodia 9ddfa87789
GUI: fixed annoying focus issue when source debugging is enabled 2017-05-27 01:41:28 +02:00
ThunderCls 9944334614 Fixed wrong behavior when using search lists and changing layouts between mList and mSearchList (#1606) 2017-05-27 00:40:27 +02:00
mrexodia c9c0ca4c99
DBG+GUI: fixed issue #1601 (comments in scripts interfering with the log) 2017-05-26 20:35:16 +02:00