Tigzy wrote:I need to get the very firsts bytes of all of them in order to restore inline hooks
Hook can be installed deeper in function or/and it can be existing instruction patch.
Why not a good idea? This is not worst than SSDT restore...
Gmer does it.
GMER was always sucking at splicing detection and it restoring.
It would be useful to overwrite the bytes in one shot
cmpxchg8b, cmpxchg16b
I guess AVs got the same problems when pushing their inline hooks...
Don't know how they do it safely
There are exist trampoline methods + locking system activity etc, but still KM splicing is unsafe.
As long as you do not create process in suspended state, patch it and then resume.
Why you want to unhook? To use free from hooks API, or what?