欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

答复

答复

当年我好像是从system.cpl 入手的,最后根据OD的反汇编翻译成C的,所以呢,几乎和MS原始的一样.
到了Vista64时代,06年10月吧,没办法了,只能申请数字签名了.现在都用数字签名了,省事,协安装dll也不再需要了.
  DWORD dwSeed=2,dwSize=sizeof(DWORD);
  RegCreateKey(HKEY_LOCAL_MACHINE,TEXT("SYSTEM\\WPA\\PnP"),&hkey);
  RegQueryValueEx(hkey,TEXT("seed"),0,NULL,(LPBYTE)&dwSeed,&dwSize);
  RegCloseKey(hkey);
  HCRYPTPROV hProv;
  CryptAcquireContext(&hProv,NULL,NULL,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT);
  HCRYPTHASH hHash;
  CryptCreateHash(hProv,0x8003,NULL,NULL,&hHash);
  DWORD dwSet=0x000;//忽略,0x100警告,0x200禁止
  CryptHashData(hHash,(const BYTE *)&dwSet,4,0);
  CryptHashData(hHash,(const BYTE *)&dwSeed,4,0);
  
  #define HASHLEN 16
  BYTE HashBuff[HASHLEN];
  DWORD HashLen=HASHLEN;
  CryptGetHashParam(hHash,HP_HASHVAL,HashBuff,&HashLen,0);
  
  CryptDestroyHash(hHash);
  
  RegCreateKey(HKEY_LOCAL_MACHINE,TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup"),&hkey);
  SetB(hkey,TEXT("PrivateHash"),HashBuff,HASHLEN);
  RegCloseKey(hkey);

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功