@hyperdbg

@hyperdbg / Public archive of HyperDbg Telegram messages.

  • 2025

    • Mar 2025 (385)
    • Feb 2025 (220)
    • Jan 2025 (167)
  • 2024

    • Dec 2024 (72)
    • Nov 2024 (235)
    • Oct 2024 (83)
    • Sep 2024 (263)
    • Aug 2024 (332)
    • Jul 2024 (403)
    • Jun 2024 (570)
    • May 2024 (245)
    • Apr 2024 (156)
    • Mar 2024 (90)
    • Feb 2024 (134)
    • Jan 2024 (309)
  • 2023

    • Dec 2023 (62)
    • Nov 2023 (326)
    • Oct 2023 (76)
    • Sep 2023 (315)
    • Aug 2023 (757)
    • Jul 2023 (2215)
    • Jun 2023 (778)
    • May 2023 (300)
    • Apr 2023 (1)
    • Feb 2023 (5)
    • Jan 2023 (1)
  • 2022

    • Nov 2022 (1)
    • Oct 2022 (2)
    • Sep 2022 (1)
    • Aug 2022 (1)
    • Jul 2022 (39)
    • Jun 2022 (23)
    • May 2022 (256)
  • 2021

    • Dec 2021 (1)
    • Oct 2021 (82)
    • Jun 2021 (1)
    • Feb 2021 (1)
    • Jan 2021 (2)
  • 2020

    • Dec 2020 (1)
    • Nov 2020 (2)
