There is available new update for wow64ext library, I’ve added two new functions:
- SetThreadContext64()
- GetThreadContext64()
There is also definition of _CONTEXT64 structure that is used by those functions. Sample usage:
1 2 3 4 5 6 7 8 9 | _CONTEXT64 ctx = { 0 }; ctx.ContextFlags = CONTEXT64_ALL; GetThreadContext64(GetCurrentThread(), &ctx); printf("rsp: %016I64X\n", ctx.Rsp); printf("rip: %016I64X\n", ctx.Rip); printf("r8 : %016I64X\n", ctx.R8); printf("r9 : %016I64X\n", ctx.R9); printf("r12: %016I64X\n", ctx.R12); |
Link to library hosted on google code: http://code.google.com/p/rewolf-wow64ext/
Direct link to zip package: https://rewolf-wow64ext.googlecode.com/files/rewolf.wow64ext.v1.0.2.zip
We decided to list your blog in our forum. Thanks for providing good quality research.
regards,
owner @opensc.ws
aha,your app cannot support for win8,how to fix your code to do this??
Do you plan to add Windows 8 support to wow64ext ?
I haven’t checked it against Win8 as my old laptop doesn’t have virtualization support, so I can’t run x64 Win8 in virtual machine. As the code is open, you can check for yourself why it is broken and fix it, because I can’t tell you when I’ll have resources to check&fix it.
Great job! But I found a bug in wow64ext.h
It is true, but only for Windows 7
For Vista
For Windows 8
@Hors
Wow (and I dont’ mean wow64 in that case :D), I’ll have to check it.
Hi,
ReWolf good job on this blog am a fan of this. Can you please add CreateRemoteThread() to your awesome library. it would be useful for Code Injection and API hooking. Thanks
in advance.
Probably I could add it, but since I don’t have much time I can’t promise that it will be added anytime soon. You can add it on your own, it should be pretty simple, I believe that wrapper for x64 version of NtCreateThread/NtCreateThreadEx should do the trick. Just look how other functions inside wow64ext library are implemented and use X64Call() function to call mentioned functions.
@ReWolf
Hi,
Thanks! I will study your code properly and will implement my own vesion. I will post the code here as well.
Also do after performing heavens gate do I need to only use ntdll native functions?
@Swaggy
Yes, because there is only x64 version of ntdll available in this mode.
@ReWolf
Final Question:
Can your epic library code work on windows 7 , XP , Vista , Windows 8?
Thanks for baring with me.
XP x64 – I don’t know.
Vista x64 – should work
Win7 x64 – works perfectly.
Win8 x64 – I had some reports that it doesn’t work, but haven’t checked it.
Would WoW64ext enable GetSystemFileCacheSize to return 64 bit pointer. Currently with WOW64 it only returns low 32 bits and returns error 534 if cache is over 32 bit limit.
I’ve researched this topic and replied you in a separate post here http://blog.rewolf.pl/blog/?p=621
Hi,
I know others said, this but can you create a post of creating a code injection using this library into x64 processes, This would help a lot of us especially programmers and reverse engineers. Thanks
I’m not sure who will benefit from it most, but I’m not willing to write such post. Anyway, it should be really easy with this library, so I’m pretty sure that people that want to do it, will figure it.