@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 September 2024 (55 messages)
  • @instw0 #7774 07:09 AM, 01 Sep 2024
    is it possible to use a hypervisor to track exception handling in windows?
    For example:
    try{
    exception page fault
    }
    catch (err) {
    not debugger
    }.
    There is a tricky defense mechanism that causes a page error and is handled in the driver itself (Windbg does not see an exception)
  • @HughEverett ↶ Reply to #7774 #7775 08:51 AM, 01 Sep 2024
    Yes. You can use the !exception command combined with the event short circuiting mechanism.

    By default, if an exception/fault/interrupt happens in the system, HyperDbg re-injects it to the guest.

    You can decide whether you want it to be injected to the guest and be handled by Windows or drop it and ignore it by short circuiting it.

    Please check:
    https://docs.hyperdbg.org/tips-and-tricks/misc/event-short-circuiting
    Event short-circuiting | HyperDbg Documentation

    The event short-circuiting and ignoring mechanism in HyperDbg

  • @instw0 ↶ Reply to #7775 #7776 09:10 AM, 01 Sep 2024
    we don't need to ignore the exception, but we need to track where the handler of this exception is located (the code in catch).
  • @HughEverett ↶ Reply to #7776 #7777 09:12 AM, 01 Sep 2024
    So, you need to find the handler using a simple script using the same !exception command.
  • @instw0 ↶ Reply to #7777 #7778 09:15 AM, 01 Sep 2024
    Yes, that's right.... what should the script look like for !exception
  • @HughEverett ↶ Reply to #7778 #7779 09:17 AM, 01 Sep 2024
    I'm not sure how SEH works these days. A few years ago, it was like putting the address of SEH Handler in the stack but I'm not sure if it still works the same way.
  • @HughEverett ↶ Reply to #7778 #7780 09:18 AM, 01 Sep 2024
    You need to check how Microsoft implemented the SEH in newer Windows versions.
  • @instw0 ↶ Reply to #7780 #7781 09:50 AM, 01 Sep 2024
    I tried to put a breakpoint in windbg on the handler function in the idt table, but the system was hanging
  • @instw0 #7782 09:53 AM, 01 Sep 2024
    if I put a breakpoint through hyperdbg will I also get a hang?
  • @HughEverett ↶ Reply to #7781 #7783 10:19 AM, 01 Sep 2024
    This is also a unique aspect of HyperDbg. You cannot trace instructions in ISRs (IDT functions) in WinDbg but you can do it in HyperDbg. 🙂

    Make sure to use the instrumentation step-in instead of regular step-in.

    https://docs.hyperdbg.org/commands/debugging-commands/i
    i (instrumentation step-in) | HyperDbg Documentation

    Description of the 'i' command in HyperDbg.

  • @HughEverett ↶ Reply to #7782 #7784 10:19 AM, 01 Sep 2024
    Nope. It's possible in HyperDbg. But it's not possible in WinDbg.
  • @HughEverett #7785 10:22 AM, 01 Sep 2024
    But, there should be articles online that they already analyzed SEH. I think this way of analyzing SEH from IDT entries is so fundamental and time consuming. There should be better and easier ways for analyzing SEH. 🤔
  • @instw0 ↶ Reply to #7785 #7786 10:24 AM, 01 Sep 2024
    if we are talking about the driver, is there a VEH?
  • @HughEverett ↶ Reply to #7786 #7787 10:25 AM, 01 Sep 2024
    VEH?
  • @instw0 ↶ Reply to #7787 #7788 10:26 AM, 01 Sep 2024
    vector exception handling in 64 windows
  • @HughEverett ↶ Reply to #7788 #7789 10:31 AM, 01 Sep 2024
    Unfortunately, I'm not familiar with it.
  • @instw0 ↶ Reply to #7784 #7790 10:32 AM, 01 Sep 2024
    so you can use hyperdbg to analyze the entire chain?
  • @HughEverett ↶ Reply to #7790 #7791 10:32 AM, 01 Sep 2024
    Yes. But you need to use the 'i' command instead of 't'.
  • @instw0 ↶ Reply to #7791 #7792 01:23 PM, 01 Sep 2024
    tell me please how to correctly create a script for !exception to stop at KiDispatchException
  • @instw0 #7793 02:48 PM, 01 Sep 2024
    I tried to use epthook on KiDispatchException - BSOD
  • @HughEverett ↶ Reply to #7793 #7794 03:02 PM, 01 Sep 2024
    Can you send your script here? What's the reason for BSOD?
  • @instw0 ↶ Reply to #7794 #7795 03:05 PM, 01 Sep 2024
    I haven't used the script yet. I just put it on !epthook on KiDispatchException
  • @HughEverett ↶ Reply to #7795 #7796 03:15 PM, 01 Sep 2024
    Use a simple script like a simple logging printf and if it crashes the system, send us the WinDbg's analyze -v results.
  • @instw0 ↶ Reply to #7796 #7797 03:18 PM, 01 Sep 2024
    something like this !epthook script {printf (@rip)}?
  • @HughEverett ↶ Reply to #7797 #7798 03:22 PM, 01 Sep 2024
    Yes.
  • @395437265 #7799 05:50 PM, 01 Sep 2024
    @HughEverett can i access code safe buffer from script somehow?

    im trying

    !monitor x 00d6d049 l 2 buffer 10 asm code {mov byte ptr ds:[rcx], 20} script {
    printf("%x \n",dq(rcx));
    }

    but getting

    (20:50:24.230 - core : 1 - vmx-root? yes) [+] Information (DebuggerPerformRunScript:1730) | err, ScriptEngineExecute, function = FUNC_DQ
  • @HughEverett ↶ Reply to #7799 #7800 06:03 PM, 01 Sep 2024
    Safe buffer pointer is available at the '$buffer' pseudo-register.
  • @HughEverett #7801 06:03 PM, 01 Sep 2024

    photo_2024-09-01_18-03-26.jpg
  • @HughEverett ↶ Reply to #7799 #7802 06:05 PM, 01 Sep 2024
    You're trying to dereference an invalid address (in this case @rcx). That's why you see that error.
  • @395437265 #7803 06:06 PM, 01 Sep 2024
    damn... again i didnt RTFM :D
  • @395437265 #7804 06:06 PM, 01 Sep 2024
    thanks
  • @instw0 ↶ Reply to #7798 #7805 06:11 PM, 01 Sep 2024
    Снимок экрана 2024-09-01 210556.png
  • @instw0 #7806 06:11 PM, 01 Sep 2024
    Снимок экрана 2024-09-01 210515.png
  • @instw0 #7807 06:11 PM, 01 Sep 2024
    Снимок экрана 2024-09-01 210954.png
  • @395437265 #7808 06:21 PM, 01 Sep 2024
    @HughEverett

    hmm

    !monitor x 00d6d049 l 2 buffer 10 asm code {mov byte ptr ds:[rcx], 20} script {
    printf("TRIGGER %x\n",db($buffer));
    }

    it prints 0 for some reason,,
  • @395437265 #7809 06:22 PM, 01 Sep 2024
    You can use the buffer which is available in rcx. <— from docs
  • @HughEverett ↶ Reply to #7807 #7811 07:30 PM, 01 Sep 2024
    That's weird. Will it happen if you don't use (test trap off)? I mean just using the !epthook will crash it?
  • @HughEverett ↶ Reply to #7808 #7812 07:31 PM, 01 Sep 2024
    That's an error for sure. Could you please open an issue for it on GitHub?
  • @instw0 ↶ Reply to #7811 #7813 07:31 PM, 01 Sep 2024
    test trap off or enabled.... BSOD
  • @HughEverett ↶ Reply to #7812 #7814 07:31 PM, 01 Sep 2024
    Right now, I'm on a trip. I'll fix them all hopefully next week.
  • @instw0 #7815 07:31 PM, 01 Sep 2024
    address KiDispatchException function
  • @HughEverett ↶ Reply to #7815 #7816 07:35 PM, 01 Sep 2024
    Is it hooked in a normal system? I mean is there any anti-debugging/cheating software working on the target system?
  • @HughEverett #7817 07:35 PM, 01 Sep 2024
    I ask it because it seems that people had the same problem for this function:
    https://www.unknowncheats.me/forum/anti-cheat-bypass/620722-hooking-kidispatchexception-help.html
    Hooking KiDispatchException Need help

    hi guys ! I hooked the KiDispatchException using ept . I use here to intercept kernel access exceptions. My goal is to make a safe copy function that

  • @instw0 ↶ Reply to #7816 #7818 07:36 PM, 01 Sep 2024
    system work normal mode
  • @HughEverett ↶ Reply to #7815 #7819 07:36 PM, 01 Sep 2024
    Other than that, can you test the same script (don't use @rip. Show @rcx instead) using !epthook2 command?
  • @instw0 ↶ Reply to #7819 #7820 07:37 PM, 01 Sep 2024
    one minute
  • @instw0 ↶ Reply to #7819 #7821 07:39 PM, 01 Sep 2024
    i use hyperdbg with trap flag in cpuid
  • @instw0 ↶ Reply to #7819 #7822 07:47 PM, 01 Sep 2024
    Снимок экрана 2024-09-01 224658.png
  • @instw0 #7823 07:47 PM, 01 Sep 2024
    immediately after installing the hook
  • @395437265 ↶ Reply to #7812 #7824 07:49 PM, 01 Sep 2024
    sure
  • @HughEverett ↶ Reply to #7822 #7825 07:55 PM, 01 Sep 2024
    That's weird. Something irregular is happening to this function. Maybe it's an immediate patchguard check. I have to inspect it. Please create a GitHub issue for it, so we can investigate and fix it.
  • @instw0 ↶ Reply to #7825 #7826 07:57 PM, 01 Sep 2024
    os windows 10 - vmware 17
  • @AestroFidelium #7827 08:32 PM, 01 Sep 2024
    Joined.
  • @395437265 #7828 09:39 PM, 01 Sep 2024
    @HughEverett https://github.com/HyperDbg/HyperDbg/issues/471
    Buffer not accessible in script · Issue #471 · HyperDbg/HyperDbg

    .start path C:\dbg\getch.exe g !monitor x 00007ff730371016 l 8 buffer 10 asm code {mov byte ptr ds:[rcx], 20; ret;} script { printf("TRIGGER %x\n",db($buffer)); } type any letter and pres...

  • @HughEverett ↶ Reply to #7828 #7829 10:07 PM, 01 Sep 2024
    Thanks
  • 03 September 2024 (11 messages)
  • @HyperDbgBot #7830 b o t 02:08 AM, 03 Sep 2024
    [discord] <oi_its_me> I'm getting build errors even after installing the latest WDK, SDK, and VS2022

    ```
    Severity Code Description Project File Line Suppression State Details
    Error MSB8020 The build tools for WindowsKernelModeDriver10.0 (Platform Toolset = 'WindowsKernelModeDriver10.0') cannot be found. To build using the WindowsKernelModeDriver10.0 build tools, please install WindowsKernelModeDriver10.0 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". hyperlog C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets 456
    ```

    Any thoughts? I understand that it''s saying that I need WDK 10.0, but I have it installed.
  • @HyperDbgBot #7831 b o t 02:12 AM, 03 Sep 2024
    [discord] <oi_its_me> Installed everything from here: https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk
    Download the Windows Driver Kit (WDK) - Windows drivers

    Download instructions for the latest released version of the Windows Driver Kit (WDK)

  • @HyperDbgBot #7832 b o t 02:30 AM, 03 Sep 2024
    [discord] <oi_its_me> I'm getting ```Severity Code Description Project File Line Suppression State Details
    Error C1083 Cannot open include file: 'SDK/Imports/HyperDbgHyperLogImports.h': No such file or directory hyperdbg_driver C:\Users\me\Desktop\HyperDbg\hyperdbg\include\SDK\Examples\hyperdbg_driver\header\pch.h 58 ``` and similar errors.
  • @HyperDbgBot #7833 b o t 02:38 AM, 03 Sep 2024
    [discord] <oi_its_me> I have the compiled executable, I was wondering if I should worry about the rror?
  • @HyperDbgBot #7834 b o t 04:32 AM, 03 Sep 2024
    [discord] <oi_its_me> I'm pretty sure I'm okay.
  • @HyperDbgBot #7835 b o t 06:18 AM, 03 Sep 2024
    [discord] <oi_its_me> Last question: when following “Disable DSE by Attaching WinDbg”, it states

    > and no need for WinDbg anymore.

    Is this persistent across restarts? If I shut down my host VM and target VM, I still don’t have to repeat the WinDbg step? I could restart my VM or HyperDbg without doing this step?
  • @instw0 #7836 04:20 PM, 03 Sep 2024
    Guys, there is such a question... can the driver cause an exception(example pagefault) that doesn't come in windbg?(I understood that the driver causes exceptions using hyperdbg)
  • @HughEverett ↶ Reply to #7830 #7837 09:20 PM, 03 Sep 2024
    Hey!
    Is it only for HyperDbg? Could you compile other random drivers? Are you sure you clone HyperDbg with --recursive flag?
  • @HughEverett ↶ Reply to #7835 #7838 09:21 PM, 03 Sep 2024
    Each time you need to open WinDbg if you restart. If you need a persistent method, you need to use EfiGuard:
    https://github.com/Mattiwatti/EfiGuard
    GitHub - Mattiwatti/EfiGuard: Disable PatchGuard and Driver Signature Enforcement at boot time

    Disable PatchGuard and Driver Signature Enforcement at boot time - Mattiwatti/EfiGuard

  • @HughEverett ↶ Reply to #7836 #7839 09:23 PM, 03 Sep 2024
    If a page-fault relates to the inner working of the operating system (e.g., for bringing a page into the memory), then WinDbg won't intercept it. You can still use HyperDbg's !exception command, it intercepts all exceptions/faults/interrupts.
  • @HughEverett ↶ Reply to #7836 #7840 09:24 PM, 03 Sep 2024
    If a driver handled the exception in a SEH try...catch, still WinDbg won't intercept it, but again HyperDbg intercepts it as it gets the events from the hypervisor before the operating system.
  • 04 September 2024 (8 messages)
  • @instw0 ↶ Reply to #7840 #7841 05:04 AM, 04 Sep 2024
    there is a kernel driver with a protection mechanism. It calls 20-30 consecutive exceptions(page fault) through the for loop. the latest version of hyperdbg(v1.0) does not catch them (apparently does not have time), and the driver itself writes "failed to connect the device"
  • @zuypt #7842 08:42 AM, 04 Sep 2024
    hi is there anyway I can check the current process name in the scripting language. Last time I check I don't know how to do string compare with $pname
  • @HughEverett ↶ Reply to #7842 #7843 02:57 PM, 04 Sep 2024
    Yes. There is a strcmp and strncmp function in the script engine, please check:

    https://docs.hyperdbg.org/commands/scripting-language/functions/strings/strcmp
    strcmp | HyperDbg Documentation

    Description of the 'strcmp' function in HyperDbg Scripts

  • @HughEverett ↶ Reply to #7842 #7844 02:58 PM, 04 Sep 2024
    Other than that, don't forget that $pname is 16 byte long container. So, some parts of the process name might not be included.
  • @HughEverett ↶ Reply to #7841 #7845 03:00 PM, 04 Sep 2024
    No, that's not possible. HyperDbg gets the #PFs directly from CPU. If !exception didn't show any results, then no page-fault happens. Can you show what script you used for detecting page-faults?
  • @HyperDbgBot #7846 b o t 04:05 PM, 04 Sep 2024
    [discord] <oi_its_me> I’m sure! Sorry for the late response. Ive definitely built recursively. I’ll try again when I get home.
  • @instw0 ↶ Reply to #7845 #7847 08:56 PM, 04 Sep 2024
    !exception script {if (@rip > .my_variable-B17F0 && @rip < .my_variable+8AA810 ) {printf("EXCEPTION :\n RAX:%p\n RBX:%p\n RCX:%p\n RDX:%p\n RIP:%p\n CONTEXT:%p\n", @rax, @rbx, @rcx, @rdx, @rip, $context);} }
  • @HughEverett ↶ Reply to #7847 #7848 10:30 PM, 04 Sep 2024
    It's kinda not reasonable to intercept all exceptions even though it's possible. (it's also mentioned in the documentation). Have you tried to intercept only page-faults?

    Sth like (0xe which is for page-fault is added):

    !exception 0xe script {if (@rip > .my_variable-B17F0 && @rip < .my_variable+8AA810 ) {printf("EXCEPTION :\n RAX:%p\n RBX:%p\n RCX:%p\n RDX:%p\n RIP:%p\n CONTEXT:%p\n", @rax, @rbx, @rcx, @rdx, @rip, $context);} }
  • 05 September 2024 (32 messages)
  • @instw0 ↶ Reply to #7848 #7849 03:45 AM, 05 Sep 2024
    in the analysis, I would like to know which exceptions are used in general...🙄
  • @HughEverett ↶ Reply to #7849 #7851 11:57 AM, 05 Sep 2024
    That's probably not a good idea.
  • @HughEverett ↶ Reply to #7808 #7852 12:37 PM, 05 Sep 2024
    Eduard I went through the code and it seems that we create a custom buffer for each ACTION, not each EVENT.

    photo_2024-09-05_12-37-43.jpg
  • @HughEverett #7853 12:38 PM, 05 Sep 2024
    Which basically means both the assembly code and the script has their own independent free buffer.
  • @395437265 #7854 12:38 PM, 05 Sep 2024
    So it's not possible to access each other's buffer, right?
  • @HughEverett #7855 12:39 PM, 05 Sep 2024
    Not sure if it's a good idea to make it event specific instead of action specific.
  • @HughEverett ↶ Reply to #7854 #7856 12:39 PM, 05 Sep 2024
    Yes, the buffers are at different addresses.
  • @395437265 #7857 12:40 PM, 05 Sep 2024
    And there's no way to pass action buffer address to script via register?
  • @395437265 #7858 12:40 PM, 05 Sep 2024
    I saw that structure with guest registers, but not completely sure how they work
  • @HughEverett #7859 12:41 PM, 05 Sep 2024
    I think it's better to wait for the assembly code to be ready in the script engine instead of changing the design. Because having an independent buffer seems to be a more reasonable option. 🤔
  • @HughEverett ↶ Reply to #7857 #7860 12:41 PM, 05 Sep 2024
    The registers structure is shared.
  • @HughEverett #7861 12:42 PM, 05 Sep 2024
    I mean this one:
  • @HughEverett #7862 12:42 PM, 05 Sep 2024

    photo_2024-09-05_12-42-32.jpg
  • @HughEverett #7863 12:43 PM, 05 Sep 2024
    So, basically if you change anything here it changes on both the script and the assembly code.
  • @HughEverett #7864 12:44 PM, 05 Sep 2024
    But that seems not to be the best option as we need to somehow modify registers and save them somewhere. 🤔
  • @HughEverett ↶ Reply to #7739 #7865 12:56 PM, 05 Sep 2024
    Regarding this issue:
    https://github.com/HyperDbg/HyperDbg/issues/469

    It seems that the routines for validating whether a physical address is correct or not correct is not working properly.

    Here is how we check whether a physical address is valid or not valid:
    https://github.com/HyperDbg/HyperDbg/blob/ceca0ae762b09ec9a8d55c94fcd62332e3657e04/hyperdbg/hyperhv/code/memory/AddressCheck.c#L120

    But it seems to be not correct for the MMIO addresses. @honorary_bot do you have an idea for this. 🤔
    Invalid Physical Address Error in !monitor · Issue #469 · HyperDbg/HyperDbg

    Describe the bug The address 7FFDDF8000 is a valid MMIO address, but when using!monitor, it returns the error: err, invalid physical address (c0000052)`. Screenshots OS: [Win11 23H2 22631.4037] Pro...

  • @honorary_bot ↶ Reply to #7865 #7866 12:58 PM, 05 Sep 2024
    I wonder what you mean by valid or not valid physical address? The whole system address space is accessible, limited only y the CPU physical address width.
  • @honorary_bot #7867 12:59 PM, 05 Sep 2024
    I see, you're just checking it's not beyond max addressable phys address
  • @honorary_bot #7868 01:03 PM, 05 Sep 2024
    I would ask where 7FFDDF8000 comes from. Since it's just checked against cpuid physaddr bits and fails.
  • @honorary_bot ↶ Reply to #7868 #7869 01:08 PM, 05 Sep 2024
    Though I just checked my 13th gen, it has 39 phys bits, so 7FFDDF8000 fits
  • @honorary_bot #7870 01:15 PM, 05 Sep 2024
    The easiest thing to do is probably log EventDetails->Options.OptionalParam1 and EventDetails->Options.OptionalParam2 params, since it's hard to track the code on github on a phone :)
  • @HughEverett ↶ Reply to #7869 #7871 01:35 PM, 05 Sep 2024
    For me it also has 39 bits. I wrote a program to check it and it seems our checking function fails here.

    photo_2024-09-05_13-35-56.jpg
  • @HughEverett ↶ Reply to #7869 #7872 01:36 PM, 05 Sep 2024
    You're right it fits within 39 bits. It seems that we computed and compared it against a signed value.
  • @HughEverett #7873 01:37 PM, 05 Sep 2024
    And as basically a physical address is considered as an unsigned value. Just we need such a change in our code:

    photo_2024-09-05_13-37-45.jpg
  • @honorary_bot #7874 01:38 PM, 05 Sep 2024
    why is it addrwidth - 1 ?
  • @HughEverett ↶ Reply to #7874 #7875 01:39 PM, 05 Sep 2024
    Yes, that's the problem. You catch it correctly.
  • @honorary_bot #7876 01:39 PM, 05 Sep 2024
    it should be just (1ull << physaddrwidth) - 1
  • @HughEverett ↶ Reply to #7876 #7877 01:39 PM, 05 Sep 2024
    Exactly
  • @395437265 ↶ Reply to #7864 #7878 02:01 PM, 05 Sep 2024
    ok, but what about returning value from action ? i think i found out something similar
  • @nekto_sen #7879 04:26 PM, 05 Sep 2024
    Joined.
  • @HughEverett ↶ Reply to #7822 #7880 09:54 PM, 05 Sep 2024
    I tried to reproduce the error but it works perfectly on my machine. Are you sure you're using the latest version from the 'dev' branch?

    photo_2024-09-05_21-54-57.jpg
  • @HughEverett ↶ Reply to #7823 #7881 09:55 PM, 05 Sep 2024
    works fine for me for more than 15 minutes, still without any error!
  • 06 September 2024 (3 messages)
  • @instw0 ↶ Reply to #7880 #7882 04:10 AM, 06 Sep 2024
    I'm using the master branch🤔. What's the difference?
  • @6528554577 #7883 03:43 PM, 06 Sep 2024
    Joined.
  • @HughEverett ↶ Reply to #7882 #7886 07:09 PM, 06 Sep 2024
    The 'dev' branch is always a candidate for the next release and contains all of the updates (fixed issues).
  • 08 September 2024 (11 messages)
  • @aa7788_bb #7887 08:44 AM, 08 Sep 2024
    Joined.
  • @Virtual1230 #7888 01:36 PM, 08 Sep 2024
    Joined.
  • @HyperDbgChannel #7890 01:47 PM, 08 Sep 2024
    It's been a while since HyperDbg's first release, and we realized our initial assumptions for the command parser won’t fully meet new demands. After redesigning and extensive testing, HyperDbg v0.10.1 now comes with a brand-new parser! 💫😼

    Check it out:
    https://github.com/HyperDbg/HyperDbg/releases/tag/v0.10.1
    Release v0.10.1 · HyperDbg/HyperDbg

    HyperDbg v0.10.1 is released! If you’re enjoying HyperDbg, don’t forget to give a star 🌟 on GitHub! Please visit Build & Install to configure the environment for running HyperDbg. Check out the...

  • @HyperDbgChannel #7891 01:49 PM, 08 Sep 2024
    Changelog
    ————————————

    ## [0.10.1.0] - 2024-09-08
    New release of the HyperDbg Debugger.

    ### Added
    - Added feature to pause the debuggee immediately upon connection
    - The '.debug' command now supports pausing the debuggee at startup
    - Export SDK API for assembling instructions
    - The 'struct' command now supports a path as output
    - Export SDK API closing connection to the remote debuggee
    - Automated tests for the main command parser
    - Export SDK APIs for stepping and tracing instructions
    - Export SDK APIs for tracking execution

    ### Changed
    - HyperDbg command-line comment sign is changed from '#' to C-like comments ('//' and '/**/')
    - Integrating a new command parser for the regular HyperDbg commands
    - Fix showing a list of active outputs using the 'output' command
    - Fix the issue of passing arguments to the '.start' command
    - Fix the problem with parsing multiple spaces within the events (#420)
    - Fix the problem with escaping '{' in the command parser (#421)
    - Fix nested brackets issues in the main command parser
    - Fix script engine bugs on order of passing arguments to functions (#453)
    - Fix the script test case for factorial computation
    - Fix the script test case for computation iterative Fibonacci
    - Fix miscomputation of physical address width for physical address validity checks (#469)
  • @HughEverett ↶ Reply to #7890 #7892 01:50 PM, 08 Sep 2024
    Many thanks to @Reverser69, @xmaple555, @S4l3H, and Behrooz for their valuable contributions that made this release possible.
  • @HyperDbgBot #7893 b o t 05:04 PM, 08 Sep 2024
    [discord] <oi_its_me> Just clarifying, it should be possible to run HyperDbg in a VM and debug a nested VM?
  • @HughEverett ↶ Reply to #7893 #7894 05:10 PM, 08 Sep 2024
    Do you mean running hyperdbg on a VM to debug the kernel of another VM?
  • @HyperDbgBot #7895 b o t 05:25 PM, 08 Sep 2024
    [discord] <oi_its_me> [reply]: Run HyperDbg within a VM and then have VMware within that VM (the nested VM). And then use HyperDbg to debug the nested VM.
  • @HughEverett ↶ Reply to #7895 #7896 06:12 PM, 08 Sep 2024
    As long as HyperDbg has a serial connection and a virtualization environment (like VMX in a physical machine or a nested VMX), then it could be used. Please refer to:

    https://docs.hyperdbg.org/getting-started/attach-to-hyperdbg/debug#vmware-workstation-two-vms
    Attach to a remote machine | HyperDbg Documentation

    Remote debugging in VMI Mode and Debugger Mode

  • @Petrichor10086 #7897 08:13 PM, 08 Sep 2024
    Joined.
  • @HyperDbgBot #7898 b o t 11:26 PM, 08 Sep 2024
    [discord] <oi_its_me> Yep, I've tried following that:
    ```
    HyperDbg> .debug remote namedpipe \\.\pipe\HyperDbgPipe
    err, occurred while connecting to the server (2)
    is the virtual machine running?
    ```
    and I see `windbg` is connect
    ```
    Connected to target 169.254.3.39 on port 50000 on local IP 192.168.1.155.
    You can get the target MAC address by running .kdtargetmac command.
    Connected to Windows 10 19041 x64 target at (Sun Sep 8 16:21:04.859 2024 (UTC - 7:00)), ptr64 TRUE
    Kernel Debugger connection established.
    Symbol search path is: srv*
    Executable search path is:
    Windows 10 Kernel Version 19041 MP (1 procs) Free x64
    Edition build lab: 19041.1.amd64fre.vb_release.191206-1406
    Kernel base = 0xfffff801`7f402000 PsLoadedModuleList = 0xfffff801`8002c2b0
    System Uptime: 0 days 0:00:58.558
    ```
    I have the serial port set
    ```
    \\.\pipe\HyperDbgDebug
    ```
    And still get the error. Thoughts? I'm even able to ping the nested machine. I conect to the nested VM with the `windbg` command:

    ```
    windbg -k net:port=50000,key=3hub72ixqtoq5.xitddgwo0m9c.2ggyaam1f8y1m.yiz0pebmf0ah
    ```
  • 09 September 2024 (1 messages)
  • @instw0 #7899 06:29 PM, 09 Sep 2024
    how disabled exception int1?
  • 10 September 2024 (47 messages)
  • @instw0 #7901 05:50 AM, 10 Sep 2024
    there is a protective mechanism that detects !exception. how can this be in the -1 ring?
  • @HughEverett ↶ Reply to #7898 #7902 10:35 AM, 10 Sep 2024
    That's not a big deal. If you could not use kdnet to disable DSE or PatchGuard, you could still use HyperDbg either by configuring EfiGuard, or disabling DSE from the boot menu.

    Please see this video for more information : https://www.youtube.com/watch?v=MDZ9zYfqo50&ab_channel=OpenSecurityTraining2
    Dbg3301: HyperDbg 02 04 HyperDbg Lab Setup

    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.

  • @HughEverett ↶ Reply to #7899 #7903 10:36 AM, 10 Sep 2024
    Disable passing #DBs to the target debuggee?
  • @HughEverett ↶ Reply to #7901 #7904 10:37 AM, 10 Sep 2024
    Not sure if I understand what you mean.
  • @instw0 ↶ Reply to #7903 #7905 11:18 AM, 10 Sep 2024
    yes
  • @instw0 ↶ Reply to #7904 #7906 11:22 AM, 10 Sep 2024
    There is a defense mechanism. He somehow very cunningly detects the interception of exceptions in hyperdbg (!exception). How can this be? the driver is on ring 0, the hypervisor is running on -1
  • @6152749020 #7908 01:47 PM, 10 Sep 2024
    Does local work without windbg on just VBS has to be disabled ? Or do you still need to have Windbg connected via pipe even if your debugging local ?
  • @mReol #7909 06:23 PM, 10 Sep 2024
    Joined.
  • @HughEverett ↶ Reply to #7905 #7910 07:19 PM, 10 Sep 2024
    You can decide whether you want to pass or block the #DB using the short-circuiting mechanism (event_sc).
  • @HughEverett ↶ Reply to #7906 #7911 07:21 PM, 10 Sep 2024
    For HyperDbg being in kernel mode or user mode is not important, based on the condition that you have (like whether you want to block or not to block e.g., by checking registers), you can either pass or not pass #DBs.
  • @HughEverett ↶ Reply to #7908 #7912 07:22 PM, 10 Sep 2024
    VBS needs to be disabled, but if you can bypass Driver Signature Enforcement, you don't need WinDbg.
  • @HughEverett ↶ Reply to #7908 #7913 07:23 PM, 10 Sep 2024
    For example, you can disable DSE from the boot menu (windbg is not needed), or even better you can use EfiGuard (again windbg is not needed)
  • @6152749020 #7914 07:24 PM, 10 Sep 2024
    I want to able to reverse a crack using hyperdbg because it see's everything i throw at it so far.
  • @HughEverett ↶ Reply to #7913 #7915 07:24 PM, 10 Sep 2024
    WinDbg is one of the ways you might want to use to disable DSE. Once HyperDbg is loaded, you could disconnected windbg.
  • @HughEverett ↶ Reply to #7914 #7916 07:25 PM, 10 Sep 2024
    Didn't understand. 🤔
    What does it see?
  • @6152749020 #7917 07:26 PM, 10 Sep 2024
    My debugger , procmon, other debugging monitors , api monitor and so on
  • @6152749020 #7918 07:26 PM, 10 Sep 2024
    was hoping to use a VM with hyperdbg and use !measure to hide .. hopefully
  • @HughEverett ↶ Reply to #7918 #7919 07:27 PM, 10 Sep 2024
    The !measure is for anti hypervisor
  • @HughEverett #7920 07:27 PM, 10 Sep 2024
    It might also not work as expected as we didn't test it for years.
  • @6152749020 #7921 07:28 PM, 10 Sep 2024
    lol noooo .. ok
  • @6152749020 #7922 07:28 PM, 10 Sep 2024
    so is kernel debugging the only way I can reverse this crack on vmware ?
  • @HughEverett ↶ Reply to #7920 #7923 07:28 PM, 10 Sep 2024
    But generally, using HyperDbg is considered stealthier as HyperDbg doesn't use any debugging api compare to other classic debuggers.
  • @HughEverett ↶ Reply to #7922 #7924 07:29 PM, 10 Sep 2024
    It depends, if you to step through the instructions and put breakpoints, yes you need VMware.
  • @HughEverett #7925 07:30 PM, 10 Sep 2024
    If you want to use HyperDbg as a VMI tool, then you can both use HyperDbg in the VMware or without VMware in a physical machine.
  • @6152749020 #7926 07:32 PM, 10 Sep 2024
    yeah I need to step through
  • @6152749020 #7927 07:33 PM, 10 Sep 2024
    I just can't get user debugging to work
  • @6152749020 #7928 07:34 PM, 10 Sep 2024
    Kernel works just fine , just pauses the entire VM though
  • @HughEverett ↶ Reply to #7928 #7929 07:35 PM, 10 Sep 2024
    In the Debugger Mode (VMware), HyperDbg doesn't care whether you are debugging user mode or kernel mode, all of them are treated the same.
  • @HughEverett ↶ Reply to #7928 #7930 07:36 PM, 10 Sep 2024
    Like you could debug a user mode app, exactly the same as you debug the kernel.
  • @HughEverett #7931 07:36 PM, 10 Sep 2024
    E.g., You can run a process using the '.start' command.
  • @6152749020 #7932 07:38 PM, 10 Sep 2024
    Ok , so use kdnet.exe on the VM get the host ip address and pick a port, then run the windbg on the host, restart VM, open up hyperdbg-cli and connect via named pipe on the host, go the VM and connect via .debug serial .. right ?
  • @6152749020 #7933 07:39 PM, 10 Sep 2024
    then open up another hyperdbg-cli and use .start <path_to_exe> or attach PID
  • @HughEverett ↶ Reply to #7932 #7934 07:39 PM, 10 Sep 2024
    Yes. You can see this video too:
    https://www.youtube.com/watch?v=MDZ9zYfqo50&ab_channel=OpenSecurityTraining2
    Dbg3301: HyperDbg 02 04 HyperDbg Lab Setup

    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.

  • @HughEverett ↶ Reply to #7933 #7935 07:40 PM, 10 Sep 2024
    👍
  • @6152749020 #7936 07:40 PM, 10 Sep 2024
    yeah I'm in the middle of the training , when I have I want to finish it.
  • @6152749020 #7937 07:41 PM, 10 Sep 2024
    Thanks Sina , appreciate your time
  • @6152749020 #7938 08:46 PM, 10 Sep 2024

    photo_2024-09-10_20-46-17.jpg
  • @6152749020 #7939 08:46 PM, 10 Sep 2024
    Hmm hyperdbg doesn’t see my vm anymore.
  • @HughEverett ↶ Reply to #7939 #7940 08:52 PM, 10 Sep 2024
    Did you run HyperDbg in the VM?
  • @6152749020 #7941 08:54 PM, 10 Sep 2024
    no just the host right now
  • @HughEverett ↶ Reply to #7941 #7942 08:57 PM, 10 Sep 2024
    Is the named pipe (serial) added to the VM?
  • @6152749020 #7943 08:58 PM, 10 Sep 2024

    photo_2024-09-10_20-58-05.jpg
  • @6152749020 #7944 08:58 PM, 10 Sep 2024
    Yes
  • @HughEverett #7945 08:59 PM, 10 Sep 2024

    photo_2024-09-10_20-59-45.jpg
  • @HughEverett ↶ Reply to #7945 #7946 08:59 PM, 10 Sep 2024
    https://docs.hyperdbg.org/getting-started/attach-to-hyperdbg/debug
    Attach to a remote machine | HyperDbg Documentation

    Remote debugging in VMI Mode and Debugger Mode

  • @HughEverett #7947 09:00 PM, 10 Sep 2024
    Your configuration is wrong
  • @6152749020 #7948 09:00 PM, 10 Sep 2024
    oh , my bad
  • 11 September 2024 (4 messages)
  • @HyperDbgBot #7951 b o t 11:45 AM, 11 Sep 2024
    [discord] <ohault> Can you plz update https://docs.hyperdbg.org/getting-started/faq and homepage to specify what are the Windows versions currently supported ?
    FAQ | HyperDbg Documentation

    Frequently Asked Questions (FAQ)

  • @HughEverett ↶ Reply to #7951 #7952 05:35 PM, 11 Sep 2024
    Generally, HyperDbg supports all versions of Windows (in theory), because HyperDbg doesn't use any special functionality within Windows (most of the things are done by VT-x configurations). But, there might be some incompatibility issues with either SDK or WDK. It's not because HyperDbg doesn't support them, it's because of WDK.
  • @HyperDbgBot #7953 b o t 05:58 PM, 11 Sep 2024
    [discord] <ohault> [reply]: Also old versions of Windows like Windows XP or Windows Server 2003 ?
  • @HughEverett ↶ Reply to #7953 #7954 09:32 PM, 11 Sep 2024
    Theoretically, it should work, but I've never tested it, and a modern compiled version of HyperDbg likely won't run on that. However, with Windows 10 is about to be deprecated, why would anyone still use Windows XP 😕🫤
  • 12 September 2024 (5 messages)
  • @HyperDbgBot #7955 b o t 07:48 AM, 12 Sep 2024
    [discord] <ohault> [reply]: e.g. to debug a very specialised 30 years old industrial software developed by a company in bankruptcy that runs only on Windows XP Embedded
  • @xielgansz #7956 08:15 AM, 12 Sep 2024
    Joined.
  • @Rexwyn10 #7958 11:15 AM, 12 Sep 2024
    Joined.
  • @pingpingha #7959 11:23 AM, 12 Sep 2024
    Joined.
  • @instw0 #7960 05:08 PM, 12 Sep 2024
    in the case of the sc on parameter, the event does not occur?
  • 13 September 2024 (29 messages)
  • @634346522 #7961 04:14 AM, 13 Sep 2024
    Joined.
  • @634346522 #7962 05:44 AM, 13 Sep 2024
    你好 hyperdbg v0.9可以正常使用,可是 v0.10不能正常载入.."AI translation": Hello, HyperDBG version 0.9 can be used normally, but version 0.10 cannot be loaded properly.

    photo_2024-09-13_05-44-01.jpg
  • @634346522 #7963 05:44 AM, 13 Sep 2024
    Hello, HyperDBG version 0.9 can be used normally, but version 0.10 cannot be loaded properly.
  • @634346522 #7964 05:48 AM, 13 Sep 2024
    If I return at the line DriverObject->MajorFunction[IRP_MJ_CLOSE] = DrvClose;, the driver executes normally; otherwise, it throws an error: (2) The system cannot find the file specified.

    photo_2024-09-13_05-48-30.jpg
  • @634346522 #7965 05:49 AM, 13 Sep 2024
    my cpu

    photo_2024-09-13_05-49-41.jpg
  • @634346522 #7966 09:44 AM, 13 Sep 2024
    我重新测试,发现我错了,v0.10 不工作,v0.9不工作, v0.5工作
    I retested and found out I was wrong; v0.10 does not work, v0.9 does not work, v0.5 is work.
  • @HughEverett ↶ Reply to #7955 #7967 10:59 AM, 13 Sep 2024
    Usually, these programs can be debugged using old Win XP debuggers.
  • @HughEverett ↶ Reply to #7960 #7968 11:00 AM, 13 Sep 2024
    The event will occur but HyperDbg either handle them in the VMX-root mode, sometimes inject them to the target guest debuggee, or completely ignore them as if the event never happens. It depends on the specific event.
  • @HughEverett #7969 11:01 AM, 13 Sep 2024
    For example, the short-circuiting in the exception command will completely ignore the event as it won't inject it into the OS/APP. So the operating system will not have any idea of such an event even happening.
  • @HughEverett ↶ Reply to #7966 #7970 11:07 AM, 13 Sep 2024
    What about HyperDbg v0.6? Can you tell me exactly which version it stopped working from? I want to check the changelog to see what major changes were introduced in that version, as they might be causing these errors.
  • @HughEverett ↶ Reply to #7965 #7971 11:24 AM, 13 Sep 2024
    Anyway, this processor is very old!!!
    It's a Haswell 2013 (4 Gen) processor. I don't really expecting it to work.

    https://www.intel.com/content/www/us/en/products/sku/75054/intel-xeon-processor-e31230-v3-8m-cache-3-30-ghz/specifications.html

    photo_2024-09-13_11-24-16.jpg
  • @honorary_bot ↶ Reply to #7971 #7972 11:32 AM, 13 Sep 2024
    Why are you calling Haswell old? :)
  • @honorary_bot #7973 11:32 AM, 13 Sep 2024
    Old for what?
  • @HughEverett ↶ Reply to #7972 #7974 11:33 AM, 13 Sep 2024
    This is an old processor, 4th generation.
  • @HughEverett #7975 11:33 AM, 13 Sep 2024
    Not even Win 11 support it.
  • @honorary_bot #7976 11:33 AM, 13 Sep 2024
    But what’s the problem with the hypervisor?
  • @HughEverett #7977 11:34 AM, 13 Sep 2024
    It doesn't support some of the features of HyperDbg.
  • @honorary_bot #7978 11:34 AM, 13 Sep 2024
    I’m just saying it’s not too different in terms of vmx features
  • @honorary_bot ↶ Reply to #7977 #7979 11:34 AM, 13 Sep 2024
    Which ones?
  • @HughEverett #7980 11:35 AM, 13 Sep 2024
    Like we need a post kaby lake (7 gen) processor for our Mode Based Exec Controls (MBEC).
  • @honorary_bot #7981 11:35 AM, 13 Sep 2024
    Does your hypervisor require that or you’re talking about windows?
  • @HughEverett #7982 11:35 AM, 13 Sep 2024
    The hypervisor wants it
  • @honorary_bot #7983 11:35 AM, 13 Sep 2024
    Interesting, ok
  • @HughEverett #7984 11:36 AM, 13 Sep 2024
    We used this feature a lot in a couple of main functionalities of HyperDbg.
  • @634346522 #7985 01:50 PM, 13 Sep 2024
    v0.6 is not working. v0.5 is work,,How can I obtain the error log? Use DbgView?"
  • @634346522 #7986 02:58 PM, 13 Sep 2024

    photo_2024-09-13_14-58-18.jpg
  • @634346522 #7987 02:58 PM, 13 Sep 2024
    -----------------------------------------------------
  • @634346522 #7988 02:58 PM, 13 Sep 2024

    photo_2024-09-13_14-58-25.jpg
  • @634346522 #7989 03:33 PM, 13 Sep 2024
    "Are these macro definitions correct?
    #define POOL_FLAG_NON_PAGED 0x0000000000000040UI64 // Non paged pool NX
    #define POOL_FLAG_USE_QUOTA 0x0000000000000001UI64 // Charge quota

    SDK 10.0.18362.0 does not have these macro definitions. I copied them from GitHub."
  • 14 September 2024 (4 messages)
  • @HughEverett ↶ Reply to #7989 #7990 10:08 AM, 14 Sep 2024
    Not sure why it's needed
  • @HughEverett ↶ Reply to #7985 #7991 10:09 AM, 14 Sep 2024
    I see. I suspect to this commit:

    https://github.com/HyperDbg/HyperDbg/commit/bf6370d5a3d35bb7aeb16ce0d45fd77fda7bcca0
    Fixed building mtrr map by adding smrr, fixed ranges, and default mem… · HyperDbg/HyperDbg@bf6370d

    …ory type

  • @HughEverett ↶ Reply to #7991 #7992 10:09 AM, 14 Sep 2024
    Can you check before and after this commit?
  • @HughEverett #7993 10:10 AM, 14 Sep 2024
    I think this commit might be the one that breaks the support for your processor (within v0.5 to v0.6).
  • 15 September 2024 (11 messages)
  • @634346522 #7994 04:30 PM, 15 Sep 2024
    你好,我可能知道是什么原因了,应该是引入了旧版windows不兼容的api导致的,,我在40c9f5a没有编译错误,在16ab766出现编译错误,我关闭了Visual Studio 2022->hyperkd Property Page->ApiValidator->Run ApiValidator之后可以编译,但是windows1903拒绝加载它
  • @634346522 #7995 04:30 PM, 15 Sep 2024
    Hello, I might know what the reason is. It seems that an API that is not compatible with older versions of Windows was introduced. I don't have compilation errors at commit 40c9f5a, but I encounter compilation errors at commit 16ab766. After I turned off the "Run ApiValidator" option in Visual Studio 2022 under the hyperkd Property Page -> ApiValidator, I was able to compile, but Windows 1903 refuses to load it.
  • @634346522 #7996 04:31 PM, 15 Sep 2024

    photo_2024-09-15_16-31-03.jpg
  • @634346522 #7997 04:31 PM, 15 Sep 2024

    photo_2024-09-15_16-31-13.jpg
  • @634346522 #7998 04:31 PM, 15 Sep 2024

    photo_2024-09-15_16-31-20.jpg
  • @634346522 #7999 04:32 PM, 15 Sep 2024

    photo_2024-09-15_16-32-51.jpg
  • @634346522 #8000 04:32 PM, 15 Sep 2024
    https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/validating-windows-drivers
    Validating Windows Drivers - Windows drivers

    Various tools to use to validate that your driver package is compliant with the Windows Drivers rules.

  • @634346522 #8001 04:36 PM, 15 Sep 2024
    vs version

    photo_2024-09-15_16-36-02.jpg
  • @634346522 #8002 04:36 PM, 15 Sep 2024

    photo_2024-09-15_16-36-04.jpg
  • @634346522 #8003 04:37 PM, 15 Sep 2024
    40c9f5a is working
  • @634346522 #8004 04:37 PM, 15 Sep 2024
    16db766 is no working
  • 16 September 2024 (1 messages)
  • @kutaskozla3 #8005 08:05 PM, 16 Sep 2024
    Joined.
  • 17 September 2024 (4 messages)
  • @HughEverett ↶ Reply to #8003 #8006 02:28 PM, 17 Sep 2024
    Nothing special changed in this commit, it's just bringing all allocation functions into a unified function. 🤔
  • @xmaple555 ↶ Reply to #8004 #8007 02:44 PM, 17 Sep 2024
    I guess the problem from ExAllocatePool
  • @xmaple555 #8008 02:44 PM, 17 Sep 2024
    https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/updating-deprecated-exallocatepool-calls
    Updating Deprecated ExAllocatePool Calls to ExAllocatePool2 and ExAllocatePool3 - Windows drivers

    Learn about Updating deprecated ExAllocatePool calls to ExAllocatePool2 and ExAllocatePool3

  • @xmaple555 #8009 02:44 PM, 17 Sep 2024
    for old WDK version, you can try to replace ExAllocatePool2 to ExAllocatePool
  • 18 September 2024 (1 messages)
  • @872223321 #8010 10:02 AM, 18 Sep 2024
    Joined.
  • 21 September 2024 (6 messages)
  • @instw0 #8011 12:05 PM, 21 Sep 2024
    how to connect hyperdbg to a physical computer?
  • @HughEverett ↶ Reply to #8011 #8012 12:05 PM, 21 Sep 2024
    In VMI mode?
  • @instw0 ↶ Reply to #8012 #8013 12:06 PM, 21 Sep 2024
    debugger
  • @instw0 #8014 12:06 PM, 21 Sep 2024
    full
  • @instw0 #8015 12:10 PM, 21 Sep 2024
    "Attach to a remote machine"
  • @HughEverett ↶ Reply to #8013 #8016 12:11 PM, 21 Sep 2024
    Based on our previous group discussions, it seems that the physical serial connection is not working properly. We've tried several times to port kdnet to HyperDbg but, unfortunately, have not succeeded yet. For now, only VMI Mode is available for a physical machine.
  • 23 September 2024 (1 messages)
  • @RTFMandGTFO #8018 04:49 PM, 23 Sep 2024
    Joined.
  • 25 September 2024 (1 messages)
  • @7286665625 #8019 01:34 PM, 25 Sep 2024
    Joined.
  • 27 September 2024 (1 messages)
  • @6695510551 #8021 07:02 AM, 27 Sep 2024
    Joined.
  • 28 September 2024 (16 messages)
  • @yxxyz #8022 06:49 AM, 28 Sep 2024
    HvRestoreRegisters just reset fs gs gdtr idtr may be unsafe? i find that may cause program which runs wow64 and obfuscation with vmprotect crash.
  • @yxxyz #8023 06:51 AM, 28 Sep 2024
    wow64 program may throw GP
  • @yxxyz #8024 06:52 AM, 28 Sep 2024

    photo_2024-09-28_06-52-05.jpg
  • @yxxyz #8025 06:52 AM, 28 Sep 2024

    photo_2024-09-28_06-52-25.jpg
  • @yxxyz #8026 06:53 AM, 28 Sep 2024

    photo_2024-09-28_06-53-41.jpg
  • @yxxyz #8027 06:54 AM, 28 Sep 2024
    and reset segment may solve this probram
  • @HughEverett ↶ Reply to #8022 #8028 11:25 AM, 28 Sep 2024
    Not sure if I understand it correctly. Can you explain the scenario where this error might happen?
    I assume you're trying to unload HyperDbg while it's in the middle of running a user-mode application?
  • @yxxyz #8029 12:42 PM, 28 Sep 2024
    ok. there is some code to reproduce this problem.
  • @yxxyz #8030 12:42 PM, 28 Sep 2024

    photo_2024-09-28_12-42-26.jpg
  • @yxxyz #8031 12:46 PM, 28 Sep 2024
    while runing this code, we execute program obfuscation with vmp. like this
  • @yxxyz #8032 12:46 PM, 28 Sep 2024

    photo_2024-09-28_12-46-58.jpg
  • @yxxyz #8033 12:47 PM, 28 Sep 2024
    compile to 32 bit
  • @yxxyz #8034 12:48 PM, 28 Sep 2024
    and this program crash, throw GP
  • @HughEverett ↶ Reply to #8026 #8035 09:21 PM, 28 Sep 2024
    And this change in setting segment selectors fix the issue?
  • @HughEverett ↶ Reply to #8030 #8036 09:21 PM, 28 Sep 2024
    Thanks for reporting it, I'll try to reproduce it.
  • @HughEverett ↶ Reply to #8035 #8037 09:22 PM, 28 Sep 2024
    If yes, pls make sure to send a Pull Request to the HyperDbg repo (the 'dev' branch) to fix it.
  • 29 September 2024 (10 messages)
  • @passEAC #8038 03:48 PM, 29 Sep 2024
    Joined.
  • @passEAC #8039 03:48 PM, 29 Sep 2024
    HI
  • @instw0 #8040 04:00 PM, 29 Sep 2024
    is it possible to create any convenience when tracing " i"? example: if rip<0xffffffff then printf(....)
  • @HughEverett ↶ Reply to #8040 #8041 04:01 PM, 29 Sep 2024
    You mean conditional stepping?
  • @instw0 ↶ Reply to #8041 #8042 04:04 PM, 29 Sep 2024
    using the "i 10000" command, set a condition for checking the register, for example if @rip < 0x... then....
  • @HughEverett ↶ Reply to #8042 #8043 04:08 PM, 29 Sep 2024
    It's actually possible but I'm not sure if I export it properly for the regular usage. But, in case if you can compile HyperDbg's libhyperdbg, you need to check for your condition in the C code and recompile. It should be super easy.
  • @HughEverett #8044 04:11 PM, 29 Sep 2024
    This is the function responsible for sending instrumentation step-in requests:
    https://github.com/HyperDbg/HyperDbg/blob/38f7e747d688846c0d82e299338b66d7730e4559/hyperdbg/libhyperdbg/code/debugger/core/steppings.cpp#L26
    HyperDbg/hyperdbg/libhyperdbg/code/debugger/core/steppings.cpp at 38f7e747d688846c0d82e299338b66d7730e4559 · HyperDbg/HyperDbg

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

  • @HughEverett ↶ Reply to #8042 #8045 04:14 PM, 29 Sep 2024
    And this is where a Cpp code gets called when you step one instructions:
    https://github.com/HyperDbg/HyperDbg/blob/38f7e747d688846c0d82e299338b66d7730e4559/hyperdbg/libhyperdbg/code/debugger/kernel-level/kernel-listening.cpp#L361

    Add your condition here. ☝️
    HyperDbg/hyperdbg/libhyperdbg/code/debugger/kernel-level/kernel-listening.cpp at 38f7e747d688846c0d82e299338b66d7730e4559 · HyperDbg/HyperDbg

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

  • @instw0 ↶ Reply to #8043 #8046 04:30 PM, 29 Sep 2024
    that is, to set the condition directly from the C code?
  • @HughEverett ↶ Reply to #8046 #8047 05:44 PM, 29 Sep 2024
    Yes
  • 30 September 2024 (1 messages)
  • @5668733022 #8048 06:57 PM, 30 Sep 2024
    Joined.
  • 01 Sep 2024 (55)
  • 03 Sep 2024 (11)
  • 04 Sep 2024 (8)
  • 05 Sep 2024 (32)
  • 06 Sep 2024 (3)
  • 08 Sep 2024 (11)
  • 09 Sep 2024 (1)
  • 10 Sep 2024 (47)
  • 11 Sep 2024 (4)
  • 12 Sep 2024 (5)
  • 13 Sep 2024 (29)
  • 14 Sep 2024 (4)
  • 15 Sep 2024 (11)
  • 16 Sep 2024 (1)
  • 17 Sep 2024 (4)
  • 18 Sep 2024 (1)
  • 21 Sep 2024 (6)
  • 23 Sep 2024 (1)
  • 25 Sep 2024 (1)
  • 27 Sep 2024 (1)
  • 28 Sep 2024 (16)
  • 29 Sep 2024 (10)
  • 30 Sep 2024 (1)