吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 241|回复: 3
上一主题 下一主题
收起左侧

[原创] VxKex NEXT实现官方Windows8、8.1正式支持的过程

  [复制链接]
跳转到指定楼层
楼主
NEOWISE 发表于 2026-8-26 20:57 回帖奖励
VxKex NEXT 基于vxiiduu VxKex开发,原本只支持Windows7,最近添加了Windows8、8.1的正式支持。本人作为主开发者,解决了逐步兼容新版Windows过程中的大量困难。
首先是安装程序的兼容。vxiiduu VxKex使用了一个未文档化的ntdll Ldr API读取注册表,而不同版本的Windows下此函数签名都不一样,按照Win7的方式在Win8上调用绝对会出现非法访问。解决方案为使用文档化的Nt API并手动释放句柄。
然后是SYSCALL的问题。vxiiduu VxKex只兼容Win7,直接硬编码了所有的系统调用号,那么换一个Windows版本肯定报错。解决方案为从磁盘上的ntdll文件手动提取调用号。有一个例外,即NtQuerySystemTime,在64位系统下这个函数在ntdll内部并不调用SYSCALL,而是返回内部地址一个变量的值,这里做一个手脚,将获取到的SSN减1即可,因为下一个函数才有SYSCALL指令。
接着是绕过CreateProcessInternalW版本检查的代码,Win7上这个逻辑在kernel32.dll,Win8以上改成了kernelbase.dll里面,这里直接匹配系统版本并改写目标dll的内存即可。
还有子进程传播的问题。Win8 Wow64下原生64位的ntdll.dll加载在64位空间,32位进程创建64位子进程时需要写入子进程的64位空间内存,需要用到天堂之门。
其他技术问题,还有很多很多,这里只列举主要的问题,最后劝一句,写代码的时候不要写得太死,就是要抽象化,像硬编码这种能少用就少用,否则后期加功能会非常麻烦。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| NEOWISE 发表于 2026-8-26 20:59 |楼主
有人可能要问为什么不直接用NtWow64WriteVirtualMemory64,这个函数确实会用到,但用之前先要把内存的属性从只读改为可读写,这一步没有相应的NtWow64函数,必须用X64Call(天堂之门)。
3#
chishingchan 发表于 2026-8-26 21:06
4#
HUIANG 发表于 2026-8-27 01:14
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-8-27 02:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表