-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Independently Compile rdtscemu #4
Comments
If anyone interested i can try to build one for windows 7. Got one working for XP SP3. |
@martencassel I am interested! Although I would also appreciate an explanation of how you got it working. I experimented but I was unable to pull it off and ended up giving up. I would like to revisit it at some point though. Did you use the 32 or 64 bit version of XP for your experimenting? |
See this I tested it on Windows XP 32-bit SP3. |
Nice to hear from you ! See the pull request for details on my setup. Also, the HideDebugger DR* feature didn't work as expected and it couldn't handle Debug Registers for me when i tested it, it could hook Nt..GetThreadContext but when calling to original function it responded with an error code. |
Hello @martencassel, Thanks for the useful information! For my use case, I need it to work on 64 bit systems, so I'm going to try following through with your instructions using 64 bit Windows XP. I imagine I'll hit snags along the way, and if/when I do, I'm probably going to ask so I can compare to your experience with doing it on 32 bit XP. Needless to say, I ultimately want to use it on a modern version of Windows, but for testing purposes, I'll start off with XP since that's what it was originally built for. |
@martencassel As promised, I would appreciate some assistance! The only issue that I have seen so far with your instructions is that I don't seem to have an NMake entry in the configuration properties panel. Maybe I'm looking in the wrong place or missed a step? Anyway, since I didn't see it, I skipped it for now and hit this error when trying to compile:
I will keep experimenting, but I hope you will have some advice. Thank you! |
Only RDTSCEmu.WLHand and StealthDriver.W7 have nmake settings, because they are drivers, HideDebugger is a DLL, that hooks ntdll functions, so no driver. It uses injection technique from the main ida plugin (IDAStealth). |
Hmm alright. Perhaps it would be worth pointing that out in your instructions? I will also revisit the error message since I now know that it's not related. |
Check this out @DavidBerdik #6 |
@martencassel Thank you! The instructions were very helpful! I managed to compile the driver, but testing it with OSR Driver Loader is proving to be a challenge. When I click on "Register Service", I get a popup indicating that the registration was successful, but when I then try to "Start Service", I get an error message stating "This driver has been blocked from loading." Perhaps this is a side effect of attempting to run the driver on the 64 bit version of XP? Anyway, I am planning to try on the 32 bit version as well later. If you have any advice, please do let me know. |
Great that the guide helped |
Interesting! I had not even bothered to check on that since, to my knowledge, other 64 bit versions support 32 bit drivers. I did try testing the driver on 32 bit XP, and it loaded properly, but unfortunately, this driver doesn't seem to make it possible to pass the pafish test, which is what I was hoping to achieve with this.
Very interesting. The Wikipedia article makes it sound like Microsoft slapped together the x64 edition as quickly as possible without really taking it seriously. I suppose I could try it out on 64 bit Vista or 7, but considering that the driver doesn't seem to do what I was trying to do, I am not sure if it's worth the effort. |
Would you be willing to give some guidance on how to compile rdtscemu independently so that it can be installed on a VM outside the context of idastealth? I would like to use it to intercept
rdtsc
calls in a Windows 7 x64 VM.The text was updated successfully, but these errors were encountered: