YY-Thunks 1.0.2.8

功能 —— 让兼容Windows更轻松
- 简洁优雅,一个obj解决找不到指定入口点问题。

There is a newer prerelease version of this package available.
See the version list below for details.
Install-Package YY-Thunks -Version 1.0.2.8
dotnet add package YY-Thunks --version 1.0.2.8
<PackageReference Include="YY-Thunks" Version="1.0.2.8" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add YY-Thunks --version 1.0.2.8
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

YY-Thunks——让兼容Windows更轻松

1. 关于YY-Thunks

众所周知Windows XP每个SP都会新增大量API,而Windows 10每次更新又会新增大量API,这使得兼容不同版本的Windows需要大量的判断。

甚至大量开源代码已经不再兼容一些早期的Windows XP版本,比如 Windows XP RTM。难道就没有一种快速高效的方案解决无法定位程序输入点的问题吗?

YY-Thunks(鸭船),存在的目的就是抹平不同系统的差异,编译时单纯添加一个obj即可自动解决这些兼容性问题。让你兼容Windows更轻松!

[ 鸭船交流群 633710173 ]

1.1. 原理

使用LoadLibrary以及GetProcAddress动态加载API,不存在时做出补偿措施,最大限度模拟原始API行为,让你的程序正常运行。

1.2. 亮点

  • 更快!更安全!鸭船内建2级缓存以及按需加载机制,同时自动加密所有函数指针,防止内存爆破攻击。最大程度减少不需要的、不必要的LoadLibrary以及GetProcAddress调用以及潜在安全风险。
  • 轻松兼容Windows XP,让你安心专注于业务逻辑。
  • 完全的开放代码,广泛的接受用户意见,希望大家能踊跃的 pull requests,为鸭船添砖加瓦。

YY-Thunks——让兼容Windows更轻松

1. 关于YY-Thunks

众所周知Windows XP每个SP都会新增大量API,而Windows 10每次更新又会新增大量API,这使得兼容不同版本的Windows需要大量的判断。

甚至大量开源代码已经不再兼容一些早期的Windows XP版本,比如 Windows XP RTM。难道就没有一种快速高效的方案解决无法定位程序输入点的问题吗?

YY-Thunks(鸭船),存在的目的就是抹平不同系统的差异,编译时单纯添加一个obj即可自动解决这些兼容性问题。让你兼容Windows更轻松!

[ 鸭船交流群 633710173 ]

1.1. 原理

使用LoadLibrary以及GetProcAddress动态加载API,不存在时做出补偿措施,最大限度模拟原始API行为,让你的程序正常运行。

1.2. 亮点

  • 更快!更安全!鸭船内建2级缓存以及按需加载机制,同时自动加密所有函数指针,防止内存爆破攻击。最大程度减少不需要的、不必要的LoadLibrary以及GetProcAddress调用以及潜在安全风险。
  • 轻松兼容Windows XP,让你安心专注于业务逻辑。
  • 完全的开放代码,广泛的接受用户意见,希望大家能踊跃的 pull requests,为鸭船添砖加瓦。

Release Notes

* 优化实现,改进YY-Thunks性能与体积
     * 解决Bug,修复RtlpQueueWaitBlockToSRWLock与RtlpWakeSingle错误(感谢 清泠)
     * 解决Bug,CLSID_ShellItem符号可能冲突问题(感谢 星期四)
     * 解决Bug,与现代化stdio模式触发FAILIFMISMATCH链接错误。
     * 添加 CompareStringEx
     * 添加 CompareStringOrdinal
     * 添加 SetFilePointerEx(Windows 2000模式)
     * 添加 GetModuleHandleExW(A)(Windows 2000模式)
     * 添加 WTSGetActiveConsoleSessionId(Windows 2000模式)
     * 添加 StrToInt64ExW(A)(Windows 2000模式)
     * 添加 GetNativeSystemInfo(Windows 2000模式)
     * 添加 InitializeSListHead(Windows 2000模式)
     * 添加 InterlockedFlushSList(Windows 2000模式)
     * 添加 QueryDepthSList(Windows 2000模式)
     * 添加 InterlockedPushEntrySList(Windows 2000模式)
     * 添加 InterlockedPopEntrySList(Windows 2000模式)
     * 添加 LoadLibraryExW(A) LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR、LOAD_LIBRARY_SEARCH_APPLICATION_DIR、LOAD_LIBRARY_SEARCH_SYSTEM32支持
     * 添加 SetupDiGetDevicePropertyW
     * 添加 SetupDiSetDevicePropertyW
     * 添加 SetupDiGetClassPropertyW
     * 添加 SetupDiGetClassPropertyExW
     * 添加 SetupDiSetClassPropertyW
     * 添加 SetupDiSetClassPropertyExW

Dependencies

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.3-Beta2 27 11/23/2020
1.0.3-Beta1 41 11/16/2020
1.0.2.8 429 7/25/2020
1.0.1.23 247 11/11/2019