搞了两天还没搞定,记录下这两天分析的结论和疑惑吧。。。。。
1.
MSDN说ZwQuerySystemInformation这个API在windows 8以上取消了,x86的GetProcAddress是可以找到ZwQuerySystemInformation这个API的,x64的GetProcAddress找到了一个名字不一样的API叫RtlGetNativeSystemInformation,然后把这个API当做ZwQuerySystemInformation处理会出错闪退,但是ZwQuerySystemInformation这个API的资料没找到…进展不顺……………………
2.
如果想要注入64位的PE文件,必须保证注入的DLL也是64位的
3.
xp时代的CreateRemoteThread在7后无法使用,可以用ntdll.NtCreateThreadEx代替
4.
注入操作注意一下windows 7+引入的会话ID安全机制引发的问题
5.
64为系统的指针会从x86的4字节变为8字节,但是FARPROC….大部分的类型在x86下和x64下大小不一样,猜测是编译的时候做的修改,但是PVOID这个类型需要手动修改为PVOID64
6.
疑惑….在Hook函数时候修改API内存值的时候,memcpy了0xE9,内存中看也是对的,但是调试的时候在汇编[xx地址xx]处拿到的却是错的0xCC……..特别奇怪的问题
7.
本来以为x64下的地址为8字节,所以jmp 的address需要 -9 的,结果调试发现还是和x86一样 -5 就行了…..
8.
后面搞出x64 Hook再更新吧
3环下的进程隐藏----64位windows 10
最新推荐文章于 2024-07-07 08:40:16 发布