1
0
Fork 0
Commit Graph

2709 Commits

Author SHA1 Message Date
torusrxxx 6348cb5728 Using QBeaEngine to pass vector element type info 2020-06-04 17:50:45 +02:00
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