1
0
Fork 0
Commit Graph

950 Commits

Author SHA1 Message Date
torusrxxx 0ab8b66d85 Improved user experience on single-core CPU 2017-04-11 00:20:20 +02:00
mrexodia 449d04eec6
DBG+GUI: workaround for slow dbghelp functions (see #747) 2017-04-09 02:40:44 +02:00
mrexodia cbe5130061
DBG: added DbgFunctions->GetCallStackEx 2017-04-08 15:16:38 +02:00
mrexodia 6cc5f4d849
DBG: no longer use ThreaderCreateRemoteThread 2017-04-08 15:16:38 +02:00
mrexodia 7fbb9afb82
DBG: fixed out of bounds access when loading an empty script 2017-03-23 13:39:17 +01:00
mrexodia 3df04e55d9
DBG: added mod.rva and mod.offset expression functions 2017-03-20 09:08:31 +01:00
mrexodia 4c8b1e92dd
DBG+GUI: trace log file improvements 2017-03-20 08:51:01 +01:00
mrexodia af6bc45b2e
functions to get memory base/size/protect 2017-03-19 13:12:55 +01:00
mrexodia 52b75cdd8b
DBG: workaround for issue #1501 2017-03-19 10:41:02 +01:00
mrexodia 3fe0242598
DBG: added _plugins_logprint 2017-03-19 10:41:02 +01:00
mrexodia a14c534282
DBG+GUI: minor improvements 2017-03-19 10:41:02 +01:00
Stanisław Halik c3554d2964 DBG: load symbols from local filesystem first (#1502) (#1504) 2017-03-19 08:45:32 +01:00
mrexodia e58bc13526
DBG+BRIDGE+GUI: nastry hack to force-flush the log on user commands 2017-03-18 16:45:33 +01:00
mrexodia cb06e15d62
DBG: periodically update thread wait reasons #1470 2017-03-17 07:38:10 +01:00
mrexodia e7d8b8d5cd
DBG: added DbgAnalyzeFunction to get a function graph 2017-03-17 07:16:30 +01:00
mrexodia 24cb79324e
DBG: added TraceSetLogFile command 2017-03-17 06:59:37 +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 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 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 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 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 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 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
mrexodia 5796891771
DBG: add support for customized string formatting (closes #1336) 2017-03-11 05:41:25 +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 2d605f18ea
DBG: demangle enumerated import symbols 2017-03-11 00:05:54 +01:00
mrexodia 81bf2510e9
DBG: prevent possible overflow on race condition with varget 2017-03-10 23:52:48 +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 f66acfa410
DBG: possible cbExitThread crash 2017-03-10 21:31:19 +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 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 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 4f704b81bb
DBG+GUI: fixed some warnings 2017-02-24 19:39:32 +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
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
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 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
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
changeofpace 5d36e73033 fixed multiple session process cookie bug when MemInitRemoteProcessCookie fails before brute-force loop (#1418) 2017-01-18 14:42:53 +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 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 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 42978d6359
DBG: fixed small spacing issue in window title 2017-01-04 03:04:07 +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
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 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 5e37953883
DBG: limit the maximum amount of exception to be skippable (resolves #1325 #1341) 2016-12-29 00:21:29 +01:00
mrexodia 8b4c784457
DBG+GUI+BRIDGE: added various menu manipulation functions for plugins 2016-12-26 12:44:03 +01:00
mrexodia e09c325090
DBG: unload all plugin callbacks before FreeLibrary (resolves #1397) 2016-12-26 12:07:23 +01:00
mrexodia 1ebcb070ae
DBG: resolved issue #1383 (still print autocomments for constant values with 'Autocomment on CIP' enabled) 2016-12-17 17:03:30 +01:00
mrexodia 1d00a61ba2
Merge branch 'development' of https://github.com/ThunderCls/x64dbg into ThunderCls-development
Also made various cleanup changes
2016-12-16 14:30:04 +01:00
Torusrxxx 84b1df9bf6 Highlight segment register from reg view (#1376) 2016-12-16 12:22:54 +01:00
ThunderCls 22108bd046 Load/Free Modules in Symbols window
- Added command "freelib" to free a module previously loaded
- Added menu entries for load/free modules in the symbols view
2016-12-14 00:23:00 -05:00
mrexodia c6a486a563
DBG+LAUNCHER: slight refactor of GetFileArchitecture to support certain edge cases 2016-12-13 19:54:43 +01:00
mrexodia 82492025bb
Merge branch 'development' of https://github.com/jossgray/x64dbg into jossgray-development 2016-12-13 19:09:27 +01:00
mrexodia 7bfd2b1a0f
DBG: thread entry symbolic address 2016-12-13 18:53:43 +01:00
mrexodia d37e75d126
DBG+LAUNCHER: fixed launcher with a working directory set 2016-12-13 18:53:43 +01:00
jossgray 9732d3e440 Fix failing to read IMAGE_NT_HEADERS when it is at an address greater than 0x1000. 2016-12-13 17:52:51 +00:00
Xiaoyin Liu 7bb1198900 Use HTTPS for Microsoft symbol server URL (#1300)
Update Microsoft symbol server URL to https://msdl.microsoft.com/download/symbols. This is the default sympath in WinDbg 10.0.14321
2016-12-13 02:41:35 +01:00
mrexodia 72eae713db
DBG+BRIDGE+GUI: added various features to restart as admin 2016-12-13 02:11:40 +01:00
changeofpace 4aca3cba64 added extra info prints for access violation exceptions for the exinfo command (#1361)
* added extra info prints for access violation exceptions for the exinfo command

* reverted to original ExceptionInformation loop in exinfo cmd.  added comments for access violation exceptions
2016-12-11 09:06:07 +01:00
changeofpace 901a25dd45 #1312 disable exinfo on exceptions (#1358)
* Added engine settings option to disable printing exinfo for every exception.

* fixed default tab
2016-12-11 09:05:15 +01:00
Torusrxxx 694d94cf1f config command (#1355)
* config command

* Find window in attach dialog

* attach to hidden process
2016-12-11 09:04:40 +01:00
mrexodia f61509ad8b
DBG: also remove breakpoints on DbLoad 2016-12-07 22:34:44 +01:00
mrexodia 806cc1757a
DBG: fixed a bug with no specified find_size in findallmem 2016-12-07 22:30:58 +01:00
Cornel Punga 4510c594d9 Remove breakpoints from module when calling DbClear, resolves #1310 (#1352) 2016-12-07 22:22:14 +01:00
mrexodia db86648850
DBG: fixed issue #1350 (incorrect detection of unary operators) 2016-12-06 20:37:08 +01:00
mrexodia c680cadfde
DBG: added CB_VALFROMSTRING and CB_VALTOSTRING 2016-12-05 21:09:44 +01:00
mrexodia 6f51d06d88
DBG: various improvements with types #1305 2016-12-01 08:24:59 +01:00
mrexodia 87b029c732
DBG: small sprintf optimization 2016-12-01 08:24:29 +01:00
mrexodia 2305b3a6c2
DBG+GUI: fixed some small issues with types #1309 #1305 2016-11-30 21:23:55 +01:00
mrexodia 5e2ab487a9
DBG: fixed ParseTypes reload error #1305 2016-11-30 11:19:28 +01:00
mrexodia 98da939bf4
DBG+BRIDGE: api to get useful process/thread information 2016-11-29 00:53:08 +01:00
mrexodia 799efc4f31
DBG+BRIDGE+GUI: add (theoretical) support for big endian types 2016-11-27 02:02:45 +01:00
mrexodia da21b3d0b1
DBG: changed ArchValue to macro 2016-11-27 01:00:08 +01:00
mrexodia 526671c44c
DBG: allow loading of 32/64 bit specific types from JSON 2016-11-27 00:58:05 +01:00
mrexodia de1951e9ca
DBG+BRIDGE+GUI: initial version of struct viewer 2016-11-27 00:51:24 +01:00
mrexodia f44c9fa705
DBG+BRIDGE+GUI: basics of type display GUI working 2016-11-26 20:03:37 +01:00
mrexodia 693c22176d
DBG: properly handle arrays in ParseTypes 2016-11-26 12:36:32 +01:00
mrexodia b7ff75abec
DBG: resolved issue #635 #1193 #775 #514 #1273 (cannot get module filename) 2016-11-25 20:44:36 +01:00
mrexodia 688b9fbea5
DBG: full path of debuggee log statement 2016-11-25 19:30:42 +01:00
mrexodia b21672a335
DBG: tr.hitcount alias 2016-11-24 19:41:05 +01:00
mrexodia b89fdcd3c1
DBG+BRIDGE+GUI: make single loops show properly 2016-11-22 21:54:39 +01:00
mrexodia e4efed3eaf
DBG: added loop commands 2016-11-22 21:09:59 +01:00
mrexodia 9d3d77d8fb
DBG: removed useless ParseType error 2016-11-22 21:09:52 +01:00
mrexodia d248d916b7
DBG: (fucking) finally finished layered loop implementation 2016-11-22 21:09:52 +01:00
Torusrxxx ec14fb5813 Show suspected call stack frame, and fix a bug (#1282)
* show suspected call stack frame

* log hyperlink never works on 32-bit platform

* update

* Party in call stack view
2016-11-22 19:03:57 +01:00
mrexodia 1bf7b1298b
PROJECT: updated .gitignore for VS2017 + format btparser 2016-11-22 09:38:31 +01:00
mrexodia eea599b0ac
DBG: very hacky type parser working 2016-11-22 00:10:21 +01:00
mrexodia 943aa09b4f
DBG: added the LoadTypes command 2016-11-21 10:16:54 +01:00
mrexodia 910319a576
DBG: add the ability to load types from a json file. 2016-11-21 10:16:38 +01:00
mrexodia 6856990cc1
DBG: added FileHelper::GetFileName 2016-11-21 10:16:05 +01:00
mrexodia 45ddde5707
DBG: explicitly handle null types in scmp 2016-11-21 09:36:26 +01:00