1
0
Fork 0
Commit Graph

1364 Commits

Author SHA1 Message Date
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 7bde267620
GUI: allow collapsing the side bar 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 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 0bf7bd10ef
GUI: fix ReferenceView signals not being called correctly 2018-07-01 19:28:04 +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 408b6eeff9
GUI: don't filter symbol list when not necessary 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
Duncan Ogilvie ff11a39533
DBG: attempt to load symbols from multiple locations 2018-07-01 19:27:55 +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 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
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 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 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 b59798db6f minor enhancements about SymbolView&breakpointcpp&SearchListView 2018-06-19 18:51:36 +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 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 fa902f5df7
GUI: set shortcut for copy file offset in CPUDisassembly
closes #1916
2018-03-20 10:25:59 +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 49167e92c6
DBG+GUI: fix many application verifier issues 2018-03-04 22:04:37 +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 289a6b1911
GUI: mnemonic help and brief now work better with prefixes 2018-02-24 12:43:48 +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
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
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 7c0d122ee4
DBG: add breakpointexceptionaddress variable 2017-12-28 20:27:23 +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 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
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 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 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 63ec6d4648
GUI: add a fake menu for modules 2017-11-14 16:00:55 +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 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
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 f14633f20a
GUI: fix weird looking uppercase 0X 2017-11-02 22:29:47 +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 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
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
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
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
Duncan Ogilvie f85cea6bcd
GUI: change multi-selection hotkeys (#1743)
closes #1762
closes #1761
2017-10-14 19:46:47 +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
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 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
genuine bebc47b924 Show address with label in InfoBox
Address issue #1588
2017-10-05 17:25:56 +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
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
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 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 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