YY-Thunks 1.0.2.8

There is a newer version of this package available.
See the version list below for details.
dotnet add package YY-Thunks --version 1.0.2.8                
NuGet\Install-Package YY-Thunks -Version 1.0.2.8                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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                
#r "nuget: YY-Thunks, 1.0.2.8"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install YY-Thunks as a Cake Addin
#addin nuget:?package=YY-Thunks&version=1.0.2.8

// Install YY-Thunks as a Cake Tool
#tool nuget:?package=YY-Thunks&version=1.0.2.8                

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,为鸭船添砖加瓦。
Product Compatible and additional computed target framework versions.
native native is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on YY-Thunks:

Package Downloads
VC-LTL

功能 —— 编译精巧的程序原来如此简单 * 晚起的鸟儿也有虫虫吃,优雅的引用方式,仅添加一个属性表就能享受极致的体积体验。 * 无缝使用最新C/C++库以及最新编译器,尽情的使用最新规范。神马异常流防护(guard:cf)、静态对象线程安全初始化(threadSafeInit)……统统放马过来吧!! * 拥有比微软原版更好的兼容性,即使想兼容Windows XP RTM也可以安心的对新编译器说“Yes”。 * 完全的开放代码,广泛的接受用户意见,希望大家能踊跃的 pull requests,为VC-LTL添砖加瓦。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.4 579 11/5/2024
1.1.4-Beta5 75 10/30/2024
1.1.4-Beta4 93 10/22/2024
1.1.4-Beta3 74 10/21/2024
1.1.4-Beta2 78 10/20/2024
1.1.4-Beta1 72 10/15/2024
1.1.3 220 9/30/2024
1.1.3-Beta7 73 9/24/2024
1.1.3-Beta6 70 9/20/2024
1.1.3-Beta5 89 9/14/2024
1.1.3-Beta4 85 9/12/2024
1.1.3-Beta3 76 9/9/2024
1.1.3-Beta2 105 9/4/2024
1.1.3-Beta1 85 9/3/2024
1.1.2 3,251 8/11/2024
1.1.2-Beta7 67 8/4/2024
1.1.2-Beta6 91 7/25/2024
1.1.2-Beta5 79 7/25/2024
1.1.2-Beta4 155 7/14/2024
1.1.2-Beta3 681 6/30/2024
1.1.2-Beta2 90 6/24/2024
1.1.2-Beta1 473 6/22/2024
1.1.1 361 6/8/2024
1.1.1-Beta1 583 5/30/2024
1.0.10-Beta8 183 5/25/2024
1.0.10-Beta7 131 5/19/2024
1.0.10-Beta6 82 5/14/2024
1.0.10-Beta5 98 5/9/2024
1.0.10-Beta4 106 5/6/2024
1.0.10-Beta3 136 5/4/2024
1.0.10-Beta2 57 5/3/2024
1.0.10-Beta1 73 5/1/2024
1.0.9 580 10/22/2023
1.0.9-Beta4 127 10/4/2023
1.0.9-Beta3 192 10/1/2023
1.0.9-Beta2 219 8/10/2023
1.0.9-Beta1 151 6/22/2023
1.0.8 407 6/22/2023
1.0.8-Beta4 172 5/20/2023
1.0.8-Beta3 189 5/20/2023
1.0.8-Beta2 138 5/11/2023
1.0.8-Beta1 210 5/9/2023
1.0.7 355 4/19/2023
1.0.7-Beta4 164 3/18/2023
1.0.7-Beta3 205 3/8/2023
1.0.7-Beta2 210 1/24/2023
1.0.7-Beta1 226 11/5/2022
1.0.6 728 7/3/2022
1.0.6-Beta1 198 5/15/2022
1.0.5 588 3/13/2022
1.0.5-Beta3 192 1/28/2022
1.0.5-Beta2 205 11/9/2021
1.0.5-Beta1 269 10/9/2021
1.0.4 509 8/31/2021
1.0.4-Beta3 604 7/12/2021
1.0.4-Beta2 231 6/30/2021
1.0.4-Beta1 194 6/17/2021
1.0.3 396 6/11/2021
1.0.3-Beta4 232 5/7/2021
1.0.3-Beta3 293 1/8/2021
1.0.3-Beta2 264 11/23/2020
1.0.3-Beta1 257 11/16/2020
1.0.2.8 885 7/25/2020
1.0.1.23 717 11/11/2019

* 优化实现,改进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