Commit Graph

195 Commits

Author SHA1 Message Date
Duncan Ogilvie 821234ae37
Merge pull request #57 from cw2k/patch-1
ConvertVAtoFileOffsetEx() fails on VA's and crashes client
2020-11-11 23:33:49 +01:00
cw2k 34b632311f
Added handler for AddressIsRVA & ReturnType 2020-11-03 23:10:22 +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
Duncan Ogilvie c5aed9fccc
Merge pull request #55 from Mattiwatti/staticfileload-getpe32data
Emulator: implement StaticFileLoad and GetPE32Data
2020-10-10 17:51:06 +02:00
Matthijs Lavrijsen 6b6fdd5bb5
Emulator: implement StaticFileLoad and GetPE32Data 2020-10-10 02:23:22 +02:00
Matthijs Lavrijsen ab5716c6fb
DebugActiveProcess_: always return a value 2020-10-10 01:41:24 +02:00
Matthijs Lavrijsen 2d92c9f236
Merge pull request #54 from x64dbg/emulator-improvements
Emulator improvements
2020-10-10 01:34:07 +02:00
Matthijs Lavrijsen b9378f0b0b
Add UTF-8/UTF-16 string conversion functions (taken from x64dbg) 2020-10-10 01:16:32 +02:00
Duncan Ogilvie 4c7aa4a31f Fix a bug in the rva to offset conversion 2020-10-09 13:59:22 +02:00
Duncan Ogilvie b79988f9cc
Merge pull request #53 from Mattiwatti/ConvertVAtoFileOffset
Emulator: add ConvertVAtoFileOffset
2020-10-09 13:56:14 +02:00
Matthijs Lavrijsen 807283d5ee
Emulator: add ConvertVAtoFileOffset 2020-10-04 09:45:23 +02:00
Duncan Ogilvie 958039802f
Merge pull request #51 from Mattiwatti/getpe32dataw_impl
Implement missing cases in GetPE32DataW_impl
2020-09-23 23:49:32 +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 3413850282 references for GleeBug 2020-09-08 22:16:08 +02:00
Duncan Ogilvie 44bc9c8c15
support SafeAttach 2020-09-08 22:14:04 +02:00
Duncan Ogilvie 9fd62daff1 add fallback to ReadMemorySafe 2019-11-04 13:44:24 +01:00
Duncan Ogilvie 7ac6950874 add StaticEngine project 2019-08-19 16:14:53 +02:00
Duncan Ogilvie 85846e4ed1 Fix a dumb bug when setting memory breakpoints 2018-11-21 16:58:24 +01:00
Duncan Ogilvie 2ee4dc0f83 Implement all TitanEngine functionality (finally) 2018-10-08 20:22:23 +02:00
Duncan Ogilvie 642e8956d3 Convert MyDebugger and TitanEngineEmulator projects to VS2015 2018-10-01 15:22:13 +02:00
Duncan Ogilvie 9a2f5e4358 Implement UE_SIZEOFIMAGE in GetPE32Data* 2018-10-01 15:21:55 +02:00
Duncan Ogilvie 8f3dacb9b0 change license 2018-08-01 16:47:57 +02:00
Duncan Ogilvie ae2c715811 add option to not create a process in a new console 2018-06-22 11:32:06 +02:00
Duncan Ogilvie b0376e7815 convert project to VS2015 2018-06-11 18:13:11 +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 7343c99cfa
add debug print functionality 2017-12-29 17:13:13 +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 7dc011516d
correctly handle breakpoints happening before the system breakpoint 2017-12-28 21:07: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 4cb07be1f5
fix INVALID_HANDLE_VALUE exception on attach
See:
* https://github.com/x64dbg/x64dbg/issues/1777
* https://github.com/x64dbg/x64dbg/issues/1759
2017-12-11 20:50:32 +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 7a4d0b2ff4
fixed a stack overflow in MemReadSafe 2017-06-30 14:41:22 +02:00
Duncan Ogilvie d681c8ee76 Update README.md 2017-06-30 12:52:38 +02:00
mrexodia 0b18c04e1e
remove lazy context 2017-06-04 18:26:42 +02:00
mrexodia 22c5c2189c
added some more pe files to test 2017-05-26 03:52:39 +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