@hyperdbg

@hyperdbg / Public archive of HyperDbg Telegram messages.

  • 2026

    • Jan 2026 (55)
  • 2025

    • Dec 2025 (78)
    • Nov 2025 (69)
    • Oct 2025 (75)
    • Sep 2025 (181)
    • Aug 2025 (179)
    • Jul 2025 (256)
    • Jun 2025 (150)
    • May 2025 (338)
    • Apr 2025 (303)
    • Mar 2025 (443)
    • 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 2025 (8 messages)
  • @getting458 #10584 01:01 PM, 01 Sep 2025
    You're right.
  • @getting458 #10585 01:01 PM, 01 Sep 2025
    Can this only be started in test mode?
  • @mojtabafaaleh ↶ Reply to #10585 #10586 01:12 PM, 01 Sep 2025
    https://docs.hyperdbg.org/getting-started/build-and-install
    Build & Install | HyperDbg Documentation

    This document helps you to build and install HyperDbg

  • @HughEverett ↶ Reply to #10585 #10587 01:32 PM, 01 Sep 2025
    Test mode? Running HyperDbg in test mode of Windows?
  • @getting458 ↶ Reply to #10587 #10588 11:13 PM, 01 Sep 2025
    Yes, unless you have a certificate, you must use test mode.
  • @getting458 #10589 11:15 PM, 01 Sep 2025
    I wonder if I use hyper to monitor only the memory reading and writing of an address, will it take up a lot of cpu? And this address is not frequently read and written by memory, only once every few minutes, but it is frequently executed. I want to do crc3 protection.
  • @HughEverett ↶ Reply to #10588 #10590 11:23 PM, 01 Sep 2025
    You can configure HyperDbg (from visual studio) to sign it with the test sign if it helps.
  • @HughEverett ↶ Reply to #10589 #10591 11:26 PM, 01 Sep 2025
    I mean, HyperDbg's !monitor command is super fast. In almost all cases, you won't even notice the system slowing down. If the page is something special that's accessed hundreds of times each second, it might slow the system down. Otherwise, it should be fine.
  • 02 September 2025 (21 messages)
  • @montagne1337 #10592 06:43 AM, 02 Sep 2025
    hey there, does HyperDbg fix RIP relative instructions for the page where the ept hook is applied? I noticed that if some relative jmp or call is executed inside the copied page, it leads to a garbage address
  • @getting458 ↶ Reply to #10591 #10593 08:54 AM, 02 Sep 2025
    It doesn't have any visits. But it is frequently executed, so execution and reading and writing are two different things?
  • @HughEverett ↶ Reply to #10592 #10595 11:26 AM, 02 Sep 2025
    If you mean the '!epthook2' command, then no. It doesn't fix RIP relative instructions (and I think it is also mentioned in the documentation) but for the main EPT hook ('!epthook'), this is not a problem.
  • @HughEverett #10596 11:26 AM, 02 Sep 2025
    So, if you just use '!epthook' it should be fine with all relative instructions.
  • @HughEverett ↶ Reply to #10592 #10597 11:26 AM, 02 Sep 2025
    Or am I misunderstanding the question?
  • @HughEverett ↶ Reply to #10593 #10598 11:30 AM, 02 Sep 2025
    Intel supports execute-only page tables, which means that if you monitor for Read/Write but the page is only executed, there’s no performance penalty since no VM-exit occurs. However, on Intel processors, if you monitor only for Write, a Read access will still trigger a VM-exit. HyperDbg silently handles and ignores these events, but they do introduce some overhead.
  • @HughEverett ↶ Reply to #10593 #10599 11:30 AM, 02 Sep 2025
    So I think in your use case, there wouldn't be any performance degradation.
  • @montagne1337 ↶ Reply to #10595 #10600 11:41 AM, 02 Sep 2025
    for example I hooked
    nt!ExAllocatePool
    , which is located at virtual address
    0x500A540
    , I created a copy of the original page containing bytes from
    0x500A000
    to
    0x500AFFF
    , and set my hook on the copy page + 0x540. When an ept violation occurs and the exit qualification is execute access, the ept handler replaces the original PFN with the PFN of my copied page. Now, what if, for example, on the page where
    nt!ExAllocatePool
    is located, there was some relative jmp or relative call instruction or any other RIP relative instruction, I just blindly copied it, and now, if it is executed, it will lead to a garbage address.
  • @montagne1337 #10601 11:44 AM, 02 Sep 2025
    does '!epthook' resolve RIP relative instructions?
  • @HughEverett ↶ Reply to #10600 #10602 12:11 PM, 02 Sep 2025
    HyperDbg uses an identity map memory layout, which means the addresses wouldn't be changed from the perspective of the kernel memory (regular page table).
  • @HughEverett #10603 12:11 PM, 02 Sep 2025
    It might be changes from the EPT page table view but for kernel, it remains the same.
  • @HughEverett ↶ Reply to #10601 #10604 12:12 PM, 02 Sep 2025
    Yes, it fundamentally doesn't have such a issue based on its design.
  • @montagne1337 ↶ Reply to #10603 #10605 01:25 PM, 02 Sep 2025
    can the same be said about user pages?
  • @HughEverett ↶ Reply to #10605 #10606 01:35 PM, 02 Sep 2025
    Yes. The main implementation EPT hooks for instructions in HyperDbg is the '!epthook' command which supports both user-mode and kernel-mode pages. The second implementation of EPT hooks (the '!epthook2' command) only supports kernel-mode pages (not user-mode).
  • @getting458 #10607 04:30 PM, 02 Sep 2025
    Yes, it works well. If it just monitors reading and writing, it doesn't cause vm to quit. Now I'm trying to sign your dll separately so that it doesn't need to use test mode.
  • @HyperDbgBot #10608 b o t 04:50 PM, 02 Sep 2025
    [discord] <unrustled.jimmies> [reply]: I wish intel would support write only ept pages.

    Also it looks like sub paging permissions of ept is going to be removed in the future

    https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/sub-page-permission.html

    `Intel plans to discontinue SPP entirely on future processors`
    Sub-page Permission

    Intel researchers have discovered potential issues with the Sub-page Permission (SPP) feature. Although these issues pose no security risk, Intel recommends discontinuing SPP support in all cases.

  • @honorary_bot ↶ Reply to #10608 #10609 04:51 PM, 02 Sep 2025
    Yes indeed, SubEPT is deprecated now
  • @getting458 #10610 10:58 PM, 02 Sep 2025
    Does anyone know how to change this source code into their own private tool? For example, only for a certain process
  • @getting458 #10611 10:58 PM, 02 Sep 2025
    Is it convenient to use? Do you need to modify anything else?
  • @mojtabafaaleh ↶ Reply to #10611 #10612 11:03 PM, 02 Sep 2025
    It has an SDK that you can use to modify it for your own purposes, but due to the complexities of the hypervisor, I don't think it's very easy to work with it like a regular debugger.
  • @mojtabafaaleh #10613 11:08 PM, 02 Sep 2025
    https://github.com/HyperDbg/HyperDbg/blob/9bd5ffc7b9644df4d00aef2e6590d46a55d9837b/examples/user/hyperdbg_app/code/hyperdbg-app.cpp
    HyperDbg/examples/user/hyperdbg_app/code/hyperdbg-app.cpp at 9bd5ffc7b9644df4d00aef2e6590d46a55d9837b · HyperDbg/HyperDbg

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

  • 04 September 2025 (1 messages)
  • @shurik_ua #10615 09:16 AM, 04 Sep 2025
    Joined.
  • 06 September 2025 (3 messages)
  • @HyperDbgBot #10616 b o t 06:06 PM, 06 Sep 2025
    [discord] <inflearner> Anyone managed to make HyperDbg work in Hyper-V ?
  • @HughEverett ↶ Reply to #10616 #10617 10:58 PM, 06 Sep 2025
    I checked it two years ago and it didn't work. I'm not sure about the current state of HyperDbg on hyper-v.
  • @HughEverett ↶ Reply to #10616 #10618 10:59 PM, 06 Sep 2025
    And the reason for that is Microsoft weird requirements for TLFS.
  • 07 September 2025 (8 messages)
  • @getting458 ↶ Reply to #10612 #10619 12:10 AM, 07 Sep 2025
    I only use its monitoring address function, and at the same time return all attempts to access this address to a fake memory address, similar to ce dbvm cloak
  • @getting458 #10620 12:11 AM, 07 Sep 2025
    It seems that hyper has no function similar to ce dbvm cloak?
  • @mojtabafaaleh ↶ Reply to #10619 #10621 01:25 AM, 07 Sep 2025
    Yeah, it's possible you can write a script for the !monitor command using HyperDbg.
  • @mojtabafaaleh ↶ Reply to #10621 #10622 01:27 AM, 07 Sep 2025
    Setting it up each time is probably a hassle. Overall, I don't think it's very suitable for making cheats or cracks.
  • @hyperdbg_io #10623 10:22 PM, 07 Sep 2025
    HyperDbg v0.16 is released! 🐞💫✨

    This version adds a new event command '!xsetbv', along with bug fixes, performance improvements, and progress on the user-mode debugger in VMI mode.

    Check it out:

    https://github.com/HyperDbg/HyperDbg/releases/tag/v0.16

    For more information, check the documentation:

    https://docs.hyperdbg.org/commands/extension-commands/xsetbv
    Release v0.16 · HyperDbg/HyperDbg

    HyperDbg v0.16 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 Q...

  • @getting458 ↶ Reply to #10622 #10624 10:28 PM, 07 Sep 2025
    If the source code. I think I can change it.
  • @HyperDbgBot #10625 b o t 10:32 PM, 07 Sep 2025
    [discord] <rayanfam> [reply]: Thanks to @unrustled.jimmies for helping with this release. 💙 💜
  • @HughEverett #10626 10:52 PM, 07 Sep 2025
    Interesting talk, apparently he used HyperDbg for a part of his demo:

    https://github.com/0x4ndr3/Presentations/tree/main/Sikkerhetsfestivalen%202025
    Presentations/Sikkerhetsfestivalen 2025 at main · 0x4ndr3/Presentations

    Contribute to 0x4ndr3/Presentations development by creating an account on GitHub.

  • 08 September 2025 (1 messages)
  • @koksdk #10627 09:34 PM, 08 Sep 2025
    Joined.
  • 09 September 2025 (4 messages)
  • @hoangkien1020 #10628 11:33 AM, 09 Sep 2025
    Joined.
  • @amidro0 #10629 12:52 PM, 09 Sep 2025
    Joined.
  • @HyperDbgBot #10630 b o t 05:37 PM, 09 Sep 2025
    [discord] <btylor0> [reply]: Is there a recording of the talk or just the slides
  • @HughEverett ↶ Reply to #10630 #10631 08:40 PM, 09 Sep 2025
    I don't know if they record it or not, you need to reach to original author for that.
  • 10 September 2025 (3 messages)
  • @atabahari #10632 05:09 AM, 10 Sep 2025
    Joined.
  • @977611969 #10633 01:29 PM, 10 Sep 2025
    Joined.
  • @Amin_E3 #10635 06:38 PM, 10 Sep 2025
    Joined.
  • 11 September 2025 (3 messages)
  • @mnmddz24 #10636 06:31 AM, 11 Sep 2025
    Joined.
  • @wesign #10637 11:01 AM, 11 Sep 2025
    Joined.
  • @Emad_Ab3dini #10638 07:41 PM, 11 Sep 2025
    Joined.
  • 13 September 2025 (2 messages)
  • @5443746368 #10639 02:47 AM, 13 Sep 2025
    Joined.
  • @eebill #10640 04:11 AM, 13 Sep 2025
    Joined.
  • 14 September 2025 (1 messages)
  • @Sevan0x2A #10641 03:34 PM, 14 Sep 2025
    Joined.
  • 15 September 2025 (19 messages)
  • @508397659 #10643 09:27 PM, 15 Sep 2025
    @sina i download now hyperdbg-v0.16.zip (win10 22h2) and MS defender false detect and delete hyperdbg-cli.exe (Program:Win32/Wacapew.C!ml) :(
  • @HughEverett ↶ Reply to #10643 #10644 09:33 PM, 15 Sep 2025
    Are you sure? I just check it over Virus Total and only 1 unknown AV detects it 🤔

    https://www.virustotal.com/gui/file/846ce97893413ba4daeb50176f4ebd73bb4ce3de1fcab66f64585f91323e5e77?nocache=1

    photo_2025-09-15_21-33-00.jpg
  • @508397659 #10645 09:33 PM, 15 Sep 2025
    if check only hyperdbg-cli.exe ? nothing?
  • @508397659 #10646 09:35 PM, 15 Sep 2025

    photo_2025-09-15_21-35-27.jpg
  • @HughEverett #10647 09:35 PM, 15 Sep 2025
    Ah yes

    photo_2025-09-15_21-35-33.jpg
  • @508397659 #10648 09:35 PM, 15 Sep 2025
    https://www.virustotal.com/gui/file/3b13b47551d1a58779150e0dda87113f45d2f774581b3d8d58b06dead19619ce
  • @508397659 #10649 09:36 PM, 15 Sep 2025
    I sent report to MS about false detect
  • @HughEverett #10650 09:37 PM, 15 Sep 2025
    I don't really know what to do with it, hyperdbg-cli.exe is only ~150 line code CLI that imports libhyperdbg.dll.
  • @HughEverett ↶ Reply to #10649 #10651 09:37 PM, 15 Sep 2025
    Great. How do you send the report?
  • @508397659 #10652 09:38 PM, 15 Sep 2025
    https://www.microsoft.com/en-us/wdsi/submission/c2f5e0f9-a2cb-46c7-ba84-11b0ef0edf87
  • @HughEverett ↶ Reply to #10652 #10653 09:38 PM, 15 Sep 2025
    Great. Thanks.
  • @508397659 #10654 09:40 PM, 15 Sep 2025
    >Great. How do you send the report?
    mechanism sent report exist in options page ms defender
  • @HughEverett ↶ Reply to #10654 #10655 09:40 PM, 15 Sep 2025
    👍
  • @508397659 #10656 09:42 PM, 15 Sep 2025
    where can on/off real time protection, exist link send example manually.
  • @x86byte #10657 10:43 PM, 15 Sep 2025
    Joined.
  • @x86byte #10658 10:43 PM, 15 Sep 2025
    hello
  • @x86byte #10659 10:44 PM, 15 Sep 2025
    https://t.me/hyperdbg_io
    HyperDbg News & Updates

    HyperDbg notifications and updates (Group: @HyperDbg)

  • @x86byte ↶ Reply to #10659 #10660 10:44 PM, 15 Sep 2025
    is this an official channel?
  • @508397659 #10661 10:45 PM, 15 Sep 2025
    why not?
  • 17 September 2025 (3 messages)
  • @5578829255 #10662 09:25 PM, 17 Sep 2025
    Joined.
  • @508397659 #10663 09:56 PM, 17 Sep 2025
    @Sina MS remove false detect hyperdbg-cli.exe
  • @HughEverett ↶ Reply to #10663 #10664 09:58 PM, 17 Sep 2025
    Great. Thanks for reporting the false positive.
  • 19 September 2025 (2 messages)
  • @getting458 #10668 10:29 AM, 19 Sep 2025
    Who is trying to run hyper dbg independently? Let me know if you are interested. I'm doing it recently.
  • @getting458 ↶ Reply to #10668 #10669 10:29 AM, 19 Sep 2025
    I mean setting it as an independent dll to perform some of its functions, such as making a cloak similar to ce dbvm.
  • 20 September 2025 (1 messages)
  • @Real_mb #10670 11:46 PM, 20 Sep 2025
    Joined.
  • 21 September 2025 (1 messages)
  • @edhy_boghel #10671 06:50 PM, 21 Sep 2025
    Joined.
  • 22 September 2025 (23 messages)
  • @HyperDbgBot #10672 b o t 02:16 AM, 22 Sep 2025
    [discord] <territory3351> Does HyperDbg support Intel ultra series CPU?
  • @HyperDbgBot #10673 b o t 02:17 AM, 22 Sep 2025
    [discord] <territory3351> After I entered vmx, the system became very slow
  • @HyperDbgBot #10674 b o t 02:18 AM, 22 Sep 2025
    [discord] <territory3351> Then the write msr event occurs and the system crashes
  • @HyperDbgBot #10675 b o t 02:19 AM, 22 Sep 2025
    [discord] <territory3351> Can anyone help me? Thanks
  • @HughEverett ↶ Reply to #10672 #10676 05:34 AM, 22 Sep 2025
    Yes, of course. It supports the Intel Core Ultra series and has been pretty stable in my tests on different machines, especially on Meteor Lake. I haven't tested it on Lunar Lake.
  • @HughEverett ↶ Reply to #10672 #10677 05:34 AM, 22 Sep 2025
    What is this processor?
  • @HughEverett ↶ Reply to #10674 #10678 05:36 AM, 22 Sep 2025
    And can you explain how you used it? Because MSRs by default doesn't create VM-exits on HyperDbg if they are not out of range.
  • @HyperDbgBot #10679 b o t 06:38 AM, 22 Sep 2025
    [discord] <territory3351> [reply]: Thanks for your reply. My processor is an Intel(R) Core(TM) 5 220H. I haven't done anything special and am using the EPT feature. When I virtualize a third or fourth CPU, the system starts to slow down, throws a "write msr 0x400000xx" error, and then crashes.
  • @HyperDbgBot #10680 b o t 06:45 AM, 22 Sep 2025
    [discord] <territory3351>
    https://cdn.discordapp.com/attachments/962350355839066130/1419575278900084796/image.png?ex=68d24200&is=68d0f080&hm=4e54ca4ade9d69c7bfcd77946dceae42a5e651b9aa0c8a403a1fd389aea1a1a5&
    None
  • @HughEverett ↶ Reply to #10680 #10681 09:09 AM, 22 Sep 2025
    Is it a HyperDbg code? Are you using hyperhv as a library?
  • @HughEverett #10682 09:10 AM, 22 Sep 2025
    What about HyperDbg itself? If you run HyperDbg, does it still crash?
  • @honorary_bot #10683 09:12 AM, 22 Sep 2025
    Something tells my that hyper-v is involved since 0x40000000 is its synthetic msr region. As a related question, does hyperdbg disable vtx for the guest?
  • @HughEverett ↶ Reply to #10683 #10684 09:14 AM, 22 Sep 2025
    Not really. We usually just pass the hyper-v TLFS VMCALLs to the top level hypervisor if the VMCALL is not invoked by HyperDbg.
  • @honorary_bot #10685 09:14 AM, 22 Sep 2025
    Oh cool
  • @HughEverett #10686 09:15 AM, 22 Sep 2025
    Just curious to know, what do you mean by disabling VT-x? Something like not letting it enable the VMX from CRs?
  • @honorary_bot #10687 09:15 AM, 22 Sep 2025
    Yeah, what I do is report vtx disabled in bios through the relevant msr (don’t remember which one)
  • @honorary_bot #10688 09:16 AM, 22 Sep 2025
    So the guest system is like “okay, no VMX enabled” and I don’t have to deal with hyperv related stuff
  • @HughEverett #10689 09:17 AM, 22 Sep 2025
    well, since HyperDbg runs after the system is already booted, could we also implement this? I mean, Windows already thinks that it has VT-x enabled. In that case, should we still disable it for Windows?
  • @honorary_bot ↶ Reply to #10689 #10690 09:20 AM, 22 Sep 2025
    I guess it’s too late for that but that moment..
  • @honorary_bot #10691 09:20 AM, 22 Sep 2025
    On a bright side, you support hyperv tlfs, which is cool
  • @HyperDbgBot #10692 b o t 09:43 AM, 22 Sep 2025
    [discord] <territory3351> [reply]: yes!
  • @HughEverett ↶ Reply to #10692 #10693 10:31 AM, 22 Sep 2025
    Do you have the same problem with HyperDbg (hyperdbg-cli.exe) then?
  • @staarblitz #10694 07:09 PM, 22 Sep 2025
    Joined.
  • 23 September 2025 (2 messages)
  • @HyperDbgBot #10695 b o t 06:06 AM, 23 Sep 2025
    [discord] <territory3351> [reply]: There is no problem using hyperdbg-cli.exe. It seems that the problem is with my code. Thank you!
  • @HughEverett ↶ Reply to #10695 #10696 10:43 AM, 23 Sep 2025
    ok. Let me know if you find the problem. You could copy the codes that are related to initialize hyperdbg from hyperkd.sys.
  • 24 September 2025 (1 messages)
  • @HyperDbgBot #10697 b o t 01:52 AM, 24 Sep 2025
    [discord] <territory3351> [reply]: In order to support AntiCheatEngine, I modified the processing of read msr 0x40000000 ~ 0x400000F0, which caused a crash in ultra. Hahahahaha😅
  • 25 September 2025 (25 messages)
  • @staarblitz #10698 08:43 PM, 25 Sep 2025
    Is this channel only about HyperDbg or can we talk about hypervisor development in general?
  • @honorary_bot #10699 08:44 PM, 25 Sep 2025
    Feel free to talk about hypervisors in general
  • @staarblitz #10700 08:55 PM, 25 Sep 2025
    I was following the Hypervisor from Scratch tutorial and setup my VMCS. After vmlaunch, I don't get any error codes (execution does not continue after vmlaunch) but neither any VMEXITS. WinDbg's !running -i -t does not show anything related to my driver too. I tried setting breakpoints to my VMEXIT handler and the guest memory (using ba). But didn't hit anything.

    What could be wrong?
  • @honorary_bot #10701 08:56 PM, 25 Sep 2025
    Are you using hyperdbg code as a reference?
  • @staarblitz #10702 08:57 PM, 25 Sep 2025
    No. Only the tutorial (or guide) itself and its source code.
  • @honorary_bot #10703 08:59 PM, 25 Sep 2025
    Can you check the return value of the __vmx_vmlaunch intrinsic? (assuming you're using it)
  • @staarblitz ↶ Reply to #10703 #10704 09:00 PM, 25 Sep 2025
    Well I cannot as the execution does not continue after vmlaunch. Which is the intended behavior for a successful vmlaunch
  • @honorary_bot #10705 09:01 PM, 25 Sep 2025
    It starts executing in vmx guest mode, jumping to the code that was set up in the VMCS
  • @staarblitz ↶ Reply to #10705 #10706 09:02 PM, 25 Sep 2025
    Which is bunch of HLT instructions. But I do not get any VMEXITs to my handler, as said.
  • @honorary_bot #10707 09:03 PM, 25 Sep 2025
    Have you set up HLT exiting in IA32_VMX_PROCBASED_CTLS?
  • @staarblitz #10708 09:04 PM, 25 Sep 2025
    Yep.
  • @honorary_bot #10709 09:04 PM, 25 Sep 2025
    It's hard to tell without the code reference
  • @honorary_bot #10710 09:05 PM, 25 Sep 2025
    Does the core keep running after that?
  • @honorary_bot #10711 09:05 PM, 25 Sep 2025
    What is it executing then?
  • @staarblitz ↶ Reply to #10710 #10712 09:06 PM, 25 Sep 2025
    Yeah, pretty much idle as shown in WinDbg. The system continues as usual.
  • @honorary_bot #10713 09:07 PM, 25 Sep 2025
    Idle? Is it in the system idle thread?
  • @honorary_bot #10714 09:08 PM, 25 Sep 2025
    If break into it in windbg, where does it stop?
  • @staarblitz #10715 09:08 PM, 25 Sep 2025
    Most of the time on "running -i -t" command. I meant that system runs as if (and most likely) nothing happened
  • @honorary_bot #10716 09:09 PM, 25 Sep 2025
    Can you point vmcs to start on int 3 instruction?
  • @honorary_bot #10717 09:09 PM, 25 Sep 2025
    So you would at least know if execution was transfered to the right place
  • @staarblitz ↶ Reply to #10717 #10718 09:10 PM, 25 Sep 2025
    Let me see.
  • @staarblitz #10719 09:28 PM, 25 Sep 2025
    I managed to get a result from vmlaunch and read VM_INSTRUCTION_ERROR field. Its 0x7.
  • @staarblitz ↶ Reply to #10719 #10720 09:32 PM, 25 Sep 2025
    WinDbg was kicking me out after execution of vmlaunch. A "step over" results in whole rest of the driver code to be skipped.
  • @honorary_bot ↶ Reply to #10719 #10721 09:33 PM, 25 Sep 2025
    VM entry with invalid control field
  • @staarblitz ↶ Reply to #10721 #10722 09:33 PM, 25 Sep 2025
    Yeah. Just checked the Intel's book.
  • 27 September 2025 (1 messages)
  • @HughEverett ↶ Reply to #10630 #10724 11:17 PM, 27 Sep 2025
    https://www.linkedin.com/posts/aflima_in-this-video-i-showcase-the-power-of-a-ugcPost-7377309009151811584--cP3
    In this video, I showcase the power of a VMM (HyperDBG) manipulating instructions (cpuid) and memory visibility of a process. In the first demo, I set up a vm exit handler to manipulate the response… | André Lima

    In this video, I showcase the power of a VMM (HyperDBG) manipulating instructions (cpuid) and memory visibility of a process. In the first demo, I set up a vm exit handler to manipulate the response to the CPUID instruction seen by any process in the Guest OS to "Sikkerhets25" (presented this at Sikkerhetsfestivalen) - which is relevant for malware checking on where are they being executed - and in the second demo I track a specifc memory position (first have to context switch into the process using its PID), and I ignore "writes" ++i on that variable having the process think the writing worked while actually not, shown by the reading of that same variable after a ++, having the same value. This type of tech (Intel VT-X in this case) can be used by EDRs, since it is completely "invisible" to the Guest OS (and any malware/process running in it), as opposed to software and hardware breakpoints which are easily detected with anti-RE techniques. The ignoring of "writes" is very useful for an EDR to avoid malicious…

  • 28 September 2025 (24 messages)
  • @staarblitz #10725 11:41 AM, 28 Sep 2025
    Any ideas why I am getting a 0x21 right after vmlaunch in my vmexit handler?
    I set up everything according to the Hypervisor from scratch tutorial, yet, I am still getting Invalid VMCS structure.
  • @honorary_bot #10726 11:50 AM, 28 Sep 2025
    SDM has a complete description of the checks performed on the vmcs fields before vmentry. You can implement them in your code to find out the excat reason for the failure
  • @staarblitz ↶ Reply to #10726 #10727 01:36 PM, 28 Sep 2025
    I tried to do these checks. Even compared the segment bases, access rights, selectors to the ones in host GDT table with WinDbg. No luck.
  • @staarblitz ↶ Reply to #10727 #10728 01:39 PM, 28 Sep 2025
    *They matched 1:1
  • @honorary_bot #10729 01:41 PM, 28 Sep 2025
    You've missed some checks, did a typo in the code, it could be literally anything. There are dozens of reasons for vmcs to be misconfigured and it's not clear what you're trying to achive, how you debug your stuff or where your code is. It is a guesswork without extra information.
  • @staarblitz ↶ Reply to #10729 #10730 01:52 PM, 28 Sep 2025
    So shall I send out entire VMCS initialization?
  • @honorary_bot #10731 01:55 PM, 28 Sep 2025
    As an option, I could take a look. But the best way to solve this is to implement a vmcs checker according to SDM vol 3 chapter 28.3 entirely. If CPU says it is a "VM-entry failure due to invalid guest state" then it is "VM-entry failure due to invalid guest state" and nothing else.
  • @staarblitz ↶ Reply to #10731 #10732 02:00 PM, 28 Sep 2025
    So the VMCS check should be performed after the vmlaunch, not before?
  • @HughEverett #10733 02:01 PM, 28 Sep 2025
    I think the fastest and the easiest way is to copy the initial VMCS fields from already working hypervisors like HyperDbg and then extend them based on your requirements.
  • @staarblitz ↶ Reply to #10733 #10734 02:01 PM, 28 Sep 2025
    That is what I did as a last resort
  • @HughEverett ↶ Reply to #10734 #10735 02:02 PM, 28 Sep 2025
    Spending time on finding whats wrong in this problem is just a waste of time IMO.
  • @staarblitz #10736 02:02 PM, 28 Sep 2025
    Yeah. With the error of "VMCS is invalid" being not descriptive at all.
  • @honorary_bot ↶ Reply to #10732 #10737 02:02 PM, 28 Sep 2025
    Before
  • @honorary_bot ↶ Reply to #10736 #10738 02:03 PM, 28 Sep 2025
    You don't have any means of getting the exact error from the ucode unfotunately
  • @staarblitz ↶ Reply to #10737 #10739 02:09 PM, 28 Sep 2025
    Tried using VMCS auditor. But quickly realized it would be too inefficient to fill all those fields one by one
  • @honorary_bot #10740 02:10 PM, 28 Sep 2025
    It is better than guesswork, right?
  • @staarblitz #10741 02:37 PM, 28 Sep 2025
    I think that might be the stupidest type of bug thing I've ever seen
  • @staarblitz #10742 02:39 PM, 28 Sep 2025
    pushfq is kicking me out of my VMCS initialization function right into vmlaunch
  • @BenKing6895 #10743 03:20 PM, 28 Sep 2025
    Joined.
  • @honorary_bot #10746 04:58 PM, 28 Sep 2025
    Sorry, this code doesn't help
  • @staarblitz ↶ Reply to #10746 #10747 05:00 PM, 28 Sep 2025
    In what sense?
  • @honorary_bot #10748 05:11 PM, 28 Sep 2025
    It's out of context
  • @staarblitz ↶ Reply to #10748 #10749 05:14 PM, 28 Sep 2025
    In sense that sending my code does no good, or that this part of the code is not enough?
  • @honorary_bot #10750 05:23 PM, 28 Sep 2025
    It's not enough
  • 29 September 2025 (19 messages)
  • @staarblitz #10753 02:00 PM, 29 Sep 2025
    That's all VMCS initialization code I've got.
  • @honorary_bot #10754 02:03 PM, 29 Sep 2025
    Could you kindly share the code somewhere else, like pastebin (if this code is not on github)?
    It is still out of context, like for example, what does adjust_controls do?
  • @staarblitz ↶ Reply to #10754 #10755 04:12 PM, 29 Sep 2025
    Sure.
    Take a look:
    https://privatebin.net/?b72a02bc702a01ee#ATnyoRxjJB43WkHAUAwTt7HdjcoXbBnazkcCHjJ2kQwS
    Encrypted note on PrivateBin

    Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.

  • @honorary_bot ↶ Reply to #10755 #10756 04:54 PM, 29 Sep 2025
    What CPU do you have?
  • @staarblitz #10757 04:54 PM, 29 Sep 2025
    An i5 core, 11th gen
  • @honorary_bot #10758 04:54 PM, 29 Sep 2025
    tiger lake?
  • @staarblitz #10759 04:57 PM, 29 Sep 2025
    I don't remember the exact code
  • @staarblitz #10760 04:58 PM, 29 Sep 2025
    I've made hypervisors in C before, they worked. It should not be a CPU issue.
  • @honorary_bot #10761 04:58 PM, 29 Sep 2025
    DId you fill the vmcs in the same way? Because if it is some rust issue, then I'm not a rust expert
  • @honorary_bot #10762 05:10 PM, 29 Sep 2025
    Do you start in the OS or in UEFI?
  • @honorary_bot ↶ Reply to #10762 #10763 05:11 PM, 29 Sep 2025
    Nvm, I see Windows kernel
  • @staarblitz ↶ Reply to #10761 #10764 05:12 PM, 29 Sep 2025
    No. It was a direct copy paste of Hypervisor from Scratch tutorial. But I tried that too in Rust, didn't work.
  • @honorary_bot #10765 05:12 PM, 29 Sep 2025
    I don't see anything suspicious in the code logic. Probably someone with better rust knowledge could spot a problem. I'm a C programmer.
  • @honorary_bot #10766 05:13 PM, 29 Sep 2025
    It's something around // VMCS GUEST FIELDS area, since it's code 0x21
  • @staarblitz ↶ Reply to #10766 #10767 05:18 PM, 29 Sep 2025
    I am doubting there is something wrong in segmentation. Did you see anything?
  • @honorary_bot #10768 05:32 PM, 29 Sep 2025
    Non sure tbh. As I mentioned I don't have experince with rust, so not sure if I'm reading that right. Guest state could be anything wrong with cr3, cr0, cr4, segmentation, msrs debugctl, par, efer and optional {perf global ctl, bnd cfgs, rtit ctrl, pkrs, cet (if those are enabled already)}, guest activity state, interruptibility state and pending debug excveptions
  • @staarblitz #10769 05:45 PM, 29 Sep 2025
    Well, does Sina have an idea?
  • @HughEverett ↶ Reply to #10769 #10770 07:56 PM, 29 Sep 2025
    Of course, @honorary_bot is more knowledgeable and experienced than me in anything related to Intel processors, and generally hypervisors. If he couldn't find the problem, I'm even less likely to. My suggestion for this problem is: do not waste your time trying to find the error. Just copy all of the configuration from a working hypervisor, use it, and extend it. There is really no benefit in understanding what goes wrong with VMCS checks inside a CPU. Understanding it also doesn't give you any benefit or technical experience, as these are simply CPU checks.
  • @HughEverett #10771 07:57 PM, 29 Sep 2025
    There are a couple of good hypervisor projects in rust, you could copy the VMCS configurations from them.
  • 30 September 2025 (5 messages)
  • @staarblitz ↶ Reply to #10770 #10772 02:07 PM, 30 Sep 2025
    I did try to copy from memN0ps, if you try to inspect the source code, you would see its almost 1:1
  • @staarblitz #10773 02:07 PM, 30 Sep 2025
    Since I ran out of ideas, but no, no luck.
  • @staarblitz #10774 02:08 PM, 30 Sep 2025
    Maybe its something related to segmentation? Maybe my VMWare config?
  • @HyperDbgBot #10775 b o t 02:20 PM, 30 Sep 2025
    [discord] <jakob944> You could try asking in OS Dev discord, maybe they can help out
  • @HughEverett ↶ Reply to #10774 #10776 07:27 PM, 30 Sep 2025
    It might be because of segmentation. You could also check your hypervisor VMCS field with checks that are done in Qemu. That might also help.
  • 01 Sep 2025 (8)
  • 02 Sep 2025 (21)
  • 04 Sep 2025 (1)
  • 06 Sep 2025 (3)
  • 07 Sep 2025 (8)
  • 08 Sep 2025 (1)
  • 09 Sep 2025 (4)
  • 10 Sep 2025 (3)
  • 11 Sep 2025 (3)
  • 13 Sep 2025 (2)
  • 14 Sep 2025 (1)
  • 15 Sep 2025 (19)
  • 17 Sep 2025 (3)
  • 19 Sep 2025 (2)
  • 20 Sep 2025 (1)
  • 21 Sep 2025 (1)
  • 22 Sep 2025 (23)
  • 23 Sep 2025 (2)
  • 24 Sep 2025 (1)
  • 25 Sep 2025 (25)
  • 27 Sep 2025 (1)
  • 28 Sep 2025 (24)
  • 29 Sep 2025 (19)
  • 30 Sep 2025 (5)