RSS feed.    Made with tg-archive
  • 01 April 2024 (1 messages)
  • @scypher #5986 09:42 PM, 01 Apr 2024
    Joined.
  • 04 April 2024 (53 messages)
  • @hacksxor #5987 04:07 AM, 04 Apr 2024
    Joined.
  • @ma_jiajue #5988 06:58 AM, 04 Apr 2024
    hi, everyone, i fellow the instructions of the webpage(https://docs.hyperdbg.org/getting-started/attach-to-hyperdbg/start-process), but failed, why was that?
    Start a new process | HyperDbg Documentation

    Starting a process from entrypoint

  • @ma_jiajue #5989 06:59 AM, 04 Apr 2024
    here is the pic of the error

    photo_2024-04-04_06-59-07.jpg
  • @ma_jiajue #5990 06:59 AM, 04 Apr 2024
    i used the efiguard to disable the vbs and the hvci was closed
  • @ma_jiajue #5991 06:59 AM, 04 Apr 2024
    my processor is i7 6700, and the os is win10
  • @ma_jiajue #5992 06:59 AM, 04 Apr 2024
    i used the physical pc as the client
  • @ma_jiajue #5993 07:00 AM, 04 Apr 2024
    sticker.webm
  • @SicPsy #5995 08:26 AM, 04 Apr 2024
    sticker.webp
  • @Profe3sor #5996 09:34 AM, 04 Apr 2024
    Joined.
  • @HughEverett ↶ Reply to #5991 #5997 12:17 PM, 04 Apr 2024
    Hi,
    Your processor is kinda old, it's a skylake processor, but there shouldn't be problem. As it caused bsod, WinDbg will grab the error. If you can get the result of the '!analyze -v', then we could investigate the error.
  • @HughEverett ↶ Reply to #5989 #5998 12:18 PM, 04 Apr 2024
    This is so general view of the error, further information is needed to find the bug that caused this error.
  • @1906828983 #5999 01:15 PM, 04 Apr 2024
    @HughEverett hi, I'm learning to try to use HOOK and then I find that it consistently fails, I debug and find that the Address in the PoolManagerRequestPool is always 0, am I missing something?
  • @1906828983 #6000 01:17 PM, 04 Apr 2024
    &PoolTable->PoolsList ! = &g_ListOfAllocatedPoolsHead is always equal resulting in not going inside the loop to set address

    photo_2024-04-04_13-17-34.jpg
  • @HughEverett ↶ Reply to #5999 #6001 01:20 PM, 04 Apr 2024
    Can you tell me how can I reproduce the error?
  • @HughEverett #6002 01:20 PM, 04 Apr 2024
    Are you using the latest version?
  • @1906828983 #6003 01:20 PM, 04 Apr 2024
    yes
  • @1906828983 ↶ Reply to #6003 #6004 01:24 PM, 04 Apr 2024
    I am using v0.8.2 version and then I will call EptHookInlineHook and this error occurs within its internal trigger
  • @1906828983 #6005 01:24 PM, 04 Apr 2024
    I referenced this use case https://github.com/HyperDbg/HyperDbg/blob/master/hyperdbg/hprdbghv/code/hooks/syscall-hook/SsdtHook.c
    HyperDbg/hyperdbg/hprdbghv/code/hooks/syscall-hook/SsdtHook.c at master · HyperDbg/HyperDbg

    State-of-the-art native debugging tool. Contribute to HyperDbg/HyperDbg development by creating an account on GitHub.

  • @HughEverett ↶ Reply to #6005 #6006 01:29 PM, 04 Apr 2024
    Are you using HyperDbg as library (dll)?
  • @HughEverett #6007 01:29 PM, 04 Apr 2024
    Call the routines directly?
  • @1906828983 #6008 01:31 PM, 04 Apr 2024
    No, I created a test driver project using hprdbghv, then manually loaded and initialized hv (it returned success), then called EptHookInlineHook.
  • @1906828983 #6009 01:32 PM, 04 Apr 2024
    I called them from driverentry.
  • @HughEverett ↶ Reply to #6008 #6010 01:35 PM, 04 Apr 2024
    The reason why you got those errors is because you didn't pre-allocate (initialized) the pool manager, as HyperDbg automatically manages it.
  • @HughEverett #6011 01:35 PM, 04 Apr 2024
    You can use this function to reserve pre-allocated pools:
    https://github.com/HyperDbg/HyperDbg/blob/103874d777d681324ac61948c8eae06a237ae812/hyperdbg/hprdbghv/code/hooks/ept-hook/EptHook.c#L70
    HyperDbg/hyperdbg/hprdbghv/code/hooks/ept-hook/EptHook.c at 103874d777d681324ac61948c8eae06a237ae812 · HyperDbg/HyperDbg

    State-of-the-art native debugging tool. Contribute to HyperDbg/HyperDbg development by creating an account on GitHub.

  • @HughEverett ↶ Reply to #6011 #6012 01:36 PM, 04 Apr 2024
    Make sure to run this function only in PASSIVE_LEVEL. Don't call it from VMX root mode.
  • @1906828983 ↶ Reply to #6011 #6013 01:38 PM, 04 Apr 2024
    Aha, I thought hv initialization would automatically get everything ready and I saw that PoolManagerRequestPool internal PoolManagerRequestAllocation would request it again (I called hook multiple times without success), so that's why 😂. I'll try again.
  • @HughEverett ↶ Reply to #6005 #6014 01:38 PM, 04 Apr 2024
    Other than that, it's better not to use this exmple as a reference. There is another usage from the debugger, which is the valid call to this function. The link you sent is not tested/maintained for years. I should remove that.
  • @1906828983 #6015 01:39 PM, 04 Apr 2024
    Where to find another example of usage
  • @HughEverett ↶ Reply to #6013 #6016 01:40 PM, 04 Apr 2024
    EPT hook is fundamentally an event which is categorized as a KD task, not a HV task. So, it's the responsibility of the debugger to take care of its pools.
  • @HughEverett ↶ Reply to #6015 #6017 01:40 PM, 04 Apr 2024
    Let me find it.
  • @HughEverett ↶ Reply to #6015 #6018 01:41 PM, 04 Apr 2024
    https://github.com/HyperDbg/HyperDbg/blob/103874d777d681324ac61948c8eae06a237ae812/hyperdbg/hprdbghv/code/interface/Configuration.c#L272
    HyperDbg/hyperdbg/hprdbghv/code/interface/Configuration.c at 103874d777d681324ac61948c8eae06a237ae812 · HyperDbg/HyperDbg

    State-of-the-art native debugging tool. Contribute to HyperDbg/HyperDbg development by creating an account on GitHub.

  • @1906828983 #6019 01:44 PM, 04 Apr 2024
    It looks like the two seem to be the same (in terms of passing parameters) and I don't see any difference 😅
  • @HughEverett ↶ Reply to #6019 #6020 01:46 PM, 04 Apr 2024
    That could be the case. As it that piece of code is not used, I wasn't sure whether it's working or not.
  • @HughEverett #6021 01:46 PM, 04 Apr 2024
    Anyway, you have plenty of limitations on inline EPT hooks (or !epthook2). It's always better to use the classic EPT hook (!epthook).

    Some of these limitations are explained here (the "Remarks" section):

    https://docs.hyperdbg.org/commands/extension-commands/epthook2
    !epthook2 (hidden hook with EPT - detours) | HyperDbg Documentation

    Description of the '!epthook2' command in HyperDbg.

  • @1906828983 #6022 01:49 PM, 04 Apr 2024
    but epthook does not provide the HookFunction parameter

    photo_2024-04-04_13-49-48.jpg
  • @1906828983 #6023 01:50 PM, 04 Apr 2024
    so I don't know how to make it jump to my code
  • @HughEverett ↶ Reply to #6023 #6024 01:51 PM, 04 Apr 2024
    All of HyperDbg events eventually call a callback function named 'DebuggerTriggerEvent'. You can put your codes there.
  • @HughEverett #6025 01:54 PM, 04 Apr 2024
    https://github.com/HyperDbg/HyperDbg/blob/103874d777d681324ac61948c8eae06a237ae812/hyperdbg/hprdbghv/code/interface/Dispatch.c#L960
    HyperDbg/hyperdbg/hprdbghv/code/interface/Dispatch.c at 103874d777d681324ac61948c8eae06a237ae812 · HyperDbg/HyperDbg

    State-of-the-art native debugging tool. Contribute to HyperDbg/HyperDbg development by creating an account on GitHub.

  • @1906828983 #6026 01:54 PM, 04 Apr 2024
    i found it. I'll try it later.
  • @HughEverett ↶ Reply to #6025 #6027 01:54 PM, 04 Apr 2024
    This one, put your hook/code here.
  • @1906828983 #6028 01:59 PM, 04 Apr 2024
    I called ConfigureEptHookReservePreallocatedPoolsForEptHooks before calling the hook but it still returns null!

    photo_2024-04-04_13-59-40.jpg
  • @1906828983 ↶ Reply to #6027 #6029 02:00 PM, 04 Apr 2024
    I thought it was DebuggerTriggerEvents 😅.
  • @HughEverett ↶ Reply to #6028 #6030 02:20 PM, 04 Apr 2024
    Ah, forgot to tell you, once you called this function, then call 'PoolManagerCheckAndPerformAllocationAndDeallocation()' to perform the actual allocation.
  • @HughEverett ↶ Reply to #6029 #6031 02:22 PM, 04 Apr 2024
    DebuggerTriggerEvent is a function in hprdbgkd, not hprdbghv. So, if you just wanted to use hypervisor and not debugger, then that couldn't be used.
  • @1906828983 #6032 02:24 PM, 04 Apr 2024
    This seems to require me to manually write the code to the internals of the hv, I don't want to break the internals, is there a callback provided.
  • @HughEverett ↶ Reply to #6032 #6033 02:29 PM, 04 Apr 2024
    Not yet, but you can use hprdbgkd. This driver uses the hv with all needed initializations and considerations.
  • @1906828983 #6034 02:31 PM, 04 Apr 2024
    okay, I'll see how it works.
  • @HughEverett ↶ Reply to #6035 #6038 02:55 PM, 04 Apr 2024
    I think the handler has to do some necessary things. This function was not supposed to be used this way, it probably needs lots of modification.

    Why don't you use hprdbgkd directly? You can add your code to hprdbgkd and develop your driver along with that driver in the same code base solution.
  • @1906828983 ↶ Reply to #6038 #6039 02:59 PM, 04 Apr 2024
    Because I want to add functions step by step to learn, if I use hprdbgkd then I have to look at the code content in this project now. I want to put it on the back burner🙈
  • @1906828983 #6040 03:03 PM, 04 Apr 2024
    I‘m now trying to learn to use the whole project
  • @HughEverett ↶ Reply to #6039 #6041 03:10 PM, 04 Apr 2024
    That's okay. 👍
  • @HughEverett #6042 03:11 PM, 04 Apr 2024
    Actually, I should improve the SDK and document its functions.
  • @1906828983 #6043 06:52 PM, 04 Apr 2024
    It took me some more time to realize that I probably understood some of the logic. I used the wrong method before
  • 05 April 2024 (8 messages)
  • @HughEverett ↶ Reply to #6043 #6044 12:16 AM, 05 Apr 2024
    Is your problem fixed now? Did you successfully call the EPT function in your custom module?
  • @1906828983 ↶ Reply to #6044 #6045 10:36 AM, 05 Apr 2024
    Not yet, I mean I might (should) have read part of the hook handling logic
  • @1906828983 #6046 01:08 PM, 05 Apr 2024
    @HughEverett I was reading about the !epthook related handler function, and how I can modify the rip internally in order to make it jump to my function, and I don't see the code to modify the rip. It seems that the original function is still executed even after debugger processing.
  • @HughEverett ↶ Reply to #6046 #6047 05:17 PM, 05 Apr 2024
    In case of !epthook (not !epthook2), you can change the RIP from VMCS using VMWRITE instruction on GUEST_RIP.
  • @HughEverett ↶ Reply to #6045 #6048 05:18 PM, 05 Apr 2024
    Just curious to know, is what you trying to do with HyperDbg is also possible by writing scripts?

    https://docs.hyperdbg.org/commands/scripting-language
    Scripting Language | HyperDbg Documentation
  • @HughEverett ↶ Reply to #6048 #6049 05:19 PM, 05 Apr 2024
    Generally, the recommended way of using HyperDbg is to use the script engine as there are tens of technical difficulties and considerations that are all checked once you use an script.
  • @1906828983 #6050 05:25 PM, 05 Apr 2024
    Why isn't https://github.com/HyperDbg/RedDbg in the same project as hyperdbg, theoretically it's reusable except for the different hv implementation.
    GitHub - HyperDbg/RedDbg: Hypervisor-based debugger for AMD processors

    Hypervisor-based debugger for AMD processors. Contribute to HyperDbg/RedDbg development by creating an account on GitHub.

  • @HughEverett ↶ Reply to #6050 #6051 05:26 PM, 05 Apr 2024
    It will join HyperDbg in the future, currently it's on R&D phase.
  • 06 April 2024 (17 messages)
  • @SicPsy #6052 09:37 AM, 06 Apr 2024
    Can't the EPT attribute be set to executable, writable, but not readable?
  • @SicPsy #6053 09:37 AM, 06 Apr 2024

    photo_2024-04-06_09-37-27.jpg
  • @SicPsy #6054 09:37 AM, 06 Apr 2024
    😢
  • @HughEverett ↶ Reply to #6052 #6055 09:55 AM, 06 Apr 2024
    No, that's not possible as Intel prevents it. But, if you specify such a configuration in the '!monitor' command, HyperDbg will silently set this attribute bit, but won't trigger an event once such an event happens in the system. It works as expected, except that some of the events are ignored in the debugger side.
  • @SicPsy #6056 09:57 AM, 06 Apr 2024
    Got it thanks
  • @honorary_bot ↶ Reply to #6055 #6057 10:19 AM, 06 Apr 2024
    Sorry man, but that's not true. Execute-only is a totaly valid setting for EPT PTE (Unlike regular MMU PTE)
  • @honorary_bot #6058 10:19 AM, 06 Apr 2024
    Of course, some of the platforms don't support that combination, but those are really old
  • @honorary_bot #6059 10:19 AM, 06 Apr 2024
    Check out https://pulsedbg.com/vmx.html
    VMX Capabilities
  • @honorary_bot #6060 10:20 AM, 06 Apr 2024
    "Execute-only allowed in EPT"
  • @honorary_bot #6061 10:29 AM, 06 Apr 2024
    *UPD* I misread the config that was requested. I thought it was "execute only".
  • @honorary_bot #6062 10:29 AM, 06 Apr 2024
    If you want "W" without "R", it's a EPT misconfig
  • @SicPsy #6063 10:32 AM, 06 Apr 2024
    Got it thank you.I'd better change my mind, haha
  • @SicPsy #6064 10:33 AM, 06 Apr 2024
    sticker.webp
  • @HughEverett ↶ Reply to #6057 #6065 11:44 AM, 06 Apr 2024
    Execute-only is valid but he sets the write access without setting a read access which HyperDbg will set the read bit in these cases.
  • @HughEverett ↶ Reply to #6062 #6066 11:45 AM, 06 Apr 2024
    Yes, I mean this one.
  • @honorary_bot #6067 11:45 AM, 06 Apr 2024
    Yeah, sorry, I misread that
  • @1906828983 #6068 04:27 PM, 06 Apr 2024
    @HughEverett I have a question: if you get the id of the current process here, why does it enable the hook for all processes?

    photo_2024-04-06_16-27-54.jpg
  • 07 April 2024 (2 messages)
  • @HughEverett ↶ Reply to #6068 #6069 09:34 AM, 07 Apr 2024
    If you apply it to the kernel or shared user libraries (DLLs), then it will be triggered for all processes.
  • @HughEverett ↶ Reply to #6068 #6073 02:21 PM, 07 Apr 2024
    EPT hooks are mainly based on physical addresses. So, if someone puts a hook somewhere that is shared between different processes, then all of them will trigger the hook.
  • 08 April 2024 (21 messages)
  • @ma_jiajue ↶ Reply to #5998 #6074 06:55 AM, 08 Apr 2024
    Thank you for your reply, i will try it later. thank you again.
  • @ma_jiajue #6075 06:59 AM, 08 Apr 2024
    My consideration is that it may be due to prolonged thread blocking. As in my test, if the blocking time of the thread is relatively short, it will not blue screen; if the time is relatively long, it will.
  • @ma_jiajue #6076 07:11 AM, 08 Apr 2024
    I want to debug user processes. Which mode should I choose??
  • @ma_jiajue #6077 07:13 AM, 08 Apr 2024
    Just like before, I use a physical machine as the client
  • @ma_jiajue #6078 07:14 AM, 08 Apr 2024
    and connect the server and client via the serial port.
  • @SicPsy #6079 11:27 AM, 08 Apr 2024
    How to enable monitoring of MOV_CR?
  • @HughEverett ↶ Reply to #6076 #6080 02:45 PM, 08 Apr 2024
    The best way to use HyperDbg at this stage is using either a VMware Workstation or VMware Player (free) in the debugger mode. However, you can also use your machine in the VMI Mode which is like Local Debugging in WinDbg. You cannot step through instructions or put a break or breakpoint anywhere in your machine once you're in the VMI mode. Other functionalities are perfectly okay to be used.
  • @HughEverett ↶ Reply to #6080 #6081 02:45 PM, 08 Apr 2024
    I usually use HyperDbg along with printf scripts to debug user-mode processes in the VMI mode.
  • @HughEverett ↶ Reply to #6079 #6082 02:49 PM, 08 Apr 2024
    Well, honestly I didn't test or document this feature yet. But as you noticed, one of our contributors implement it. You can test it as the '!crwrite' command but I'm not sure if it currently works (and it's not yet released/documented). I will get into it in the future but if you could use and debug (which is probably not that problematic), please let me know, or if anything is fixed, you could open a PR in GitHub.
  • @SicPsy #6083 02:52 PM, 08 Apr 2024
    I seem to have some problems with what I'm saying. I mean monitor CR0-CR4. Who controls it.
  • @SicPsy #6084 02:53 PM, 08 Apr 2024
    I didn't see it on the inter whitepaper
  • @HughEverett ↶ Reply to #6083 #6085 02:56 PM, 08 Apr 2024
    Not sure if I correctly understand, do you mean that you don't know how Intel makes it possible to monitor CR0-CR4?
  • @SicPsy #6086 02:59 PM, 08 Apr 2024
    Yes, that's what it means
  • @SicPsy #6087 02:59 PM, 08 Apr 2024
    I can only monitor CR3
  • @SicPsy #6089 03:04 PM, 08 Apr 2024

    photo_2024-04-08_15-04-25.jpg
  • @339119265 #6090 08:26 PM, 08 Apr 2024
    Joined.
  • @339119265 ↶ Reply to #6059 #6091 08:37 PM, 08 Apr 2024
    Great resource, thanks
  • @339119265 #6092 08:38 PM, 08 Apr 2024
    I was about to ask if somebody did use hyperdbg on Intel sandybridge. I saw recommendations about gen 4th as minimum but wanted to confirm why specifically
  • @339119265 #6093 08:40 PM, 08 Apr 2024
    When I load vmm I get "vmx is supported" but then the kernel crash(win10/win11 same on both), tried all different ways of disabling DSE/patchguard but the behaviour is the same
  • @339119265 #6094 08:42 PM, 08 Apr 2024
    Using windbg I can at least avoid the crash as I get a breakpoint over hyperdbghv, the internal error code is ERROR_GEN_FAILURE , apparently it can't init the handlers but not sure if this is specific to some missing extensions on sandy bridge CPUs . thanks x)
  • @339119265 ↶ Reply to #6093 #6095 08:48 PM, 08 Apr 2024
    This is over latest VMWare Workstation Pro of course.
  • 09 April 2024 (19 messages)
  • @ma_jiajue ↶ Reply to #6080 #6096 08:42 AM, 09 Apr 2024
  • @1906828983 #6097 12:10 PM, 09 Apr 2024
    Has anyone experienced an automatic reboot (no bsod) after using !epthook? It only occurs occasionally
  • @1906828983 #6098 01:27 PM, 09 Apr 2024
    The following exception occurs when i use !epthook MmGetPhysicalAddress
    0: kd> K
    # Child-SP RetAddr Call Site
    00 fffff806`152a3128 01000000`00100000 nt!KiDispatchInterruptContinue+0x1b
    01 fffff806`152a3130 00000000`00000103 0x01000000`00100000
    02 fffff806`152a3138 00000000`00000000 0x103
  • @HughEverett ↶ Reply to #6086 #6099 01:32 PM, 09 Apr 2024
    Please check this link:
    https://github.com/HyperDbg/HyperDbg/blob/7710b92be4998e68c187cf4698ee585d827fdfee/hyperdbg/hprdbgkd/code/debugger/events/ApplyEvents.c#L891
    HyperDbg/hyperdbg/hprdbgkd/code/debugger/events/ApplyEvents.c at 7710b92be4998e68c187cf4698ee585d827fdfee · HyperDbg/HyperDbg

    State-of-the-art native debugging tool. Contribute to HyperDbg/HyperDbg development by creating an account on GitHub.

  • @HughEverett ↶ Reply to #6099 #6100 01:32 PM, 09 Apr 2024
    It's how we implement it on HyperDbg.
  • @HughEverett ↶ Reply to #6092 #6101 01:35 PM, 09 Apr 2024
    Starting from the recent versions of HyperDbg, the MBEC (mode-based execution controls) is used for functionalities which are only available on gen 7 or newer. (E.g. even skylake processors won't support it).
  • @HughEverett ↶ Reply to #6101 #6102 01:37 PM, 09 Apr 2024
    Because these processors are problematic in some cases that are really hard to investigate. For example I remember some features like SYSCALL hooks doesn't work on these generations.
  • @HughEverett ↶ Reply to #6094 #6103 01:38 PM, 09 Apr 2024
    If you could put me to the exact line that leads to error, I can further investigate it.
  • @HughEverett ↶ Reply to #6097 #6104 01:42 PM, 09 Apr 2024
    Yeah, I found some of these behaviors in the past, but I fixed most of them. Usually, these types of bugs happens when a driver tries to access a not existed physical address.
    These types of bugs are easy to investigate if we could find a way to deterministically re-produce them.
  • @HughEverett ↶ Reply to #6098 #6105 01:43 PM, 09 Apr 2024
    Ah, we call this function several times when we want to apply EPT Hooks. 😄
  • @HughEverett ↶ Reply to #6098 #6106 01:44 PM, 09 Apr 2024
    It's probably a stack overflow because of recursive function calls to this function. I didn't consider these cases on the implementation.
  • @HughEverett ↶ Reply to #6098 #6107 01:45 PM, 09 Apr 2024
    Would you please create a GitHub issue (if it's possible), for this? This seems to be an interesting problem that needs to be solved.
  • @1906828983 #6108 01:45 PM, 09 Apr 2024
    When I use !epthook MmGetPhysicalAddress I can reproduce it a lot more often
  • @1906828983 #6109 01:46 PM, 09 Apr 2024
    windbg log
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> g
    Access violation - code c0000005 (!!! second chance !!!)
    nt!KiDispatchInterruptContinue+0x1b:
    fffff806`137c5cab c3 ret
    0: kd> .crash
    Access violation - code c0000005 (!!! second chance !!!)
    nt!HvlpGetRegister64+0xd6:
    fffff806`13885ece 48c1e220 shl rdx,20h
    0: kd> k
    # Child-SP RetAddr Call Site
    00 fffff806`152a1b00 fffff806`1387e54d nt!HvlpGetRegister64+0xd6
    01 fffff806`152a1b30 fffff806`1389eb6f nt!HvlLogGuestCrashInformation+0x39
    02 fffff806`152a1b70 fffff806`137bf147 nt!KeBugCheck2+0x7cf
    03 fffff806`152a2290 fffff806`13ea7907 nt!KeBugCheckEx+0x107
    04 fffff806`152a22d0 fffff806`13ea69ef nt!KdpSendWaitContinue+0x807
    05 fffff806`152a24d0 fffff806`13899ef4 nt!KdpReportExceptionStateChange+0x9b
    06 fffff806`152a2630 fffff806`13ea9665 nt!KdpReport+0xb4
    07 fffff806`152a2670 fffff806`13716138 nt!KdpTrap+0x14d
    08 fffff806`152a26c0 fffff806`138426d1 nt!KdTrap+0x2c
    09 fffff806`152a2700 fffff806`137d0942 nt!KiDispatchException+0x12ca61
    0a fffff806`152a2db0 fffff806`137cc805 nt!KiExceptionDispatch+0xc2
    0b fffff806`152a2f90 fffff806`137c5cab nt!KiGeneralProtectionFault+0x305
    0c fffff806`152a3128 01000000`00100000 nt!KiDispatchInterruptContinue+0x1b
    0d fffff806`152a3130 00000000`00000103 0x01000000`00100000
    0e fffff806`152a3138 00000000`00000000 0x103
  • @HughEverett ↶ Reply to #6108 #6110 01:46 PM, 09 Apr 2024
    Yes, it's because of the recursive calls and the fact that we use this function once HyperDbg wants to apply an EPT hook.
  • @1906828983 #6111 01:48 PM, 09 Apr 2024
    I had thought it was due to hv's internal call to
    MmGetPhysicalAddress with !epthook
    MmGetPhysicalAddress conflict.
  • @1906828983 #6112 02:00 PM, 09 Apr 2024
    https://github.com/HyperDbg/HyperDbg/issues/356
    Access violation - code c0000005 · Issue #356 · HyperDbg/HyperDbg

    Describe the bug Sometimes using the !epthook MmGetPhysicalAddress triggers an exception. To Reproduce Use !epthook MmGetPhysicalAddress (note: this is an occasional 0: kd> g Access violation - ...

  • @HughEverett ↶ Reply to #6112 #6113 02:01 PM, 09 Apr 2024
    Great! Thanks
  • @Blue410 #6114 03:39 PM, 09 Apr 2024
    Joined.
  • 10 April 2024 (2 messages)
  • @5609143371 #6115 08:31 AM, 10 Apr 2024
    Joined.
  • @orange088 #6116 08:50 AM, 10 Apr 2024
    Joined.
  • 11 April 2024 (1 messages)
  • @6499027813 #6117 12:54 PM, 11 Apr 2024
    Joined.
  • 13 April 2024 (1 messages)
  • @revflash #6118 05:43 AM, 13 Apr 2024
    Joined.
  • 14 April 2024 (5 messages)
  • @DK_ZAG #6119 02:48 AM, 14 Apr 2024
    Joined.
  • @DK_ZAG #6120 02:49 AM, 14 Apr 2024
    有中国人吗
  • @DK_ZAG #6121 02:51 AM, 14 Apr 2024
    https://rayanfam.com/topics/hypervisor-from-scratch-part-4/
    第四部分源码在我的win1903系统上面,一加载驱动就蓝屏,前面三部分正常
    Hypervisor From Scratch – Part 4: Address Translation Using Extended Page Table (EPT)

    We write about Windows Internals, Hypervisors, Linux, and Networks.

  • @DK_ZAG #6122 02:52 AM, 14 Apr 2024
    谁知道哪里有问题 需要修改什么
  • @DancingSnow #6123 01:25 PM, 14 Apr 2024
    sticker.webp
  • 15 April 2024 (2 messages)
  • @5717679210 #6131 07:05 AM, 15 Apr 2024
    Joined.
  • @FischerRandom #6132 09:45 PM, 15 Apr 2024
    Joined.
  • 16 April 2024 (1 messages)
  • @gamework888 #6133 03:15 PM, 16 Apr 2024
    被be检测到了
  • 17 April 2024 (1 messages)
  • @sghaseme #6134 09:22 AM, 17 Apr 2024
    Joined.
  • 18 April 2024 (1 messages)
  • @akolon13 #6136 10:49 PM, 18 Apr 2024
    Joined.
  • 19 April 2024 (3 messages)
  • @HughEverett #6140 04:09 PM, 19 Apr 2024
    Soon we'll say welcome to our new family member, hwdbg. 🛠️⚙️🔲

    Hardware Debugger, or #hwdbg, is a new class of event-driven chip debuggers that allows precise signal control down to the period of a single clock cycle.

    https://github.com/HyperDbg/hwdbg
    GitHub - HyperDbg/hwdbg: HyperDbg's chip-level hardware debugger

    HyperDbg's chip-level hardware debugger. Contribute to HyperDbg/hwdbg development by creating an account on GitHub.

  • @HughEverett ↶ Reply to #6140 #6141 04:09 PM, 19 Apr 2024
    None
  • @HughEverett ↶ Reply to #6140 #6142 04:09 PM, 19 Apr 2024
    If you've ever worked with HyperDbg, you probably know that everything in HyperDbg is treated as an event.

    This new debugger is designed to allow us to control the smallest unit in computers which is a clock cycle, so we can execute custom actions for each event (clock).
  • 20 April 2024 (10 messages)
  • @kishou_yusa #6143 03:21 AM, 20 Apr 2024
    Is there anyways to debug when a process with a specific name is created? I am not very experience with windows internal so maybe there is a way to hook a function when it is created?
  • @HughEverett ↶ Reply to #6143 #6144 04:50 AM, 20 Apr 2024
    You can hook NtCreateProcess (or NtCreateUserProcess) using the '!epthook' command and once you find the name of the process in the process exe path, pause the debugger before its creation. The script engine support strings comparison:

    https://docs.hyperdbg.org/commands/scripting-language/assumptions-and-evaluations
    Assumptions & Evaluations | HyperDbg Documentation

    Description of keywords, operators, pseudo-registers, number prefixes, and pre-defined functions

  • @HughEverett ↶ Reply to #6143 #6145 04:53 AM, 20 Apr 2024
    Another option is using the '!interrupt' command and monitor for each Crock interrupt. If HyperDbg finds a clock interrupt on your target process (you can use $pname pseudo-register to read and compare the process name) then it'll pause the debugger.
  • @kishou_yusa #6146 04:55 AM, 20 Apr 2024
    what is crock interrupt? do you have any document or reference so I can read about it?
  • @HughEverett ↶ Reply to #6146 #6147 05:04 AM, 20 Apr 2024
    Yes, please take a look at this video:
    https://youtu.be/UFLZC3bZ9eU?si=ctdbnEYMn0IL3DUF&t=331
    Dbg3301: HyperDbg 08 01 Faults Exceptions Interrupts

    View the full free MOOC at https://ost2.fyi/Dbg3301. This course is an introductory guide to HyperDbg debugger, guiding you through the initial steps of using HyperDbg, covering essential concepts, principles, debugging functionalities, along with practical examples and numerous reverse engineering methods that are unique to HyperDbg. Whether you have an interest in reverse engineering or seek to elevate your reverse engineering skills with hypervisor-assisted approaches, this course provides a solid foundation for starting your journey.

  • @kishou_yusa #6148 05:04 AM, 20 Apr 2024
    thanks
  • @HughEverett ↶ Reply to #6146 #6149 05:04 AM, 20 Apr 2024
    For more information, it uses this command:

    https://docs.hyperdbg.org/commands/extension-commands/interrupt
    !interrupt (hook external device interrupts) | HyperDbg Documentation

    Description of the '!interrupt' command in HyperDbg.

  • @116912658 #6150 11:49 AM, 20 Apr 2024
    Joined.
  • @aporacle #6151 07:22 PM, 20 Apr 2024
    Joined.
  • @lololfewfw #6152 09:28 PM, 20 Apr 2024
    Joined.
  • 22 April 2024 (4 messages)
  • @1906828983 #6153 03:31 PM, 22 Apr 2024
    I have a question: should hwdbg require the purchase of additional responsive hardware devices, if so it seems to be more costly relative to cpu-based virtualization debugging.
  • @prekvapko #6154 03:35 PM, 22 Apr 2024
    of course, what's the question?
  • @HughEverett ↶ Reply to #6153 #6155 04:11 PM, 22 Apr 2024
    hwdbg is for debugging hardware microchips, not Windows or Linux so it's completely different. It needs at least a ~1000$ worth of Xilinx FPGA.
  • @HughEverett ↶ Reply to #6153 #6156 04:15 PM, 22 Apr 2024
    If you don't have an FPGA, usually universities have a bunch of FPGA boards for digital design courses. You could borrow one from the university or ask a friend to do so on your behalf.
  • 24 April 2024 (1 messages)
  • @nj02019 #6157 01:18 AM, 24 Apr 2024
    Joined.
  • 25 April 2024 (2 messages)
  • @sghaseme #6159 06:32 PM, 25 Apr 2024
    Joined.
  • @5816388054 #6160 06:38 PM, 25 Apr 2024
    Joined.
  • 27 April 2024 (1 messages)
  • @2145249446 #6162 05:57 AM, 27 Apr 2024
    Joined.
  • 01 Apr 2024 (1)
  • 04 Apr 2024 (53)
  • 05 Apr 2024 (8)
  • 06 Apr 2024 (17)
  • 07 Apr 2024 (2)
  • 08 Apr 2024 (21)
  • 09 Apr 2024 (19)
  • 10 Apr 2024 (2)
  • 11 Apr 2024 (1)
  • 13 Apr 2024 (1)
  • 14 Apr 2024 (5)
  • 15 Apr 2024 (2)
  • 16 Apr 2024 (1)
  • 17 Apr 2024 (1)
  • 18 Apr 2024 (1)
  • 19 Apr 2024 (3)
  • 20 Apr 2024 (10)
  • 22 Apr 2024 (4)
  • 24 Apr 2024 (1)
  • 25 Apr 2024 (2)
  • 27 Apr 2024 (1)