Commit Graph

57 Commits

Author SHA1 Message Date
Duncan Ogilvie 9676c960b6 Fix reading/writing non-debugged process memory 2023-02-22 08:47:28 +01:00
Duncan Ogilvie b435ee57d3 Implement UE_ENGINE_DISABLE_ASLR 2022-09-10 00:07:34 +02:00
Duncan Ogilvie 39934ea3ae Implement safe stepping with DBG_REPLY_LATER 2022-09-09 22:56:39 +02:00
gmh5225 30217c92d4
AStyle format 2022-06-19 19:12:44 +08:00
Matthijs Lavrijsen 7fca84f656
Emulator: fix offset to VA calculation 2020-12-24 15:47:30 +01:00
Duncan Ogilvie 5bc2e682e9 Implement some more missing APIs 2020-11-12 04:36:00 +01:00
Duncan Ogilvie 3c02faea83 Execute the attach breakpoint after the create process breakpoint 2020-11-12 04:36:00 +01:00
Duncan Ogilvie 7790cc9e12 Disable DbgUiIssueRemoteBreakin and switch to safe attach per default 2020-11-12 04:35:59 +01:00
cw2k 9f16d36504
added handler for 'ReturnType'
added handler for the parameter 'ReturnType'  inConvertFileOffsetToVA(),  ConvertVAtoFileOffset() and ConvertVAtoFileOffsetEx()
2020-11-03 22:53:57 +01:00
cw2k 951852bab1
ConvertVAtoFileOffsetEx() now supports VA values
* ConvertVAtoFileOffsetEx(): implemented a handler for the bool AddressIsRVA. 
  Before AddressToConvert was always assumed to be a RVA
  what lead to problems if a VA was passed in AddressToConvert [what was shown by AddressIsRVA=true]

  Combined with previous bug that returns INVALID_VALUE in case of an error it crashed the gleebug clientapp since they interpreted  INVALID_VALUE  as a file offset

* ConvertFileOffsetToVA: fix for return value.
  In case an error occurs it now returns 0.  Before it returned INVALID_VALUE.

* Start commenting function purpose and it's parameters
2020-11-03 21:52:22 +01:00
cw2k 07ec166b94
ConvertVAtoFileOffsetEx
* now returns 0 on error (and not INVALID_VALUE  => -1)
* implementation for ReturnType 

In short I just copied that from:
c5aed9fccc/StaticEngine/Emulator.h (L507)
2020-11-03 05:37:41 +01:00
Matthijs Lavrijsen 6b6fdd5bb5
Emulator: implement StaticFileLoad and GetPE32Data 2020-10-10 02:23:22 +02:00
Matthijs Lavrijsen 807283d5ee
Emulator: add ConvertVAtoFileOffset 2020-10-04 09:45:23 +02:00
Matthijs Lavrijsen 8dcc6573bf
Implement missing cases in GetPE32DataW_impl 2020-09-23 21:05:23 +02:00
Duncan Ogilvie ad67ff50fc Implement some more emulated APIs 2020-09-18 19:56:37 +02:00
Duncan Ogilvie 44bc9c8c15
support SafeAttach 2020-09-08 22:14:04 +02:00
Duncan Ogilvie 2ee4dc0f83 Implement all TitanEngine functionality (finally) 2018-10-08 20:22:23 +02:00
Duncan Ogilvie 9a2f5e4358 Implement UE_SIZEOFIMAGE in GetPE32Data* 2018-10-01 15:21:55 +02:00
Duncan Ogilvie cd01d22686
some locking 2017-12-31 15:13:53 +01:00
Duncan Ogilvie 3fb8539c7a
refactor registers to be read lazily 2017-12-31 14:12:26 +01:00
Duncan Ogilvie 66c06075b5
support TLS callbacks in GetPE32Data 2017-12-28 23:30:10 +01:00
Duncan Ogilvie d4aecf8b30
initial support for x87 and XMM registers 2017-12-28 22:12:19 +01:00
Duncan Ogilvie 2dd2cb1e3d
remove useless dll housekeeping 2017-12-28 21:06:21 +01:00
Duncan Ogilvie 61cf4e8672
remove unused exports 2017-12-28 15:38:05 +01:00
Duncan Ogilvie 2e835e23ff
implement relocation in GetPE32DataW 2017-12-13 04:59:11 +01:00
Duncan Ogilvie 8b4d39653e
implement HideDebugger 2017-12-11 21:11:55 +01:00
Duncan Ogilvie 719f349b67
implement TitanOpenProcess and TitanOpenThread 2017-12-11 20:49:25 +01:00
Duncan Ogilvie 79e52d2d2c
remove unused librarian breakpoint code 2017-12-11 20:49:00 +01:00
mrexodia d94ad0e74d
fixed GetPE32DataW and GetPE32DataFromMappedFile for loading x32 files on x64 2017-07-03 07:42:55 +02:00
mrexodia 7da59f841d
cache processFromHandle and threadFromHandle (14k events/s -> 20k events/s) 2017-06-30 14:41:23 +02:00
mrexodia 0b18c04e1e
remove lazy context 2017-06-04 18:26:42 +02:00
mrexodia 90c2764676
removed some asserts 2017-05-23 23:05:54 +02:00
mrexodia b0b4f5ded3
initial GleeBug implementation ready 2017-05-23 23:02:04 +02:00
mrexodia ebe1973c26
added used cases for WhichData in PE query functions 2017-05-23 19:56:39 +02:00
mrexodia b23675562f
implemented GetPEBLocation + GetTEBLocation + removed unused ImporterGetRemoteAPIAddress 2017-05-23 19:41:09 +02:00
mrexodia 1747679017
fixed a typo in the API name 2017-05-23 19:28:11 +02:00
mrexodia 14b99382df
remove IsJumpGoingToExecuteEx SingleStep and ThreaderCreateRemoteThread 2017-04-08 04:44:39 +02:00
mrexodia 6c6e181ff5
lazily read/write context for all threads 2017-02-24 18:13:36 +01:00
mrexodia 0b93e3df55
updated for compatibility with the latest TitanEngine 2017-01-07 17:02:07 +01:00
mrexodia c40e9e68ce
Merge branch 'master' into membp
# Conflicts:
#	GleeBug/Debugger.Loop.Exception.cpp
2017-01-04 03:11:50 +01:00
mrexodia c5197f92d5
added various functions to TitanEngineEmulator 2017-01-04 03:08:21 +01:00
mrexodia 367b37d773
added ThreaderCreateRemoteThread 2016-09-01 21:15:57 +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 688fe89439
added GetTEBLocation to emulate (now works in x64dbg again!) 2016-07-06 07:45:33 +02:00
mrexodia 48dada8945 implemented StepOver 2016-03-05 12:58:57 +01:00
Mr. eXoDia 4b7be626fa added 'DetachAndBreak' function 2016-02-11 16:51:25 +01:00
mrexodia 6d77f83205 xp support + fixed an annoying warning 2016-01-11 23:05:43 +01:00
mrexodia 8a6ad0e697 various interface changes 2016-01-11 00:01:50 +01:00
mrexodia da7988c71f renamed some shit 2016-01-10 22:34:18 +01:00