765 Commits

Author SHA1 Message Date
Matthijs Lavrijsen baa5c8e853 Anti-attach: increase function buffer sizes
Fixes #155
2023-07-30 01:07:02 +02:00
Matthijs Lavrijsen b854ab1382 ScyllaTest: do not use SystemSessionProcessInformation
GetOtherOperationCount (and therefore its test, Check_OtherOperationCount) was always failing under WOW64 because the size check for this info class is not correctly implemented for WOW64. Simply remove this query, it was only being used to validate the previously obtained values anyway.
2023-07-30 01:05:52 +02:00
Matthijs Lavrijsen 417d8d91b7 ntdll.h: const correctness 2023-07-30 01:00:32 +02:00
Matthijs Lavrijsen 37b35ddcb1 Add Cheat Engine to hidden process/window lists
Reference: #154
2023-05-11 23:23:54 +02:00
Matthijs Lavrijsen 74d928f6a2 Add API monitor and new WinDBG to hidden process/window lists
Closes #154
2023-05-11 22:38:55 +02:00
Duncan Ogilvie a727ac39e1 Remove dead AppVeyor link v1.4 2023-03-24 13:16:08 +00:00
Duncan Ogilvie 84d15bfc64 Pin marketplace actions + release notes 2023-03-24 13:15:08 +00:00
Duncan Ogilvie cee6c0a1ad Merge pull request #148 from GDATAAdvancedAnalytics/fix-vmprotect
Add compatibility for VMProtect 3.6+
2023-02-11 05:58:18 +01:00
heck-gd 1463828845 Fix compilation of other plugins 2023-02-10 16:11:56 +01:00
heck-gd b53c2f7314 Add compatibility for VMProtect 3.6+ 2023-02-03 16:08:09 +01:00
Matthijs Lavrijsen 480dc49de2 Fix XP support in GH releases by using the VS 2019 14.27 toolchain 2023-01-12 15:15:43 +01:00
rise a0e5b8f2b1 Add Process Monitor blacklisted processes (#142) 2022-04-26 11:22:19 +02:00
Duncan Ogilvie 30c956b27a Merge pull request #133 from x64dbg/gh-actions
GitHub Actions
2021-10-27 21:00:29 +02:00
Duncan Ogilvie ea3e3c2d97 Build ScyllaHide with GitHub Actions 2021-10-27 20:54:31 +02:00
Duncan Ogilvie 2b407b33ac Exclude IDA plugins from the default build 2021-10-27 19:08:13 +02:00
Matthijs Lavrijsen 7e648fb29e Update default Themida settings profile
Support for the latest Themida is incomplete, see #127
snapshot-2021-08-23_13-27-50
2021-08-23 15:27:50 +02:00
Matthijs Lavrijsen 2276f14771 Add NtUserGetForegroundWindow hook
Fixes #116
snapshot-2021-01-26_02-47-19
2021-01-26 03:47:19 +01:00
Matthijs Lavrijsen 37ff0b3659 Fix regression in x64dbg plugin caused by 9ad0839d. Fixes #115 snapshot-2020-12-15_18-48-00 2020-12-15 19:48:00 +01:00
Matthijs Lavrijsen d2a719ce2e Fix IDA plugin build snapshot-2020-12-13_19-14-26 2020-12-13 20:14:26 +01:00
qfrtt 9ad0839dc2 Fix according to newest x64dbg changes (#114)
* Fix according to newest x64dbg changes

In newest x64dbg version the auto break on attach was removed so ScyllaHide would never inject.
2020-12-13 20:06:49 +01:00
Sam Russell 75fde06ac9 Enable OSBuildVersion in plugin menus (#109) 2020-09-09 16:50:28 +02:00
Matthijs Lavrijsen 75fcdc539e Update to VS2019 snapshot-2020-08-09_19-11-36 2020-08-09 21:11:36 +02:00
Duncan Ogilvie 91c0a07609 Update README snapshot-2020-07-10_14-12-03 2020-07-10 16:12:03 +02:00
Duncan Ogilvie 70d6432c04 Fix release structure 2020-07-10 16:01:47 +02:00
Mattiwatti 1bfa584a4a Add XP/2003 x64 support for KiUserExceptionDispatcher hook 2020-06-10 18:31:11 +02:00
Bill Bierman 706fec4350 Add 64 bit support for KiUserExceptionDispatcher (#106)
* Added manually generated trampoline for KiUserExceptionDispatcher on x86_64

* Preserve prologue of KiUserExceptionDispatcher for hook removal
2020-06-08 20:04:44 +02:00
Mattiwatti 2ce3ace33b Wow64GetModuleHandle64: use a real process handle
(mostly) fixes #105
2020-05-30 00:35:45 +02:00
Mattiwatti 59309a2057 Adjust OtherOperationCount after NtMapViewOfSection
https://everdox.blogspot.com/2013/11/debugger-detection-with.html
2020-05-17 00:27:27 +02:00
Mattiwatti 265940d076 Process suspend/resume: deal with threads at the max suspend count 2020-05-05 02:01:12 +02:00
Mattiwatti 59b2955540 PebPatchProcessParameters: set WindowFlags and ShowWindowFlags to 0x1
Fixes #99
2020-04-11 23:45:54 +02:00
Mattiwatti a3ae4b6b09 RestoreKernel32Hooks: unhook time functions
Fixes #89
2020-01-09 17:13:31 +01:00
Mattiwatti 1fb31fdd94 ApplyKernel32Hook: verify kernel[32|base] is loaded before hooking
Fixes #87
2019-12-25 14:33:09 +01:00
Mattiwatti ca54a69326 Fix pedantic Clang warning 2019-12-25 14:28:31 +01:00
Mattiwatti 78f736e304 Fix missing user32.dll VAs in IDA plugin
Closes #85
2019-12-24 09:57:10 +01:00
Mattiwatti acb15bbde0 Patch OS build numbers
Ref: #83
2019-12-24 01:33:35 +01:00
Mattiwatti 10ddb89fba ProcessDebugObjectHandle: handle overlapping buffer and return length
See https://github.com/mrexodia/TitanHide/issues/39
2019-12-12 11:39:23 +01:00
Mattiwatti a596f7f5d2 Add TLS to HookLibrary for InstrumentationCallbackDisabled field
This fixes potential race conditions with multiple threads active while the instrumentation callback is installed
2019-12-12 11:34:58 +01:00
Mattiwatti 0bd149aeff Update ntdll.h 2019-12-12 11:27:38 +01:00
Mattiwatti 684af33c46 Instrumentation callback improvements and fixes
- Fix "initialization error 1" on Windows 7/8/8.1 and supported (= with known syscall tables) versions of Windows 10
- Zero extend the value of RAX on x64 when returning an NTSTATUS
- Fix access violation on instrumentation callback removal on Windows 7/8/8.1
2019-06-03 03:14:45 +02:00
Mattiwatti 4bc2f91915 Rewrite WOW64 hooking
- Add scl::Wow64GetModuleHandle64 to get wow64cpu.dll from a WOW64 process
- Always apply WOW64 gateway hook to the X64 far jmp at wow64cpu!KiFastSystemCall/X86SwitchTo64BitMode
- Remove hack in ApplyUserHook() that was applying a duplicate WOW64 gateway hook. No longer needed because the far jmp in wow64cpu.dll is shared by ntdll and win32u
- Remove J.R.R. Tolkien novel length comment about the layout of the WOW64 gateway call on Windows 10 and the associated hack for it
- Remove hack in GetCallDestination() for WOW64
- Remove code for hooking of and writing jumper code for FF 25 jmps (absolute indirect far jmp)
- Remove 1000 byte global 'tempSpace' buffer (great name) and replace it with a 7 byte function local one
- Rename lots of things to make slightly more sense
- Remove unused function parameters
2019-06-02 13:15:29 +02:00
Mattiwatti 25d31f8bf4 Native x86: if DetourCreateRemote was used, restore hooks properly 2019-06-02 13:13:42 +02:00
Mattiwatti 27450103d3 Enable /LARGEADDRESSAWARE for 32 bit plugins 2019-06-02 13:12:30 +02:00
Mattiwatti 22e664f757 Remove dbghelp 2019-06-02 13:11:51 +02:00
Duncan Ogilvie bde2b49ada Better AppVeyor setup 2019-06-02 11:56:53 +02:00
Mattiwatti aeb612d283 Update release.bat for Appveyor 2019-06-02 01:38:20 +02:00
Mattiwatti 49dc5014b7 Obsidium please (3/3)
- Same thing as previous commit, but for native x86

OK, I admit I clearly stopped trying here. But I bet I still put more effort into this lazy hack than Obsidium put into their hook detection
2019-05-31 22:38:22 +02:00
Mattiwatti 5ad4cb7ffa Obsidium please (2/3)
- Write WOW64 x64 transition detours as far jmps

Obsidium checks syscalls for hooks, or at least it tries to. But if something only kinda looks like the original it's good enough. And thus was born: the absolute far jmp with segment selector that doesn't actually change the segment. Good to go!
Tip for Obsidium: take a cue from your competitors at VMProtect and try doing something that's actually innovative and hard to bypass instead of these hardcoded byte checks. I almost feel second hand embarrassment committing this
2019-05-31 22:36:59 +02:00
Mattiwatti 88bc1b7810 Obsidium please (1/3)
- Enable NtUserQueryWindow hook for Obsidium profile

Obsidium thinks anyone who simply has a WinDbg window open is out to get them, and uses some 1990s era detection techniques like window enumeration to find these evil hacker tools. Guess what, some people use WinDbg and IDA for their work (shock!). Isn't it ironic that Obsidium protected software is actually more user friendly when you run it in a debugger?
2019-05-31 22:30:52 +02:00
Mattiwatti 554d97fac4 This flag is not really magic 2019-05-31 22:28:04 +02:00
Mattiwatti 9642f9737e Ignore return value in HOOK_NATIVE_NOTRAMP since it is always NULL
Fixes #79
2019-05-27 11:17:21 +02:00