I need more context here:
1) which version of hyperdbg are you using: precompiled, compiled from
the tarball, compiled from the SVN repo?
2) version of the guest OS.
3) base address of the i8042prt.sys and relative offset of the "cmp
[esp+1c], 0" instruction.
TIA,
Aristide
2011/7/27 mengxp(孟学政) <m...@live.cn>:
--
GnuPG Key on ID 0x25578128
http://security.dico.unimi.it/~joystick/
I am unable to reproduce the bug using the SVN version so this bug has
probably been fixed already. Please try to recompile hyperdbg from the
SVN version and consider that version as stable. We will try to update
the precompiled packages ASAP.
Greetings,
Aristide
2011/7/27 mengxp(孟学政) <m...@live.cn>:
--
can you please give me the nearest symbol to the faulty instruction?
You can use hyperdbg to get that with the command:
n 804ddd09
TIA,
Aristide
2011/7/27 mengxp(孟学政) <m...@live.cn>:
--
Unfortunately I don't have a physical machine to try it right now, but
please let me know if it behaves differently on the machine you are
going to try.
TIA,
Aristide
we think your idea is reasonable and we are investigating on how to
solve the bug. In the meantime, could you please test what happens if
you place a breakpoint on the "cmp [esp+24h+var_8], 0" instruction
and then start to single step (thus avoiding to single step on the STI
instruction).
TIA,
Aristide
2011/7/28 mengxp(孟学政) <m...@live.cn>:
--
this behavior was expected. Could you please try the patch in
attachment (patched agains the current svn version). It should now
meet the requirements of the manual and avoid triggering the VMEXIT
33, but I am unable to try it out myself as BOCHS seems to completely
ignore the interruptibility state.
TIA,
Aristide
2011/7/28 mengxp(孟学政) <m...@live.cn>:
--
2011/7/28 mengxp(孟学政) <m...@live.cn>:
> Hi,
>
> your code has some mistake.
> set bit14 should be this : pending_debug |= 0x4000
>
> and HLT state is in GUEST_ACTIVITY_STATE
>
> so code is ...
Ops, you're right, thanks.
> even though we don't get a exitcode33 but debugger never step over the
> instruction "cmp [esp+24h+var_8], 0" :-(
>
> it stop at "cmp [esp+24h+var_8], 0" forever unless we give up
> single-step...
Ouch, it probably needs some more handling then. I'll try to check it out.
> I have a question that
>
> Do you have a physical cpu support intel-vt?
If I had one right now I wouldn't be asking you to try a patch "as-is"
without testing it myself :-) Unfortunately I won't be able to try it
on a physical CPU for a couple of weeks at least.
> here is some code that support hyperdbg GUI
>
> but it is wrote in masm language ( I like writing some small program
> with masm at the past :D but now I write kernel driver with VS2010 +
> DDK ..)
>
> just run it and can get the real FrameBuffer
>
> I modified your video.c so the hyperdbg GUI works well on my machine
>
> -----------------------------------------------------------------------------------------------------------------------------------------------
> hvm_status VideoInit(void)
> {
>
> video_address = (hvm_address)0xD0060000; //got from my
> FrameBufferLocker
> video_sizex = 1280;
> video_stride = 2048;
> video_sizey = 800;
> framebuffer_size =
> video_sizey*video_stride*FRAME_BUFFER_RESOLUTION_DEPTH;
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> with DirectDraw's help,now we can operate the Frame buffer directly
>
> this is a really good way to help hyperdbg run on a physical machine
Thanks, it looks very cool! We will check it out ASAP :-)
> I think you should run hyperdbg in physical machine ,and i believe you
> have the ability to solve that problem!
I ran hyperdbg on a physical machine more than once, but never caught
this bug. As I said, I don't have the possibility to test it right now
as I don't have a machine with XP and VT-x that I can use.
Thanks for your help,
Aristide