1
0
Fork 0
Commit Graph

1895 Commits

Author SHA1 Message Date
mrexodia 0f94a5886a
GUI: add a gui for the trace log in SimpleTraceDialog 2017-03-17 06:59:37 +01:00
mrexodia 24cb79324e
DBG: added TraceSetLogFile command 2017-03-17 06:59:37 +01:00
mrexodia 8fa4dde358
GUI: slight allocation optimizations 2017-03-17 06:59:36 +01:00
fearless 91cb27e701 St Patricks Day, March 17th, clover (32 & 64bit) icon (#1499) 2017-03-16 21:44:59 +01:00
mrexodia d5e578ee6a
DBG+GUI+BRIDGE+PROJECT: updated AStyle and formatting 2017-03-16 03:32:09 +01:00
Matthijs Lavrijsen 033a495925 Initial support for compiling with Clang/C2 from VS2017 (Clang 3.8+) (#1498) 2017-03-16 03:13:04 +01:00
mrexodia 6d1db38613
DBG: properly fix the GetProcAddress crash 2017-03-14 11:18:47 +01:00
mrexodia 281ccdfb4c
DBG: intercept crash on GetProcAddress (thanks to parfetka!) 2017-03-14 10:47:36 +01:00
mrexodia f16c24b17c
GUI: recent files in ScriptView 2017-03-14 10:46:26 +01:00
mrexodia e267eedec0
GUI: move MRUList to a separate utility class 2017-03-14 10:31:59 +01:00
mrexodia c29aa34baa
GUI: option to edit script in ScriptView 2017-03-14 09:31:31 +01:00
mrexodia f7d3f7cb74
GUI: disassembly summary in graph 2017-03-14 09:12:24 +01:00
mrexodia f96a11fede
DBG: don't attempt to demangle C++ symbols in demanglePE32ExternCFunc 2017-03-14 09:11:02 +01:00
mrexodia 4e7a5656db
DBG: use previous context for retrieving comments 2017-03-14 08:15:32 +01:00
mrexodia 95b9579d56
DBG: workaround analysis on modules that don't have holes between sections 2017-03-14 08:14:51 +01:00
mrexodia fe4db70717
DBG+BRIDGE+GUI: highlight indirect calls in the graph + fixed shadow in certain situations 2017-03-14 08:13:39 +01:00
mrexodia 62b8e4fe11
DBG: delete the DLL loader on exit (closes issue #1496) 2017-03-14 06:24:54 +01:00
mrexodia 15f447cf94
GUI: highlight relevant registers of the current instruction in the RegistersView 2017-03-13 03:27:37 +01:00
mrexodia 65ddc96542
DBG+GUI: updated capstone_wrapper 2017-03-13 03:23:53 +01:00
mrexodia c758fa718b
DBG: no longer freeze on attach (by failing certain dbghelp functions if the lock cannot be acquired) 2017-03-12 21:14:06 +01:00
mrexodia 0ccb4eedb3
GUI: drastically improve log performance (especially when not visible) 2017-03-12 18:52:02 +01:00
mrexodia edf7760267
GUI: slightly improved pen style for selected block edges 2017-03-12 17:01:19 +01:00
mrexodia cdc19ac2c2
DBG: don't emit nop branches as branches in the graph 2017-03-12 16:56:49 +01:00
mrexodia e13c899a47
DBG+GUI: use ',' instead of '\1' to seperate commands 2017-03-12 06:54:18 +01:00
mrexodia c7c654c24b
DBG: implemented repeating variants of step commands 2017-03-12 06:51:46 +01:00
mrexodia 7295f356ee
GUI: fixed default button in HexEditDialog 2017-03-12 06:33:33 +01:00
mrexodia 955ef47b6d
DBG: improved run command to allow run to X 2017-03-12 05:52:58 +01:00
mrexodia 1ae30cef53
DBG+GUI: added error script command 2017-03-12 05:40:07 +01:00
mrexodia 8340cd5aab
GUI: fixed drawing issue in CPUStack with the callstack frame 2017-03-12 05:20:17 +01:00
mrexodia 3845676b98
DBG: added argument expression functions 2017-03-12 05:07:41 +01:00
mrexodia 0b70d9b391
DBG: simplify scriptinternalcmd and make scriptload a blocking call 2017-03-12 04:45:18 +01:00
mrexodia 595244bb29
GUI: icons for new options in graph view 2017-03-12 04:44:33 +01:00
mrexodia 80839d5c46
GUI: don't crash ScriptView when a script is still loaded on exit 2017-03-12 04:36:59 +01:00
mrexodia 4cb14b74a9
GUI: AStyle DisassemblerGraphView and ActionHelpers 2017-03-12 04:33:37 +01:00
mrexodia 00ddb31660
GUI: use TraceOverConditional for "return to user" #1489 2017-03-12 03:01:37 +01:00
mrexodia 45640e0bfe
DBG: improved wow64 step workaround (#1489) 2017-03-12 03:01:37 +01:00
mrexodia d153528481
DBG: added some expression functions 2017-03-12 03:01:37 +01:00
Torusrxxx ac4c5c2ed8 Change cursor to 👆 where appropriate in side bar and registers view (#1492)
* fixed a crash and enable user to dblclick on folding box

* fixed when eip is in the current function it cant select

* Change cursor to 👆 where appropriate

* update translations
2017-03-12 03:00:35 +01:00
karliss f45e2a73b3 Graph improvements (#1493)
* Fix graph toposorting.

* Prevent edge overlapping and improve routing.

* Prevent overlap when first section is vertical
* Fix range for edge_valid check
* Allow upside down L shape

* Hilight edges from selected block and allow doubleclick to zoom

* Add multiple layout modes.

* Reduce edge intersections.

Route edges in the order of blocks instead of random order from hashmap.

* Get rid of preprocessor abbuse in ActionHelper.

* Added layout selection to context menu.
2017-03-12 02:59:21 +01:00
Matthijs Lavrijsen 5cb699e60e Merge the OS compatibility element from exe/app.manifest into manifest.xml and remove app.manifest, as it was ignored during compilation (#1490) 2017-03-11 15:39:09 +01:00
mrexodia 5796891771
DBG: add support for customized string formatting (closes #1336) 2017-03-11 05:41:25 +01:00
mrexodia fa84346445
GUI: closes issue #1488 (invalid stack range when CSP is zero) 2017-03-11 05:12:17 +01:00
mrexodia bfd4cf74a8
DBG: removed deprecated '@' for memory location 2017-03-11 04:10:33 +01:00
mrexodia 62d3ac7d17
DBG: added expression functions for reference view 2017-03-11 03:53:11 +01:00
mrexodia 3b754f0791
BRIDGE+GUI: adjusted behavior for GuiReferenceGetCellContent 2017-03-11 03:51:55 +01:00
mrexodia 5715e1cc27
DBG: allow a title to be specified for refinit 2017-03-11 03:41:48 +01:00
mrexodia aaf610de54
DBG: show logged line in script info 2017-03-11 03:02:16 +01:00
mrexodia 2fd8803360
GUI: non-modal script error box 2017-03-11 02:47:23 +01:00
mrexodia 81dc667177
GUI: non-modal message box (#1416) 2017-03-11 02:34:02 +01:00
mrexodia 8d6783f91c
GUI: fixed some tabstops 2017-03-11 01:24:02 +01:00
mrexodia 2d605f18ea
DBG: demangle enumerated import symbols 2017-03-11 00:05:54 +01:00
mrexodia 5e0b1c2c61
GUI: fixed conflicting hotkey in symbol view 2017-03-10 23:57:24 +01:00
mrexodia 81bf2510e9
DBG: prevent possible overflow on race condition with varget 2017-03-10 23:52:48 +01:00
mrexodia b885e2ed4e
GUI: don't display xmm/ymm/st registers in the InfoBox (resolves issue #1476) 2017-03-10 23:23:47 +01:00
mrexodia 15bbdd84de
DBG: restore breakpoints when loading database (resolves issue #1479) 2017-03-10 23:11:51 +01:00
mrexodia 4bb5eb2dee
DBG: allow stirng formatting in labelset 2017-03-10 23:10:56 +01:00
mrexodia 448b6ac64c
DBG: refresh views in commentset 2017-03-10 23:09:36 +01:00
mrexodia 8803a50659
DBG: test for InstructionText in 'capstone' command 2017-03-10 23:08:35 +01:00
mrexodia 8e601c72bf
GUI: updated capstone_wrapper to remove RIP-relative text 2017-03-10 23:08:12 +01:00
mrexodia f66acfa410
DBG: possible cbExitThread crash 2017-03-10 21:31:19 +01:00
mrexodia e69b57600e
GUI: thick handle when splitter is collapsed (issue #1486) 2017-03-10 20:40:47 +01:00
Torusrxxx 65b1f5a4ac fix (#1487)
* fixed a crash and enable user to dblclick on folding box

* fixed when eip is in the current function it cant select

* Fix strange "Thread switched from 0" message when starting debuggee
2017-03-10 20:40:17 +01:00
mrexodia 92268d009d
DBG: removed unused disasmtext function 2017-03-06 17:25:08 +01:00
mrexodia 378a6c9637
DBG: added string formatting to findasm 2017-03-06 17:23:24 +01:00
mrexodia c4841639e2
DBG+GUI: call stack improvements (closes pull request #1478) 2017-03-04 19:47:44 +01:00
mrexodia 9d71bd3b73
DBG: remove redundant SymEnumerateModules64 dbghelp import 2017-03-01 23:24:00 +01:00
mrexodia f71b7610b0
DBG: performance improvement with saving/loading databases 2017-02-28 23:21:42 +01:00
mrexodia 6e189010d2
DBG: cache file for the command line in the database (~2x performance improvement on big databases) 2017-02-28 05:42:29 +01:00
mrexodia aae9953c6d
DBG: fixed various crashes with very big labels in the call stack (they are now truncated instead, thanks to AlexAltea!) 2017-02-28 05:02:16 +01:00
mrexodia e63874c6bd
DBG: fixed some unclear behaviour and crashes in dbgsetcmdline 2017-02-28 05:00:54 +01:00
mrexodia 79fb2a1b47
GUI: improved the changeCommandLine option 2017-02-28 04:59:23 +01:00
mrexodia 01d46dd036
DBG+GUI: check if DEP is enabled before warning about operations on non-code pages 2017-02-26 22:42:52 +01:00
mrexodia 9a03f959e7
GUI: fixed CPUDump pointer tooltip on 64 bit 2017-02-26 21:11:19 +01:00
mrexodia 80b935ecf5
GUI: better CPUDump pointer tooltip 2017-02-26 07:25:21 +01:00
mrexodia 6329e9c989
GUI: various types of pointer highlighting (closes #175) 2017-02-26 07:11:55 +01:00
mrexodia ac0a0e3933
GUI: implemented byte highlighting (related to issue #175) 2017-02-26 05:07:20 +01:00
mrexodia 81edb1ecc4
GUI: fun byte color options in disassembly + trace record color + save full graph image (thanks to visitor42 from IRC!) 2017-02-26 04:06:12 +01:00
mrexodia ad34c79883
GUI: don't copy FPU registers when they are hidden (thanks to visitor42 on IRC!) 2017-02-26 01:38:47 +01:00
mrexodia df0c75ac03
DBG: support for symbol displacement (#1478) 2017-02-26 01:14:50 +01:00
mrexodia 2736885c09
DBG: improvement for issue #1475 (cache misses on thread creation when reading the stack) 2017-02-25 23:12:58 +01:00
mrexodia b438872319
DBG: drastically improved loop manipulation performance 2017-02-24 20:43:48 +01:00
mrexodia 9e30cc7c3e
DBG: improve range comparison functions 2017-02-24 19:48:00 +01:00
mrexodia fd17359f3d
GUI: fixed display of certain imm operands (closes #1448) 2017-02-24 19:47:26 +01:00
mrexodia 4f704b81bb
DBG+GUI: fixed some warnings 2017-02-24 19:39:32 +01:00
mrexodia 75e47ff75c
BRIDGE: fixed compilation on VS2012 2017-02-24 19:39:11 +01:00
mrexodia bf3ccd7e0b
DBG: significant memory usage improvements for database (~5x less memory used) 2017-02-24 19:38:48 +01:00
Matthijs Lavrijsen 71130601ee Add wait reason to threads list (#1470)
* Implement ThreadGetWaitReason

* Get the wait reason for all threads at once in ThreadGetWaitReason to limit the number of NtQuerySystemInformation calls to 1 per refresh
2017-02-22 19:30:18 +01:00
mrexodia 861686f91e
DBG: allow string formatting in the 'asm' command #1416 2017-02-21 19:52:09 +01:00
Torusrxxx ef2af9d631 √ Allow hiding local module name for memory addresses in the same page. (#1474) 2017-02-21 19:34:34 +01:00
Torusrxxx 54ac01ef66 fixed a crash and enable user to dblclick on folding box (#1473)
* fixed a crash and enable user to dblclick on folding box

* fixed when eip is in the current function it cant select
2017-02-21 19:33:58 +01:00
mrexodia 2268d364a7
GUI: allow decompiling from the graph (for non-contiguous ranges) 2017-02-18 22:48:45 +01:00
mrexodia c30932646e
GUI: correctly break on imports (dereference the address for the actual function address first) 2017-02-18 20:36:27 +01:00
mrexodia 6b3d1e71da
DBG: include the member name in struct visiting 2017-02-18 20:35:53 +01:00
mrexodia e83524461c
DBG: correctly enumerate imports as IAT addresses 2017-02-18 20:35:20 +01:00
mrexodia e760af25b2
GUI: correctly report function size to snowman (closes #1465) 2017-02-18 16:39:15 +01:00
changeofpace b4bc8546a8 Do not add breakpoint if SetBPX fails. (#1460)
* call SetBPX before BpNew in cbDebugSetBPX to prevent failed bps from being added to the bp map.

* revert previous change.  Call BpDelete if SetBPX failed.

* remove commented code.
2017-02-18 14:03:54 +01:00
Torusrxxx 1ae3b7d178 handles and windows view (#1417)
* handles and windows view

* use references view for heap, cleaned up

* fix #1424 use decimal pid and tid

* thread name in windows view

* fix something when not debugging

* heaps view hidden
2017-02-18 13:56:59 +01:00
mrexodia 146f6eee99
GUI: fixed labeling for "push x" in disassembly 2017-02-13 10:30:01 +01:00
mrexodia 8e0a779b20
DBG: correctly enforce reads/writes on page boundaries (closes #1446) 2017-02-05 20:45:06 +01:00
mrexodia 48df1c4c2c
DBG: updated savedata behavior 2017-02-05 20:31:17 +01:00
mrexodia 5a0a932524
DBG: slightly improved import parsing (#1455) 2017-02-05 20:16:47 +01:00
mrexodia 8788d66cf5
DBG: improved exinfo and capstone commands 2017-02-04 06:04:36 +01:00
mrexodia 003260c2dd
DBG: dont crash on strcpy_s when user-provided sizes 2017-01-31 16:08:10 +01:00
mrexodia f17d1756a6
GUI: close all source tabs on termination (closes #1443) 2017-01-30 18:08:05 +01:00
mrexodia c05bcd401a
BRIDGE: don't update patches in GuiUpdateAllViews (closes #1407) 2017-01-29 14:32:14 +01:00
mrexodia 3a9e74bfdf
GUI: ArchValue FS/GS for unusual highlighting of FS/GS 2017-01-28 21:18:24 +01:00
changeofpace 34948aacb2 treat fs / gs usage as unusual (#1440)
* added conditions for marking fs and gs usage as unusual tokens in tokenizeMemOperand and tokenizeRegOperand

* improved tokenizeRegOperand changes

* improved tokenizeMemOperand changes
2017-01-28 21:09:06 +01:00
changeofpace 3c42eb75fe added pattern option to search for -> all modules menu in disassembly view (#1441) 2017-01-28 14:41:30 +01:00
changeofpace 1a7e4c6a30 added &nbsp replace to addMsgToLogSlot (#1439) 2017-01-27 21:45:23 +01:00
changeofpace cc01ae09a0 fix MemRead to only return true if NumberOfBytesRead is equal to the requested read size (#1426)
* fix MemRead to only return true if NumberOfBytesRead is equal to the requested read size

* preserve Size arg value

* adjust readSize before page loop in MemRead
2017-01-18 22:42:45 +01:00
mrexodia 9213d8f117
GUI: not busy 2017-01-18 22:36:33 +01:00
changeofpace 5d36e73033 fixed multiple session process cookie bug when MemInitRemoteProcessCookie fails before brute-force loop (#1418) 2017-01-18 14:42:53 +01:00
changeofpace ae36e772fe Fixed random behavior when hiding / showing / reordering StdTable columns (#1421)
* fixed column ordering bug in ColumnReorderDialog

* resizing cursor bug is fixed.  adjusting order in edit dialog is broken.

* fixed column resizing bug
2017-01-18 14:42:42 +01:00
mrexodia 0b18f65653
DBG: don't clear patches unless the debuggee is terminating (fixes #1419) 2017-01-18 14:40:46 +01:00
mrexodia 233733eda9
DBG+GUI: updated capstone_wrapper 2017-01-18 14:16:16 +01:00
mrexodia 9118d7f9d8
DBG: various small improvements to the mov command 2017-01-10 20:30:54 +01:00
changeofpace 6c9eb3d6e3 Remote process cookie support for Windows XP/Vista/7 (#1412)
* added MemInitRemoteProcessCookie and memory.cpp global fallbackCookie

* changed sizeof arg for MemRead
2017-01-10 12:21:07 +01:00
mrexodia 415fe99871
DBG: support multiple string references in one instruction 2017-01-10 12:19:04 +01:00
mrexodia 9f7f649f7e
DBG+GUI: implemented trace switch condition 2017-01-10 12:14:01 +01:00
mrexodia 6f92218437
DBG: todo note 2017-01-10 10:35:50 +01:00
mrexodia 69a455d910
GUI: added boolean in settings dialog for the wow64 step workaround 2017-01-10 10:35:22 +01:00
mrexodia 0f4a5fa074
DBG: workaround for a bug/feature in WOW64 that breaks stepping 2017-01-10 10:34:51 +01:00
mrexodia ee3af0a2df
DBG+BRIDGE+GUI: fixed possible out-of-range access related to data disassembly 2017-01-10 10:16:49 +01:00
mrexodia 0767d74ef2
DBG+GUI: fixed various @coverity issues 2017-01-09 01:10:43 +01:00
mrexodia 94b2280e59
DBG: fixed memory leak with analyze_nukem 2017-01-08 23:43:55 +01:00
mrexodia 0c5a1a89f0
DBG: fixed restart as admin with spaces in the path 2017-01-08 23:32:58 +01:00
mrexodia db44e0b24d
DBG: updated TitanEngine (resolves issue #1190) thanks to @nmikhailov 2017-01-07 16:59:51 +01:00
mrexodia 37fe2150e9
GUI: properly fixed #1408 2017-01-06 11:34:43 +01:00
mrexodia 04a97b51d6
DBG: fixed default trace condition 2017-01-05 02:31:45 +01:00
mrexodia 9ec2056240
GUI: fixed minor issue with window title for the thread name edit dialog 2017-01-04 03:05:19 +01:00
mrexodia 42978d6359
DBG: fixed small spacing issue in window title 2017-01-04 03:04:07 +01:00
mrexodia 7a828861ad
GUI: more logical coloring for invalid instructions and don't allow highlighting of 'uncategorized' (colon) tokens 2017-01-03 23:37:43 +01:00
mrexodia b8cf80a32f
BRIDGE+DBG: added apis to access TEB/PEB 2017-01-03 23:36:57 +01:00
mrexodia 53f300b32a
DBG: SIZE_T -> duint 2017-01-03 15:28:49 +01:00
mrexodia f66028cbf2
DBG+GUI: updated capstone_wrapper (gracefully fixes #1378) 2017-01-03 15:27:16 +01:00
changeofpace 16f0c9871c fix incorrectly restored page protection for cross-boundary memory reads (#1406)
* added a VirtualQueryEx check to MemRead to prevent reads which span multiple memory regions

* replaced VirtualQueryEx check with code to calc # page reads based on base address
2017-01-02 20:44:07 +01:00
mrexodia 598b476132
DBG: further improved string detection heuristics 2017-01-02 13:36:42 +01:00
mrexodia 4ba4bcce1c
DBG: removed restrictive heuristic for string detection 2017-01-02 13:25:51 +01:00
mrexodia ad6b94cfd5
DBG: improvements to the string detection algorithm #1405 2017-01-02 03:54:56 +01:00
mrexodia 64daa5a1c0
GUI: (hopefully) fixed an annoying bug with very wide reference view columns 2017-01-02 03:15:30 +01:00
mrexodia b52e768b61
DBG: improved the disasmispossiblestring function 2017-01-02 03:14:57 +01:00
mrexodia f2f2255457
DBG: resolved #1407 (weird focus issues with patch dialog) 2017-01-02 03:12:45 +01:00
mrexodia 1379754c16
DBG: reverted change to string detection #1405 2017-01-01 15:55:44 +01:00
mrexodia 38a8ffce8c
GUI: improved stack usage in loadWindowSettings 2016-12-30 16:23:38 +01:00
mrexodia abab4cf52e
GUI: #aaa -> #aaaaaa 2016-12-30 15:52:58 +01:00
mrexodia a69fc07803
GUI: fixed argument widget for shadow store on x64 2016-12-29 19:17:43 +01:00
mrexodia e46e3cbe62
GUI: removed annoying borders (resolves #1373) 2016-12-29 02:12:11 +01:00
mrexodia 5e37953883
DBG: limit the maximum amount of exception to be skippable (resolves #1325 #1341) 2016-12-29 00:21:29 +01:00
mrexodia 48fa7fb72b
GUI: removed annoying status bar updates on disassembly selection changes 2016-12-29 00:19:21 +01:00
mrexodia 4b28e7d957
GUI: save cpu widget layout (#1122 #1230) 2016-12-28 23:55:43 +01:00