- 16 May 2022 (117 messages)
-
-
-
Hi
-
The discussion is based on this thread I think
-
Kernel Panic introduced · Issue #165 · HyperDbg/HyperDbg
Describe the bug On load vmm, kernel panic with error WHEA_UNCORRECTABLE_ERROR To Reproduce Introduced somewhere between commits: 9ee4f34 April 5th (working) 14c6764 April 8th (fails) Expected beha...
-
-
-
So, can you provide the exact commit that causes this problem ?
-
As you said it's somewhere in April
-
Joined.
-
-
You mean before this commit you didn't have the problem but after that the problem appears, right?
-
-
Can you send the github link of this commit ? I don't know how to map it to exact commit link in github.
-
Refactor: Port all CPU (VT-x) related data structures to the "IA32-do… · HyperDbg/HyperDbg@9ee4f34
…c" library. - vmcs - vpid
-
so, this is the guilty commit?
-
-
👌👌😁
-
Binary search always works.
-
-
-
-
-
-
-
you mean the commit after the 3fc843d7abeb1810d2d698f7b05db1805ee37f15 caused the problem. right?
-
-
okay, would you pls send its github link.
-
Refactor: Port all CPU (VT-x) related data structures to the "IA32-do… · HyperDbg/HyperDbg@b1d7415
…c" library. - This commit contains lots of changes that need to be tested, so properly it's unstable.
-
-
actually only about 5, commit 16100f51f68b4feba1730b333d72f972266fcefa
Author: Behrooz Abbassi <BehroozAbbassi@outlook.com>
Date: Mon Apr 4 14:50:13 2022 -0700
Refactor: Port all CPU (VT-x) related data structures to the "IA32-doc" library.
- Control Registers
- Debug Registers
- Paging structures
commit b1d7415ee39f75c0b2822e0e6cccbe4b4cd6cbd3
Author: Behrooz Abbassi <BehroozAbbassi@outlook.com>
Date: Mon Apr 4 13:36:33 2022 -0700
Refactor: Port all CPU (VT-x) related data structures to the "IA32-doc" library.
- This commit contains lots of changes that need to be tested, so properly it's unstable.
commit 9871c1613e86fa087091f302d5c97b611346f1db
Author: Behrooz Abbassi <BehroozAbbassi@outlook.com>
Date: Mon Apr 4 10:58:59 2022 -0700
Refactor: Add "IA32-doc" library as a replacement to all IA32 data structures.
commit 340730e29fa59b55f1b782d0409dee540d3bd0ef
Merge: e4166e36 216077e8
Author: Mohammad Sina Karvandi <SinaKarvandi@users.noreply.github.com>
Date: Sat Apr 2 20:56:57 2022 +0430
Merge pull request #147 from HyperDbg/dev
Dev
commit 216077e8e722235047ff69ae8858c875dfaae3ac
Author: SinaKarvandi <ms.karvandi@yahoo.com>
Date: Sat Apr 2 20:56:16 2022 +0430
fix memory search errors in user mode addresses for debugger mode
: -
-
yep
-
-
-
From your descriptions, I concluded the guilty commit is the one marked with 'x'.
-
-
Would you please check the commit before, i mean this commit: https://github.com/HyperDbg/HyperDbg/commit/9871c1613e86fa087091f302d5c97b611346f1db
-
and verify if it's working or not?
-
-
-
That's cool, now we know that sth in https://github.com/HyperDbg/HyperDbg/commit/b1d7415ee39f75c0b2822e0e6cccbe4b4cd6cbd3 causes the errors.Refactor: Port all CPU (VT-x) related data structures to the "IA32-do… · HyperDbg/HyperDbg@b1d7415
…c" library. - This commit contains lots of changes that need to be tested, so properly it's unstable.
-
sry
-
-
Refactor: Port all CPU (VT-x) related data structures to the "IA32-do… · HyperDbg/HyperDbg@b1d7415
…c" library. - This commit contains lots of changes that need to be tested, so properly it's unstable.
-
this commit i mean
-
is it true?
-
-
-
That's okay, tomorrow I'll try to figure out the problem of 'load vmm' on this commit.
-
Now, is there any other problem? other than 'load vmm' crash.
-
-
-
yep, thanks a lot for finding it 🙏
-
👍
-
-
okay yeah, 9871c1613e86fa087091f302d5c97b611346f1db does work. I saw the image I posted above that said the driver failed to install, but I guess I needed to reboot after my last load.
-
that's okay. what is the problem with symbol loading?
-
-
Does it have problem on the latest commit ?
-
-
-
-
that's good
-
any other problems?
-
I assume it's fixed as you said it's fine in the latest commit. isn't there any other problem with .sym ?
-
-
-
-
yeah, i know
-
thanks
-
no problem
-
i'll try to fix that 'load vmm' error
-
also, do you have a crash dump for it?
-
-
or if there is not crash dump, then the result of WinDbg's !analyze -v will be helpful.
-
-
-
-
-
-
So, we still didn't find the guilty commit.
-
-
-
-
😕
-
-
I know what you mean
-
These are the dark sides of developing such thing
-
Also, pls shutdown and retest it on the latest commit again.
-
Maybe it worked.
-
-
Don't worry, I'm sure you can find it. ✌️
-
.
-
-
-
That's great. Maybe the reason for the crash was the way you reset (cold boot or sth like this)
-
-
-
-
Okay.
-
That's sth interesting
-
-
We should have a solution for this.
-
All in all, we can conclude that the latest commit doesn't have any problem.
For solving that issue, we should check the driver to match with the executable. -
Right?
-
-
-
-
-
🤔
-
This thing is super hard to figure out
-
Because we couldn't deterministically reproduce the error.
-
Btw, I'll check the crash dump tomorrow to see if I can find anything
-
Pls keep testing and notify us if I find any other hints
-
-
- 17 May 2022 (8 messages)
-
I've found the exact commit, 38bef6396bc98d0e1af67fc35908c42b7b3f656e. I tested it multiple times, with the following steps:
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
git reset --hard 38bef6396bc98d0e1af67fc35908c42b7b3f656e
load project hyperdbg.sln into VS 2019
Set kdserial project settings to test sign, SHA256 signing
build
run hyperdbg-cli.exe
.sympath SRV*c:\Symbols*https://msdl.microsoft.com/download/symbols
.sym reload
.connect local
unload remove vmm
load vmmGitHub - HyperDbg/HyperDbg: State-of-the-art native debugging toolState-of-the-art native debugging tool. Contribute to HyperDbg/HyperDbg development by creating an account on GitHub.
-
-
-
Unfortunately, I couldn't reproduce the error on my Skylake machine. I try other systems to see if I can reproduce it or not.
-
If it's possible, please also consider to check the same build on other machines. My first guess is that there might be a problem with your device. However, I try to investigate and find the cause of error.
-
The error is so much hardware related 😟
-
Nope, the error is not reproduced even in other systems. @Rwkeith
-
Can you test it in another system @Rwkeith ? I think your specific computer only produces this error.
- 18 May 2022 (74 messages)
-
-
-
-
-
-
Okay, it's not a build issue. I went to that commit, and reverted each of the files individually to the previous commit hash (7 total). I was able to run successfully after the build. My current theory is that there's a redefinition or header include order issue going on. Will debug more tomorrow.
-
-
-
-
-
Please allow me to make the commit for the work I put into it. I think I need permissions to push though?
-
-
Hi, thanks a lot for sending pull request. It's merged.
-
Yep, we were so lucky that you find this flaw. These things are really hard to figure out.
-
I merged your pull request into the main (master) branch. Please check and retest the latest commit and confirm if the problem is solved or not. Thanks. 🙏
-
-
🤝
-
-
-
please test it again and tell us if the problem remained unsolved.
-
we're currently focusing on fixing bugs related to the script engine.
-
-
-
👌👌👌
-
-
yes
-
you can change the following buffer limitations from the code :
-
/**
* @brief Default buffer count of packets for message tracing
* @details number of packets storage for regualr buffers
*/
#define MaximumPacketsCapacity 1000 -
and
-
/**
* @brief Size of each packet
* @details NOTE : REMEMBER TO CHANGE IT IN USER-MODE APP TOO
* @warning we redefine it on ScriptEngineEval.h change it on
* that file too
*/
#define PacketChunkSize 4096 // PAGE_SIZE -
okay, and this is what I'm doing in particular. I linked you before https://pastebin.com/kgtE29Pv// Current command...// conveniently our hyperviser driver and dll that is tes - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
-
okay, and did you successfully reached to your goals by the above script?
-
-
-
-
you didn't unload before closing the program ?
-
-
🤔
-
-
-
-
-
-
have you ever used .start command ?
-
-
-
.start (start a new process)
Description of the '.start' command in HyperDbg.
-
You could use it but I disabled it for now.
-
Because it has some problems
-
but in kHyperDbg it's fully usable.
-
do you have a VMware Workstation?
-
do you test HyperDbg on your physical system?
-
-
do you attached a debugger ? Windbg?
-
-
It's really weird
-
-
take a look at it :
-
!syscall, !syscall2 (hook system-calls)
Description of '!syscall, !syscall2' commands in HyperDbg.
-
-
i thought PatchGuard will destroy system on test sign mode with !syscall command
-
-
-
are you sure that it disables patchguard?
-
I don't know.
-
-
-
the remark should be changed to avoid confusion.
-
-
I'm pretty sure disabling DSE won't turn off the PatchGuard.
-
-
👍
-
here it seems implied also that doing test sign disables PG
-
I'll add some more description for clarification.
- 19 May 2022 (3 messages)
-
Not getting any log data from !epthook or !syscall in the console after I paste in my hooks. I check my events list and ensure they're enabled. I do events e all. Do I need to enable console logging now? I tested my hooks on an older build and it logs immediately to console after I paste my hooks into hyperdbg-cli.
-
Hey, it should be fixed by now.
-
thanks to @Mohammadhosein_76 for fixing it
- 20 May 2022 (9 messages)
-
-
-
Are you sure? How do you test it?
-
i retest it and it seems to be working.
-
-
-
-
-
👍
- 23 May 2022 (2 messages)
-
@Rwkeith Are you sure that the driver of HyperDbg (hprdbghv.sys) needs to be removed "unload remove vmm" each time before loading a new version of the driver? If it's not currently loaded.
-
I was investigating the problem you told me about. However, after getting a new update of HyperDbg and loading the driver "load vmm" the new driver is loaded (the expected behavior), so I'm wondering what the problem you told me about loading the previous version of the driver was.
- 27 May 2022 (2 messages)
-
I was going through several versions of hyperdbg. So this could have been the case for an older version? The way I thought it worked is that the load vmm checks to see if driver is installed, ‘sc create…’ , and whatever path was last given, was using that. I haven’t looked yet to verify, but I had some cases where I think it was still using the install path from a previous repo.
-
No, we didn't have any recent code updates for it.
The way you think is probably wrong. 🤔
However, it's really easy to test it. Just add a LogInfo("Test"); somewhere in the driver and test if you see the Test message or not. - 28 May 2022 (33 messages)
-
-
-
and 0xfffff802886816a0 points to my C hook in another loaded driver I call
-
the dump (unfortunately symbols don't exist yet I believe for this win ver)
-
-
-
the function in C is disassembled as 2 instructions
-
-
Okay pls send a pull request and fix it in the code too.
-
This was just an epthook I made. This isn't to do with Hyperdbg code itself
-
-
-
-
Oh sorry, I misunderstood
-
No, that's fine.
-
I didn't get the point. Is it fixed now? Or still has problem?
-
The reason why it work for you is because it's never called
-
-
you should put your hook here in newer Windowses
-
-
-
-
what is the exact commad that you used ?
-
-
-
I'll test it but you probably broke something in fastcall calling convention
-
Also for debugging it, you might use sth like :
-
push rcx
movabs rcx, 0xFFFFF802C91016A0
int3
call rcx
pop rcx
ret -
-
-
-
No, the only problem might be because of fastcall calling convention, stack is not involved because we just call the function directly from vmx root. No stack switching is involved
-
I'll debug it tomorrow and notify you about the results
- 29 May 2022 (8 messages)
-
I checked it and it was correct. Did you used sth like :
!epthook nt!NtQuerySystemInformation code {51 48 b9 a0 16 10 c9 02 f8 ff ff ff d1 59 c3 } -
?
-
Would you please check the following assembly code :
0: 51 push rcx
1: 48 b9 a0 16 10 c9 02 movabs rcx,0xfffff802c91016a0
8: f8 ff ff
b: 48 83 ec 20 sub rsp,0x20
f: ff d1 call rcx
11: 48 83 c4 20 add rsp,0x20
15: 59 pop rcx
16: c3 ret -
It's because in fastcall calling convention there is a space (i dunno the exact name, maybe it was shadow stack or sth like this) which should be freed for the callee. Maybe that's the reason you get BSOD.
-
-
-
-
👍