I have some problems regarding OllyDbg and ImpRec on Vista x64 Ultimate.
OllyDbg: I ran it in compatibility mode (to nearly every OS supported to be emulated), with and without administrator privileges and with UAC enabled and disabled. I crash everytime somewhere in ntdll.
I was using OllyShadow, but I also tested with a “naked” OllyDbg 1.10 and it didn’t seem to work either.
I made a workaround script for my Olly
/ OLLYDBG 1.10 FOR VISTA ULTIMATE x64, scripted by F0GX in 2k7
//
// Successfully tested under Windows Vista Ultimate x64 with
// UAC disabled as well as the driver signature check with
// several programs. Script interpreter was ODbgScript.
//
// OllyDbg settings - Ignore all exceptions except the ones
// thrown by the kernel.
// You can reset these settings as you wish after the script has
// been executed.
//
// Just run this script after loading the program in OllyDbg. It
// will let Olly take you to the EP.
//
// Warning: This script is just a workaround, just for made for
// own purposes. Use it on own risk!
//
// It throws the API “ZwSetInformationThread” away, so programs
// could show unexpected behaviour.
//
// I couldn’t find any other workarounds, but if you do, please
// send me an email to
fogx@land.ru. Thanks in advance!
//
// Hope this’ll help you in some way,
//
// F0GX
//
// Get address of api to patch away
gpa “ZwSetInformationThread”, “ntdll.dll”
// Store it in eax
mov eax, $RESULT
// Write the ‘retn 10, nop’ at beginning of api
mov [eax], #c2100090#
// Let program run until first exception
run
// Just step into exception twice
esti
esti
// Now step over it and let the program execute…
esto
// … until it breaks at EP.
cob
// Place a nice comment there. Now we SHOULD be at EP.
cmt eip, “[ POSSIBLY PROGRAM'S ENTRY POINT ]“
// That’s everything. Not too much, but effective in most cases.