@hyperdbg

@hyperdbg / Public archive of HyperDbg Telegram messages.

  • 2025

    • May 2025 (97)
    • 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
  • 1
  • 2
  • 21 August 2023 (165 messages)
  • @ricnar #4373 09:38 AM, 21 Aug 2023
    but how can be detected if no code is executed
  • @ricnar #4374 09:38 AM, 21 Aug 2023
    no tls no dlls
  • @ricnar #4376 09:39 AM, 21 Aug 2023
    x64dbg put a breakpoint in the entry point and is not detected
  • @ricnar #4377 09:39 AM, 21 Aug 2023
    it stops
  • @ricnar #4378 09:39 AM, 21 Aug 2023
    at least it reaches the entry point
  • @ricnar #4379 09:39 AM, 21 Aug 2023
    or
  • @HughEverett ↶ Reply to #4373 #4380 09:39 AM, 21 Aug 2023
    that's why it's weird, generally, it shouldn't be problematic as you mentioned nothing is executed before it, but I suspect maybe the PE headers might be manipulated.
  • @ricnar #4381 09:40 AM, 21 Aug 2023
    hyperdbg uses some technique who bypass the entry point and is detected after
  • @ricnar #4382 09:40 AM, 21 Aug 2023
    it does not stop at the entry point
  • @ricnar #4383 09:40 AM, 21 Aug 2023
    x64dbg is detected after reached the entry point
  • @ricnar #4384 09:41 AM, 21 Aug 2023
    but it stops in the entry point
  • @ricnar #4385 09:42 AM, 21 Aug 2023
    maybe hyperdbg does not stop in EP and continue and is detected
  • @ricnar #4386 09:42 AM, 21 Aug 2023
    maybe
  • @HughEverett #4387 09:42 AM, 21 Aug 2023
    I'm gonna check it now
  • @ricnar #4388 09:43 AM, 21 Aug 2023
    👍
  • @ricnar #4389 10:00 AM, 21 Aug 2023
    the section is named TLS but is a fake name
  • @ricnar #4390 10:00 AM, 21 Aug 2023
    no TLS
  • @HughEverett #4391 10:17 AM, 21 Aug 2023

    photo_2023-08-21_10-17-00.jpg
  • @HughEverett #4392 10:17 AM, 21 Aug 2023
    The '.start' command seems to work perfectly. But let me check whether it find the debugger based on the breakpoint or not
  • @ricnar #4393 10:20 AM, 21 Aug 2023
    does not work for me
  • @ricnar #4394 10:20 AM, 21 Aug 2023
    it does not reach the entry point to me did you modify something?
  • @HughEverett ↶ Reply to #4393 #4395 10:21 AM, 21 Aug 2023
    No, just move it simply to the target and disabled the Windows Defender as it finds it malicious
  • @ricnar #4396 10:21 AM, 21 Aug 2023
    i have windows defender disabled
  • @ricnar #4397 10:21 AM, 21 Aug 2023
    as it runs in the target
  • @ricnar #4398 10:22 AM, 21 Aug 2023
    without problem
  • @ricnar #4399 10:22 AM, 21 Aug 2023
    this is not my case
  • @HughEverett #4400 10:22 AM, 21 Aug 2023
    Are you using the latest builds of HyperDbg master or dev branch?
  • @ricnar #4401 10:22 AM, 21 Aug 2023
    no
  • @HughEverett ↶ Reply to #4401 #4402 10:23 AM, 21 Aug 2023
    older versions?
  • @ricnar #4403 10:23 AM, 21 Aug 2023

    photo_2023-08-21_10-23-57.jpg
  • @ricnar #4404 10:24 AM, 21 Aug 2023
    not so older
  • @ricnar #4405 10:24 AM, 21 Aug 2023
    15 days ago
  • @HughEverett ↶ Reply to #4403 #4406 10:25 AM, 21 Aug 2023
    let me see how it detects the debugger
  • @ricnar #4407 10:25 AM, 21 Aug 2023

    photo_2023-08-21_10-25-23.jpg
  • @ricnar #4408 10:25 AM, 21 Aug 2023
    i will try with the latest
  • @HughEverett ↶ Reply to #4408 #4409 10:25 AM, 21 Aug 2023
    I'm gonna see how we can bypass its mitigations now
  • @HughEverett #4410 11:00 AM, 21 Aug 2023
    @ricnar did you attach WinDbg to disable Patchguard and DSE?
  • @HughEverett #4411 11:01 AM, 21 Aug 2023
    I run the packed sample on HyperDbg and it runs without error
  • @HughEverett #4412 11:03 AM, 21 Aug 2023
    The way that this packer detects the debugger is triggering a breakpoint and check whether the breakpoint is handled by any debugger or through its SEH routines. Once it successfully determine that the breakpoint not supposed to run within a debugger, it continues its normal execution
  • @HughEverett #4413 11:04 AM, 21 Aug 2023
    Let me create a video and explain it from the video.
  • @HughEverett #4414 11:08 AM, 21 Aug 2023
    BTW, you can either pass all the breakpoints to the debugger by using the

    test breakpoint off

    command (which also breaks the '.start' interception),
    or you need to have function to re-inject the event (int 3) back to the debugger.
  • @ricnar ↶ Reply to #4410 #4415 11:09 AM, 21 Aug 2023
    nop
  • @ricnar #4416 11:09 AM, 21 Aug 2023
    is disables manually
  • @ricnar #4417 11:09 AM, 21 Aug 2023
    disabled manually
  • @HughEverett ↶ Reply to #4416 #4418 11:09 AM, 21 Aug 2023
    How?
  • @HughEverett #4419 11:09 AM, 21 Aug 2023
    The only way to disable this from what I knew is EfiGuard
  • @ricnar #4420 11:09 AM, 21 Aug 2023
    restarting and disabling in the boot
  • @HughEverett #4421 11:09 AM, 21 Aug 2023
    oh, okay
  • @ricnar #4422 11:09 AM, 21 Aug 2023
    disabling in the boot
  • @ricnar #4423 11:10 AM, 21 Aug 2023
    with option 7
  • @HughEverett #4424 11:10 AM, 21 Aug 2023
    this is not a good idea as it won't disable patchguard
  • @HughEverett #4425 11:10 AM, 21 Aug 2023
    let me create the video now, I'll also show EfiGuard in the video
  • @ricnar #4426 11:10 AM, 21 Aug 2023
    the unpackme runs in the target
  • @ricnar #4427 11:10 AM, 21 Aug 2023

    photo_2023-08-21_11-10-52.jpg
  • @HughEverett ↶ Reply to #4425 #4428 11:11 AM, 21 Aug 2023
    https://muffsec.com/blog/how-to-use-efiguard-to-disable-patchguard/
  • @ricnar #4429 11:11 AM, 21 Aug 2023
    now i will try with the start command
  • @ricnar #4430 11:13 AM, 21 Aug 2023
    in this version
  • @ricnar #4431 11:13 AM, 21 Aug 2023
    it reaches the EP
  • @ricnar #4432 11:13 AM, 21 Aug 2023

    photo_2023-08-21_11-13-51.jpg
  • @ricnar #4433 11:14 AM, 21 Aug 2023
    maybe some lateral correction was made from the version used by me
  • @ricnar #4434 11:14 AM, 21 Aug 2023
    some days ago
  • @HughEverett ↶ Reply to #4431 #4435 11:14 AM, 21 Aug 2023
    but it detects the debugger?
  • @HughEverett #4436 11:14 AM, 21 Aug 2023
    Am I right?
  • @HughEverett #4437 11:15 AM, 21 Aug 2023
    There is anti-debugging breakpoint there. Did it triggered for you?
  • @ricnar #4438 11:15 AM, 21 Aug 2023

    photo_2023-08-21_11-15-37.jpg
  • @ricnar #4439 11:15 AM, 21 Aug 2023
    yes
  • @ricnar #4440 11:15 AM, 21 Aug 2023
    it was catched
  • @ricnar #4441 11:15 AM, 21 Aug 2023
    and closes
  • @HughEverett #4442 11:16 AM, 21 Aug 2023
    And after continuing it, it closes
  • @ricnar #4443 11:16 AM, 21 Aug 2023
    yes
  • @ricnar #4444 11:16 AM, 21 Aug 2023
    similar here
  • @HughEverett #4445 11:16 AM, 21 Aug 2023
    so the problem is this breakpoint.
  • @HughEverett #4446 11:16 AM, 21 Aug 2023
    Start it again
  • @HughEverett #4447 11:16 AM, 21 Aug 2023
    and reach to the entrypoint but don't continue
  • @ricnar #4448 11:16 AM, 21 Aug 2023
    yes but at least it reaches the EP
  • @ricnar #4449 11:16 AM, 21 Aug 2023
    this was the first problem to me
  • @HughEverett ↶ Reply to #4447 #4450 11:16 AM, 21 Aug 2023
    After that, run this command:

    test breakpoint off
  • @HughEverett #4451 11:17 AM, 21 Aug 2023
    and then press 'g'
  • @ricnar #4452 11:17 AM, 21 Aug 2023
    in this version it reaches the entry point
  • @HughEverett ↶ Reply to #4452 #4453 11:17 AM, 21 Aug 2023
    I know, I'm gonna show you how you can avoid triggering breakpoint in HyperDbg
  • @ricnar #4454 11:17 AM, 21 Aug 2023

    photo_2023-08-21_11-17-54.jpg
  • @ricnar #4455 11:17 AM, 21 Aug 2023
    perfect
  • @ricnar #4456 11:18 AM, 21 Aug 2023
    it runs
  • @HughEverett #4457 11:18 AM, 21 Aug 2023
    But, again one problem is here
  • @HughEverett #4458 11:18 AM, 21 Aug 2023
    the problem is that you can't use breakpoints this way
  • @ricnar #4459 11:18 AM, 21 Aug 2023
    yes
  • @ricnar #4460 11:18 AM, 21 Aug 2023
    but maybe you can reach the OEP with monitor
  • @ricnar #4461 11:18 AM, 21 Aug 2023
    to dump
  • @HughEverett #4462 11:19 AM, 21 Aug 2023
    because you turned off HyperDbg's ability to intercept breakpoints (which also ruins the '.start' command).
  • @HughEverett #4463 11:19 AM, 21 Aug 2023
    But I have a better idea
  • @ricnar #4464 11:19 AM, 21 Aug 2023
    👍
  • @HughEverett #4465 11:19 AM, 21 Aug 2023
    what if you can re-inject the breakpoint without disabling it? 🧐
  • @ricnar #4466 11:19 AM, 21 Aug 2023
    when the breakpoint is detected
  • @ricnar #4467 11:20 AM, 21 Aug 2023
    maybe
  • @ricnar #4468 11:20 AM, 21 Aug 2023
    or you can make the test command with a number of bypasess
  • @HughEverett #4469 11:20 AM, 21 Aug 2023
    I mean, I'm gonna add a script engine function that makes you able to re-inject a #BP into the guest, once a breakpoint is detect (e.g., in this special addresss).
  • @ricnar #4470 11:20 AM, 21 Aug 2023
    yes this will be better
  • @HughEverett ↶ Reply to #4470 #4471 11:21 AM, 21 Aug 2023
    This should be easy to implement, I'm gonna implement this functionality now.
  • @ricnar #4472 11:21 AM, 21 Aug 2023
    thanks
  • @ricnar #4473 11:21 AM, 21 Aug 2023
    i complicated your life again
  • @HughEverett ↶ Reply to #4473 #4474 11:22 AM, 21 Aug 2023
    No, not at all. We have such a functions in HyperDbg, I'm just gonna export it to the script engine.
  • @ricnar #4475 11:31 AM, 21 Aug 2023
    monitor x does not work with test breakpoint off ?
  • @ricnar #4476 11:31 AM, 21 Aug 2023
    does not return to hyperdbg
  • @ricnar #4477 11:32 AM, 21 Aug 2023
    remain looping
  • @HughEverett ↶ Reply to #4475 #4478 11:33 AM, 21 Aug 2023
    🤔
  • @HughEverett #4479 11:33 AM, 21 Aug 2023
    No, it should work.
  • @ricnar #4480 11:33 AM, 21 Aug 2023
    or was intercepted
  • @ricnar #4481 11:34 AM, 21 Aug 2023
    sorry continue with your work
  • @ricnar #4482 11:34 AM, 21 Aug 2023
    cannot be viewed two things at the same time
  • @HughEverett ↶ Reply to #4482 #4483 11:35 AM, 21 Aug 2023
    🤨🤨
  • @HughEverett #4484 11:35 AM, 21 Aug 2023
    what do you mean? monitor cannot view two thing at the same time?
  • @ricnar #4485 11:36 AM, 21 Aug 2023
    sorry was my fault
  • @ricnar #4486 11:36 AM, 21 Aug 2023
    i does not restore the inifinite loop
  • @ricnar #4487 11:37 AM, 21 Aug 2023
    to the original values
  • @ricnar #4488 11:37 AM, 21 Aug 2023
    and the target remain looping
  • @ricnar #4489 11:37 AM, 21 Aug 2023
    sorry
  • @ricnar #4490 11:57 AM, 21 Aug 2023
    after some executions disabling and enabling test breakpoint
  • @ricnar #4491 11:57 AM, 21 Aug 2023

    photo_2023-08-21_11-57-32.jpg
  • @ricnar #4492 11:57 AM, 21 Aug 2023
    it does not work start anymore
  • @HughEverett ↶ Reply to #4491 #4493 11:58 AM, 21 Aug 2023
    test breakpoint is not a good idea for handling this situation. It breaks the '.start' functionality.
  • @HughEverett #4494 11:58 AM, 21 Aug 2023
    The solution to these kind of problems is event injection, but generally you can use 'test breakpoint on' to enable it.
  • @ricnar #4495 11:59 AM, 21 Aug 2023
    yes
  • @ricnar #4496 11:59 AM, 21 Aug 2023
    i see
  • @ricnar #4497 11:59 AM, 21 Aug 2023

    photo_2023-08-21_11-59-52.jpg
  • @ricnar #4498 12:00 PM, 21 Aug 2023
    now it stops in the entry point double clicking
  • @ricnar #4499 12:00 PM, 21 Aug 2023
    without start command
  • @HughEverett #4500 12:00 PM, 21 Aug 2023
    😅😅😅
  • @HughEverett #4501 12:00 PM, 21 Aug 2023
    The reason is that Windows doesn't noticed that we modified this page
  • @HughEverett #4502 12:01 PM, 21 Aug 2023
    and thinks that it's not modified while maintaining it in the memory
  • @HughEverett #4503 12:01 PM, 21 Aug 2023
    and that's why it still triggers the breakpoint.
  • @ricnar #4504 12:01 PM, 21 Aug 2023
    hehe
  • @shahrilzainol #4505 12:08 PM, 21 Aug 2023
    Joined.
  • @HughEverett #4506 02:13 PM, 21 Aug 2023
    @ricnar plz check the 'dev' branch. New functions added: event_inject and event_inject_error_code
  • @HughEverett #4507 02:14 PM, 21 Aug 2023
    You need something like this:
    !exception 3 script {

    event_inject(6, 3);
    }
  • @ricnar #4508 02:14 PM, 21 Aug 2023
    How can be used?
  • @ricnar #4509 02:14 PM, 21 Aug 2023
    thanks
  • @HughEverett #4510 02:17 PM, 21 Aug 2023
    I didn't document these functions yet but the first argument is interruption type :

    INTERRUPT_TYPE_EXTERNAL_INTERRUPT = 0,
    INTERRUPT_TYPE_RESERVED = 1,
    INTERRUPT_TYPE_NMI = 2,
    INTERRUPT_TYPE_HARDWARE_EXCEPTION = 3,
    INTERRUPT_TYPE_SOFTWARE_INTERRUPT = 4,
    INTERRUPT_TYPE_PRIVILEGED_SOFTWARE_INTERRUPT = 5,
    INTERRUPT_TYPE_SOFTWARE_EXCEPTION = 6,
    INTERRUPT_TYPE_OTHER_EVENT = 7
  • @HughEverett #4511 02:17 PM, 21 Aug 2023
    And the second argument is vector number.
  • @HughEverett #4512 02:18 PM, 21 Aug 2023
    So, a breakpoint is basically a software breakpoint (INTERRUPT_TYPE_SOFTWARE_INTERRUPT) and the vector (IDT Index) of the breakpoint (#BP) is 3.
  • @HughEverett ↶ Reply to #4508 #4513 02:20 PM, 21 Aug 2023
    event injection.mp4
  • @ricnar #4514 02:22 PM, 21 Aug 2023
    I will try later
  • @ricnar #4515 02:23 PM, 21 Aug 2023
    Did you try if it works in the unpackme?
  • @HughEverett ↶ Reply to #4515 #4516 02:24 PM, 21 Aug 2023
    Do you mean the file that you upload it here?
  • @ricnar #4517 02:24 PM, 21 Aug 2023
    Yes
  • @ricnar #4518 02:25 PM, 21 Aug 2023
    If it runs without disabling the breakpoints
  • @HughEverett ↶ Reply to #4513 #4519 02:25 PM, 21 Aug 2023
    This is the same file that you sent
  • @HughEverett #4520 02:25 PM, 21 Aug 2023
    I test it with your file.
  • @HughEverett ↶ Reply to #4513 #4521 02:25 PM, 21 Aug 2023
    This video.
  • @ricnar #4522 02:26 PM, 21 Aug 2023
    Perfect
  • @ricnar #4523 02:26 PM, 21 Aug 2023
    i have a lunch now
  • @ricnar #4524 02:26 PM, 21 Aug 2023
    I'll try later
  • @ricnar #4525 02:26 PM, 21 Aug 2023
    Thanks
  • @HughEverett #4526 02:27 PM, 21 Aug 2023
    👍
  • 22 August 2023 (35 messages)
  • @ricnar #4527 08:53 AM, 22 Aug 2023

    photo_2023-08-22_08-53-24.jpg
  • @ricnar #4528 08:53 AM, 22 Aug 2023

    photo_2023-08-22_08-53-37.jpg
  • @ricnar #4529 08:53 AM, 22 Aug 2023
    it worked
  • @HughEverett ↶ Reply to #4529 #4530 08:54 AM, 22 Aug 2023
    DwuFQVZVAAEV0I1.mp4
  • @ricnar #4531 08:58 AM, 22 Aug 2023
    perfect
  • @ricnar #4532 08:58 AM, 22 Aug 2023

    photo_2023-08-22_08-58-57.jpg
  • @ricnar #4533 08:59 AM, 22 Aug 2023
    with the monitor x i can reach the oep
  • @ricnar #4534 08:59 AM, 22 Aug 2023

    photo_2023-08-22_08-59-30.jpg
  • @ricnar #4535 08:59 AM, 22 Aug 2023
    bypassing all antidebugger detections
  • @ricnar #4536 08:59 AM, 22 Aug 2023
    great
  • @ricnar #4537 08:59 AM, 22 Aug 2023
    one question more
  • @ricnar #4538 09:00 AM, 22 Aug 2023
    is there a command to dump a memory region to file?
  • @ricnar #4539 09:00 AM, 22 Aug 2023
    like dump 401000 40b000 file.txt
  • @HughEverett ↶ Reply to #4531 #4540 09:01 AM, 22 Aug 2023
    yeah this event injection is a thing that we should've add long time ago. It's really useful. You can also use it to force injecting faults/exceptions/interrupts. Like injecting keyboard interrupts or any other PMIO or MMIO devices as well as software exception/fault injections of any kind.
  • @ricnar #4541 09:01 AM, 22 Aug 2023
    i can dump putting a infinite loop and using an external program
  • @ricnar #4542 09:01 AM, 22 Aug 2023
    but if there is a command will be great
  • @HughEverett ↶ Reply to #4539 #4543 09:03 AM, 22 Aug 2023
    That should be easy to implement. As it's basically same as the 'db', 'dc', 'dq' commands. I try to implement it hopefully this weekend.
  • @ricnar #4544 09:03 AM, 22 Aug 2023
    perfect
  • @HughEverett #4545 09:03 AM, 22 Aug 2023
    Please let me know, if you need any special functionalities (arguments) to this command, so I can implement it too.
  • @ricnar #4546 09:03 AM, 22 Aug 2023
    dump the binary content from section to a file
  • @ricnar #4547 09:04 AM, 22 Aug 2023
    start_address final_address file_name
  • @ricnar #4548 09:04 AM, 22 Aug 2023
    3 arguments
  • @ricnar #4549 09:04 AM, 22 Aug 2023
    maybe
  • @ricnar #4550 09:04 AM, 22 Aug 2023
    let me think
  • @ricnar #4551 09:06 AM, 22 Aug 2023
    Maybe if it weren't so difficult, you could add a flag so that if any block in that range gives an error for some reason (for example, it is not paginated) it skips it and continues with the next one.
  • @ricnar #4552 09:06 AM, 22 Aug 2023
    normally all the range will be paginated
  • @ricnar #4553 09:07 AM, 22 Aug 2023
    the packer wrote all the content and this paginate all the range
  • @ricnar #4554 09:07 AM, 22 Aug 2023
    but for another cases maybe skip the faulty blocks and continue can be useful
  • @ricnar #4555 09:08 AM, 22 Aug 2023
    but is not important
  • @ricnar #4556 09:08 AM, 22 Aug 2023
    copying the memory range to a file is enough
  • @HughEverett ↶ Reply to #4553 #4557 09:11 AM, 22 Aug 2023
    This is great idea. 👍
  • @5783380452 ↶ Reply to #4513 #4558 09:52 AM, 22 Aug 2023
    what are you doing 🤔
  • @HughEverett ↶ Reply to #4558 #4559 09:53 AM, 22 Aug 2023
    It basically injects breakpoints into the guest, using an script function. Read this article for more details: https://rayanfam.com/topics/hypervisor-from-scratch-part-8/#event-injection
    Hypervisor From Scratch – Part 8: How To Do Magic With Hypervisor!

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

  • @5783380452 ↶ Reply to #4559 #4560 09:56 AM, 22 Aug 2023
    too insane 😅 i don't even know what it is
  • @Porsche2021 #4561 01:58 PM, 22 Aug 2023
    Joined.
  • 26 August 2023 (2 messages)
  • @prekvapko #4562 05:54 PM, 26 Aug 2023
    @HughEverett I'll run a test with the COM port again tommorow. I've had an issue with crashing applications due to high turbo boosting on my intel cpu that my cooling was unable to handle, leading to numerous processes hanging and crashing. Perhaps it also corrupted the stream of data.
  • @HughEverett ↶ Reply to #4562 #4563 06:01 PM, 26 Aug 2023
    Sounds good 👍
  • 27 August 2023 (1 messages)
  • @a1v7a9 #4564 04:45 PM, 27 Aug 2023
    Joined.
  • 28 August 2023 (14 messages)
  • @Ranboltron #4565 03:37 AM, 28 Aug 2023
    Joined.
  • @Ranboltron #4566 03:57 AM, 28 Aug 2023
    Hello guys, im a little confused about usermode debugging in Debugger mode and was hoping someone could help clarify a few things for me.
  • @Ranboltron #4567 03:59 AM, 28 Aug 2023
    I noticed .attach is not usable, is using, r cr3 = DirBase the same as doing .attach?
  • @HughEverett ↶ Reply to #4567 #4568 04:12 AM, 28 Aug 2023
    Hi,
    You have plenty of options,
    1) You can use HyperDbg in Debugger Mode (Using VMWare Workstation Player) and attach to the target process using the '.process' or the '.thread'.
    2) You can write an event for the target process and perform the modification in the target process memory layout:

    !syscall pid xxxx script { @cr3 = 0xYourDirBase; }
  • @Ranboltron #4569 04:12 AM, 28 Aug 2023
    Also is there any way for me to use usermode symbols to set breakpoints, for example bp user32!CreateProcessA
  • @HughEverett ↶ Reply to #4569 #4570 04:14 AM, 28 Aug 2023
    The breakpoints is only available on the Debugger Mode (not VMI Mode). But, still you can hook, modify, whatever in VMI Mode.
    Like,

    !epthook user32!CreateProcessA pid xxxxx script {

    // Your script to modify memory, registers, log whatever.

    }
  • @HughEverett #4571 04:15 AM, 28 Aug 2023
    You have to just make sure that the symbols of target process is loaded (specially in WoW64 processes).
    .sym reload pid xxxxx
  • @Ranboltron #4572 04:15 AM, 28 Aug 2023
    Gotcha, thanks for the help!
  • @Ranboltron #4573 04:16 AM, 28 Aug 2023
    oh one more question, is there anyway to look up a process pid by name?
  • @HughEverett ↶ Reply to #4572 #4574 04:17 AM, 28 Aug 2023
    It's always recommended to use a virtual machine in Debugger Mode as either a fault in HyperDbg, or any wrong modification might BSOD your physical system.

    Please take a look at:
    https://docs.hyperdbg.org/getting-started/attach-to-hyperdbg/debug
    Attach to a remote machine

    Remote debugging in VMI Mode and Debugger Mode

  • @HughEverett ↶ Reply to #4573 #4575 04:18 AM, 28 Aug 2023
    You can use the '.process list' and after that, use a text editor to search it.
  • @volo83 #4576 06:18 AM, 28 Aug 2023
    Joined.
  • @xmaple555 #4577 06:03 PM, 28 Aug 2023
    Joined.
  • @xmaple555 #4578 07:18 PM, 28 Aug 2023
    hi, is there any example for SDK in C++ ?
  • 29 August 2023 (14 messages)
  • @1958895173 #4579 02:21 AM, 29 Aug 2023
    Joined.
  • @HughEverett ↶ Reply to #4578 #4580 02:46 AM, 29 Aug 2023
    There is no guide of how to use SDK yet, but there are two simple project "just load hypervisor" as "hprdbgrev" for the user-mode and "hprdbgrm" for kernel-mode in the main repo. You can use them.
  • @HughEverett #4581 09:17 AM, 29 Aug 2023
    @ricnar The '.dump' command is added. It's now available in the 'dev' branch.
  • @ricnar #4582 09:18 AM, 29 Aug 2023
    thanks
  • @ricnar #4583 09:19 AM, 29 Aug 2023
    i will try it on the weekend
  • @HughEverett ↶ Reply to #4583 #4584 09:19 AM, 29 Aug 2023

    photo_2023-08-29_09-19-40.jpg
  • @ricnar #4585 09:36 AM, 29 Aug 2023
    perfect
  • @ricnar #4586 09:36 AM, 29 Aug 2023
    and the breakpoint detection?
  • @ricnar #4587 09:38 AM, 29 Aug 2023

    photo_2023-08-29_09-38-02.jpg
  • @ricnar #4588 09:38 AM, 29 Aug 2023
    you added yet sorry
  • @blackjustinFR #4590 05:36 PM, 29 Aug 2023
    anyone know good hyperv can bypass ring0 anticheat ?
  • @invlpg #4592 05:47 PM, 29 Aug 2023
    what
  • @blackjustinFR #4593 07:57 PM, 29 Aug 2023
    you know hyperv/efi dev
  • @blackjustinFR #4594 07:57 PM, 29 Aug 2023
    can make read/write for ring0 process
  • 30 August 2023 (38 messages)
  • @xmaple555 #4595 04:52 AM, 30 Aug 2023
    hi, dose anyone have the problem of patching instructions to nops using eip 90 90 ?
  • @xmaple555 #4596 04:53 AM, 30 Aug 2023
    after i try to patch user process's instruction to nops, hyperdbg gets stuck and cannot ctrl+c to interrupt
  • @xmaple555 #4597 04:54 AM, 30 Aug 2023
    the version is release 5.0
  • @HughEverett ↶ Reply to #4595 #4598 05:02 AM, 30 Aug 2023
    Hi, what command did you use?
  • @xmaple555 #4599 05:04 AM, 30 Aug 2023
    eb eip 90 90
  • @HughEverett ↶ Reply to #4599 #4600 05:05 AM, 30 Aug 2023
    Are you using hyperdbg in debygger mode?
  • @HughEverett #4601 05:06 AM, 30 Aug 2023
    What is the signature of HyperDbg? kHyperDbg?
  • @xmaple555 #4602 05:07 AM, 30 Aug 2023
    Vmi mode or remote kernel debug mode
  • @xmaple555 #4603 05:07 AM, 30 Aug 2023
    I will check.signature later
  • @HughEverett ↶ Reply to #4602 #4604 05:08 AM, 30 Aug 2023
    VMI Mode? 🤨
  • @xmaple555 #4605 05:09 AM, 30 Aug 2023
    😂 forget exact name
  • @HughEverett #4606 05:09 AM, 30 Aug 2023
    😅😅😅
    No, I mean it doesn't make sense to change @eip in the VMI Mode.
  • @HughEverett #4607 05:10 AM, 30 Aug 2023
    VMI Mode is the equivalent of Local Kernel Debugging in WinDbg.
  • @HughEverett #4608 05:10 AM, 30 Aug 2023
    In VMI Mode, registers are all considered as zero.
  • @HughEverett #4609 05:11 AM, 30 Aug 2023
    So, the RIP or EIP makes sense in context of thread. While you are local debugging, changing the memory based on registers doesn't make sense.
  • @HughEverett #4610 05:11 AM, 30 Aug 2023
    As you're not changing anything special.
  • @xmaple555 #4611 05:12 AM, 30 Aug 2023
    Sry it is debugger mode
  • @xmaple555 #4612 05:12 AM, 30 Aug 2023
    I just checked the document
  • @xmaple555 #4613 05:13 AM, 30 Aug 2023
    I want to patch user mode process instructions to nop
  • @HughEverett #4614 05:13 AM, 30 Aug 2023
    How did you attach to the target process?
  • @xmaple555 #4615 05:14 AM, 30 Aug 2023
    Epthook to syscall to attach target process
  • @HughEverett #4616 05:14 AM, 30 Aug 2023
    Are you using VMware Workstation?
  • @xmaple555 #4617 05:14 AM, 30 Aug 2023
    Yes
  • @xmaple555 #4618 05:15 AM, 30 Aug 2023
    Pro 16
  • @HughEverett #4619 05:15 AM, 30 Aug 2023
    You want to patch a system-call?
  • @xmaple555 #4620 05:15 AM, 30 Aug 2023
    No
  • @xmaple555 #4621 05:15 AM, 30 Aug 2023
    User.mod instructions
  • @HughEverett #4622 05:17 AM, 30 Aug 2023
    So, you used an '!epthook' and once it's triggered, you want to patch the current running instruction? Am I right? I also assume that you didn't use the '!syscall' for this purpose.
  • @xmaple555 ↶ Reply to #4622 #4623 05:56 AM, 30 Aug 2023
    I recap what I have done. I use epthook to ntprotectvirtualmemory in kernel to attach a target process, and then bp the return address in user-mode to return back to user-mode, and then use eb @eip 90 to patch instructions to nop
  • @HughEverett ↶ Reply to #4623 #4624 02:57 PM, 30 Aug 2023
    Got it. I will check it tomorrow.
  • @xmaple555 ↶ Reply to #4624 #4625 03:01 PM, 30 Aug 2023
    I just realized , "eb 0x123456 90" works properly. "eb @eip 90" doesn't work
  • @HughEverett ↶ Reply to #4625 #4626 03:15 PM, 30 Aug 2023
    So what if you use the 'r @eip', and after that, use the value of @eip as a constant address and modify it?
  • @HughEverett #4627 03:17 PM, 30 Aug 2023
    Like,
    kHyperDbg> r eip
    rip=0xfff12345

    And then:

    kHyperDbg> eb 0xfff12345 90 90
  • @xmaple555 #4629 03:29 PM, 30 Aug 2023
    !epthook ntprotectvirtualmemory script {
    if(dq(@r8) == 21000){
    printf("Process name: %s\n", $pname);
    printf("PID: %x\n", $pid);
    pause();
    }
    }

    ,and then

    bp 0x12345678
    eb @eip 90 90
    t
  • @xmaple555 #4630 03:30 PM, 30 Aug 2023
    hyperdbg gets stuck and cannot use ctrl + c to interrupt
  • @xmaple555 #4631 03:30 PM, 30 Aug 2023
    !epthook ntprotectvirtualmemory script {
    if(dq(@r8) == 21000){
    printf("Process name: %s\n", $pname);
    printf("PID: %x\n", $pid);
    pause();
    }
    }
    ,and then
    eb 0x12345678 90 eb fd
    g

    this work properly
  • @HughEverett #4632 03:31 PM, 30 Aug 2023
    What is '0x12345678' ? Is it a random address?
  • @xmaple555 #4633 03:32 PM, 30 Aug 2023
    that is user-mode process memory address
  • 1
  • 2
  • 02 Aug 2023 (31)
  • 03 Aug 2023 (17)
  • 04 Aug 2023 (50)
  • 06 Aug 2023 (50)
  • 07 Aug 2023 (123)
  • 08 Aug 2023 (21)
  • 09 Aug 2023 (186)
  • 10 Aug 2023 (1)
  • 12 Aug 2023 (3)
  • 13 Aug 2023 (4)
  • 15 Aug 2023 (1)
  • 18 Aug 2023 (1)
  • 21 Aug 2023 (165)
  • 22 Aug 2023 (35)
  • 26 Aug 2023 (2)
  • 27 Aug 2023 (1)
  • 28 Aug 2023 (14)
  • 29 Aug 2023 (14)
  • 30 Aug 2023 (38)