1
0
Fork 0
Commit Graph

2217 Commits

Author SHA1 Message Date
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