具体内容
最近在研究nt5src代码,一直困惑在激活的问题上。其实,只要有winlogon.exe的源代码就没有问题啦!(废话)
原指南上有两个版本的winlogon:
1、“Winlogon200X_v3c.zip”这个轻松编译完成(需要先编译“win2003_pidgenXP_cracked.zip”),但是这个程序很多bug,登录后配置经常出问题,还有莫名的bug,估计是2000的机制与2003差异太大了。不推荐大家研究它。
2、“ds.zip_decompiled_XPSP1_winlogon.zip”这个是编译不通过的。经过我研究后,终于编译通过,而且经过测试完美的解除了激活的问题。而且这个不需要“win2003_pidgenXP_cracked.zip”。
具体修改过程如下:
1、编译“licensing”目录
先修改目录“ds\security\licensing\explib”下面的文件“sources”,增加include头文件搜素位置
INCLUDES=$(BASE_INC_PATH);$(TERMSRV_INC_PATH);$(SDK_INC_PATH)\crt\stl60;
增加“includes”搜索目录“$(SDK_INC_PATH)\crt\stl60;”(红色字体部分),实际缺少“utility、xutility”文件的搜索位置,该两条文件在目录“public\sdk\inc\crt\stl60”下。
进入到“ds\security\licensing”下,进行编译“build /cZP”
2、编译“winlogon”
在编译“winlogon.exe”前需要修改目录“ds\security\gina\winlogon”下五条文件,修改的地方分别如下:
2.1、sclogon2.c
找到以下几个函数的实现地方
NTSTATUS s_RPC_ScHelperGetProvParam(
handle_t h,
BINDING_CONTEXT BindingContext,
LPCWSTR wszPIN,
DWORD dwParam,
DWORD *pdwDataLen,
OUT_BUFFER1 *pbData,
DWORD dwFlags)NTSTATUS s_RPC_ScHelperSignMessage(
handle_t h,
BINDING_CONTEXT BindingContext,
LPCWSTR wszPIN,
ULONG Algorithm,
ULONG BufferLength,
BYTE *Buffer,
ULONG *pSignatureLength,
OUT_BUFFER2 *pSignature)
NTSTATUS s_RPC_ScHelperSignPkcsMessage(
handle_t h,
BINDING_CONTEXT BindingContext,
LPCWSTR wszPIN,
LPSTR AlgorithmPszObjId,
DWORD AlgorithmParametersLength,
BYTE *AlgorithmParameters,
DWORD dwSignMessageFlags,
ULONG BufferLength,
BYTE *Buffer,
ULONG *pSignedBufferLength,
OUT_BUFFER2 *pSignedBuffer)
NTSTATUS s_RPC_ScHelperDecryptMessage(
handle_t h,
BINDING_CONTEXT BindingContext,
LPCWSTR wszPIN,
ULONG CipherLength,
&

最低0.47元/天 解锁文章
1919





