Commit Graph

188 Commits

Author SHA1 Message Date
0xbadc0de1 b76d500c42 Membp (#45)
* Provided implementation for :

Debugger::exceptionGuardPage(const EXCEPTION_RECORD & exceptionRecord, bool firstChance)

*  void Debugger::exceptionGuardPage(const EXCEPTION_RECORD & exceptionRecord, bool firstChance)

>_> with spaces.

* . Bugfix : If there is a page exception risen upon a page that is indeed being used by one of our breakpoints, then we simply restore the old page protections, singlestep and then apply the new page protection.

. exceptionAccessViolation implementation - the code looks almost equal to exceptionGuardPage except for the verifications made to try to spot on cases where the program uses unusual page permissions (in this case the program should then be granted the right to handle the self generated exception).

* . Minor bugfix on exceptionGuardPage.

* staff

* Final Fixes. Now I suppose everything works correctly. Test by yourself.
2017-02-24 18:16:15 +01:00
mrexodia 6c6e181ff5
lazily read/write context for all threads 2017-02-24 18:13:36 +01:00
mrexodia 732abb9ce9
fixed memory type 2017-02-07 13:09:36 +01:00
mrexodia 0b0caa6f3e
fixed DeleteMemoryBreakpoint 2017-02-07 12:12:47 +01:00
mrexodia 31cbdc957b
comments on the memory breakpoint handling code 2017-02-04 06:06:45 +01:00
mrexodia ed6c2b1f33
updated capstone_wrapper 2017-02-04 06:06:22 +01:00
mrexodia 2198e3c4e3
32 bit testing code for memory breakpoints 2017-02-04 05:19:35 +01:00
mrexodia 7c38a18c5f
editorconfig+gitignore 2017-01-11 23:42:40 +01:00
mrexodia 0b93e3df55
updated for compatibility with the latest TitanEngine 2017-01-07 17:02:07 +01:00
mrexodia a45b112fa1
changed to Mozilla Public License 2.0 2017-01-06 03:58:15 +01:00
mrexodia aae243aa33
more comments about MembpTest 2017-01-04 03:26:34 +01:00
mrexodia c55d5222f3
comment about MembpTest 2017-01-04 03:25:20 +01:00
mrexodia cf207f9d33
added some TODO entries related to memory breakpoints 2017-01-04 03:16:31 +01:00
mrexodia c40e9e68ce
Merge branch 'master' into membp
# Conflicts:
#	GleeBug/Debugger.Loop.Exception.cpp
2017-01-04 03:11:50 +01:00
mrexodia 9cc0b8c756
updated capstone_wrapper 2017-01-04 03:10:22 +01:00
mrexodia c5197f92d5
added various functions to TitanEngineEmulator 2017-01-04 03:08:21 +01:00
mrexodia 56fe293287
implemented attach functionality 2017-01-04 03:07:52 +01:00
mrexodia be4549a361
added string conversion helper functions 2017-01-04 02:57:45 +01:00
mrexodia cb5ec1fae0
ignore VS2017 directories 2017-01-04 02:56:59 +01:00
mrexodia e7f709fcda
performance improvements for tracing 2016-10-28 02:39:38 +02:00
mrexodia 367b37d773
added ThreaderCreateRemoteThread 2016-09-01 21:15:57 +02:00
mrexodia 1cf82cb3cc various fixes to memory breakpoints 2016-08-20 06:06:16 +02:00
mrexodia eb4262d8ec simplification of TitanEngineEmulator 2016-08-19 16:35:53 +02:00
mrexodia 9d7e3b0c95 implemented memory breakpoint functionality in TitanEngine emulator 2016-08-19 16:23:47 +02:00
mrexodia 94060f3d99 added MemoryType::Read 2016-08-19 16:23:21 +02:00
mrexodia aecc172ecb memory breakpoints now throw the desired exceptions 2016-08-19 16:02:27 +02:00
mrexodia bff2775e7a fixed DEP policy query (documentation of GetProcessDEPPolicy is total bullshit for x64) 2016-08-19 16:02:06 +02:00
mrexodia f422383d70 updated capstone_wrapper 2016-08-19 14:49:23 +02:00
mrexodia 83854fb4a7 pretty much implemented setting/deleting memory breakpoints 2016-08-19 00:32:23 +02:00
mrexodia ca254d1e1f revised memory breakpoint structure 2016-08-18 20:27:32 +02:00
mrexodia 3d385178da initial work on memory breakpoints 2016-08-05 14:48:48 +02:00
mrexodia 688fe89439
added GetTEBLocation to emulate (now works in x64dbg again!) 2016-07-06 07:45:33 +02:00
mrexodia 76c5b7359a
updated capstone_wrapper + fixed warning with building and SubSystem 2016-07-06 07:35:28 +02:00
Mr. eXoDia 0a2696b381 fixed Detach and DetachAndBreak functions 2016-03-11 21:43:00 +01:00
Mr. eXoDia 2296d9ed5f changed DetachAndBreak back to allocating a new memory page with INT3; RET and move GIP there + adjust the stack 2016-03-09 11:09:28 +01:00
mrexodia 48dada8945 implemented StepOver 2016-03-05 12:58:57 +01:00
mrexodia b6b77f2dd6 added some info to Dll and Process 2016-02-15 20:28:49 +01:00
mrexodia 7953590d00 different way to break GleeBug for JIT debugging 2016-02-15 18:57:08 +01:00
mrexodia cd78578ae1 updated capstone_wrapper 2016-02-13 19:08:42 +01:00
mrexodia 6ff09aba85 fixed DetachAndBreak (remove trap flag if internal stepping) 2016-02-13 19:08:19 +01:00
mrexodia 77b7fcca26 updated GleeBug project, now more suitable for submodules 2016-02-11 17:13:47 +01:00
mrexodia 38ae34fe2c directly include capstone_wrapper source code in the GleeBug project 2016-02-11 17:00:34 +01:00
Mr. eXoDia 4b7be626fa added 'DetachAndBreak' function 2016-02-11 16:51:25 +01:00
mrexodia 8652a6aa66 did some project management (GleeBug now uses capstone_wrapper) 2016-02-09 16:21:10 +01:00
mrexodia 0dc118cd75 added rva <-> offset conversion functions 2016-02-09 13:30:47 +01:00
mrexodia ba69fd1509 Registers::getPtr (anticipating x87 support) 2016-02-09 13:30:46 +01:00
Duncan Ogilvie 5aaf8b99fd Changed license to LGPL 2016-01-31 07:23:31 +01:00
mrexodia fd0ef5bf00 closed #41 (use WaitForDebugEventEx when supported) 2016-01-11 23:20:32 +01:00
mrexodia 6d77f83205 xp support + fixed an annoying warning 2016-01-11 23:05:43 +01:00
mrexodia c06b32e047 fixed a small bug in Process::MemSearchAndReplace 2016-01-11 00:25:00 +01:00