Sysprep

179 篇文章 0 订阅
86 篇文章 0 订阅

Sysprep

 

 

//----- (10002AB0)--------------------------------------------------------
int __stdcall SqmSysprepCleanup()
{
  CleanupAllWinSqmFiles();
  return 0;
}

//----- (10002AC0)--------------------------------------------------------
LSTATUS __stdcall SqmSysprepGeneralize()
{

  v0 =0;
  v18 =(struct _SECURITY_ATTRIBUTES *)1;
  v16 =0;
  v1 =0;
  v17 =0;
  v19 =L"Software\\Microsoft\\SQMClient";
  v20 =L"Software\\Microsoft\\SQMClient\\Windows";
  v21 =L"Software\\Microsoft\\SQMClient\\Windows\\Uploader\\PendingUpload";
  v22 =L"Software\\Microsoft\\SQMClient\\Windows\\Users";
  v23 =L"Software\\Microsoft\\SQMClient\\Windows\\DisabledSessions";
  v24 =L"Software\\Microsoft\\SQMClient\\Windows\\DisabledProcesses";
  v25 =L"Software\\Microsoft\\SQMClient\\Windows\\CommonDatapoints";
  v26 =L"Software\\Microsoft\\SQMClient\\Windows\\ServerSync";
  v27 =L"Software\\Microsoft\\SQMClient\\Windows\\AdaptiveSQM\\ManifestInfo";
  v28 =L"Software\\Microsoft\\SQMClient\\Windows\\AdaptiveSQM\\Throttling";
  v29 =L"Software\\Microsoft\\SQMClient\\CommonUploader";
  v30 =L"Software\\Microsoft\\SQMClient\\Windows\\Uploader";
  RegSetSysprepKey();
  if (RegGetDWordValue(
         L"Software\\Microsoft\\SQMClient\\Windows",
         &stru_1000164C,
         (constunsigned __int16 *)&v18,
         v6,
         v11))
  {
    v18 =(struct _SECURITY_ATTRIBUTES *)1;
  }
  if
(!RegGetDWordValue(
          L"Software\\Microsoft\\SQMClient\\Windows",
          &stru_10001664,
          (constunsigned __int16 *)&v16,
          v7,
          v12))
    v0 =1;
  if (!RegGetDWordValue(L"Software\\Microsoft\\SQMClient",&stru_100016A0, (const unsigned __int16 *)&v17, v8, v13))
    v1 =1;
  v3 =0;
  while (1 )
  {
    result =RegDeleteAllValues((int)v2, (&v19)[2 * v3]);
    if (result )
      break;
    if ((unsigned int)++v3 >= 0xC )
    {
      if
(!v1
        ||(result =RegSetDWordValue(
                       L"Software\\Microsoft\\SQMClient",
                       v2,
                       (const unsigned __int16 *)&stru_100016A0,
                       v17,
                       v9,
                       v14)) == 0 )
      {
        result =RegSetDWordValue(
                   L"Software\\Microsoft\\SQMClient\\Windows",
                   v2,
                   (const unsigned __int16 *)&stru_1000164C,
                   v18,
                   v9,
                   v14);
        if ( !result )
        {
          if
( v0 )
            result = RegSetDWordValue(
                       L"Software\\Microsoft\\SQMClient\\Windows",
                       v5,
                       (const unsigned __int16 *)&stru_10001664,
                       v16,
                       v10,
                       v15);
        }
      }
      return
result;
    }
  }
  return
result;
}
// 100011D0: using guessed type wchar_taSoftwareMicr_9[37];
// 10001220: using guessed type wchar_t aSoftwareMicr_8[60];
// 10001298: using guessed type wchar_taSoftwareMicr_2[43];
// 100012F0: using guessed type wchar_taSoftwareMicr_0[54];
// 10001360: using guessed type wchar_taSoftwareMic_10[55];
// 100013D0: using guessed type wchar_taSoftwareMicr_1[54];
// 10001440: using guessed type wchar_taSoftwareMicr_5[48];
// 100014A0: using guessed type wchar_taSoftwareMicr_7[62];
// 10001520: using guessed type wchar_taSoftwareMicr_3[60];
// 10001598: using guessed type wchar_taSoftwareMic_12[44];
// 100015F0: using guessed type wchar_taSoftwareMicros[46];

//----- (10002C10)--------------------------------------------------------

int __stdcall SqmSysprepSpecialize()
{
  HRESULT v0; //eax@1
  HRESULT v1; //esi@1
  HKEY v2; //ecx@8
  HKEY v4; //[sp-10h] [bp-38h]@0
  const unsigned __int16*v5; //[sp-Ch] [bp-34h]@0
  unsigned __int64 v6; // [sp+0h] [bp-28h]@0
  const unsigned __int16*v7; //[sp+0h] [bp-28h]@1
  const unsigned __int16*v8; //[sp+0h] [bp-28h]@6
  unsigned __int32 *v9; // [sp+4h] [bp-24h]@1
  unsigned __int32 v10; // [sp+4h] [bp-24h]@6
  struct _SECURITY_ATTRIBUTES *v11; // [sp+8h][bp-20h]@1
  int v12; // [sp+Ch] [bp-1Ch]@1
  struct _FILETIMESystemTimeAsFileTime; // [sp+10h] [bp-18h]@1
  int v14; // [sp+18h] [bp-10h]@1
  int v15; // [sp+1Ch] [bp-Ch]@1
  int v16; // [sp+20h] [bp-8h]@1
  int v17; // [sp+24h] [bp-4h]@1

  v14 =0;
  SystemTimeAsFileTime.dwLowDateTime = 0;
  v15 =0;
  SystemTimeAsFileTime.dwHighDateTime = 0;
  v12 =0;
  v11 =0;
  v16 =0;
  v17 =0;
  GetSystemTimeAsFileTime(&SystemTimeAsFileTime);
  RegSetDWord64Value(
    v4,
    v5,
    SystemTimeAsFileTime.dwLowDateTime,
    (constunsigned __int16 *)SystemTimeAsFileTime.dwHighDateTime,
    v6);
  v0 =CoInitialize(0);
  v1 =v0;
  if (v0 >= 0|| v0 ==-2147417850)
  {
    CleanupAllWinSqmFiles();
    if (!SqmReadSharedUserId((int)&v14) )
    {
      if
(!SqmReadSharedUserId((int)&v14) )
        goto LABEL_11;
      SetLastError(0);
    }
    if
((RegGetDWordValue(
            L"Software\\Microsoft\\ReliabilityAnalysis\\RAC",
            &stru_10001700,
            (constunsigned __int16 *)&v11,
            v7,
            v9)
       ||!v11)
      &&CreateSamplingNumber((unsigned int*)&v11) >= 0
      &&v11 )
    {
      RegSetDWordValue(
        L"Software\\Microsoft\\ReliabilityAnalysis\\RAC",
        v2,
        (constunsigned __int16 *)&stru_10001700,
        v11,
        v8,
        v10);
    }
  }

LABEL_11:
  if (v1 >= 0)
    CoUninitialize();
  return 0;
}

 

//----- (10003E08)--------------------------------------------------------
LSTATUS __cdecl RegSetSysprepKey()
{
  LSTATUS v0; //esi@1
  HKEY phkResult; // [sp+4h] [bp-4h]@1

  phkResult =0;
  v0 =RegCreateKeyExW(
         HKEY_LOCAL_MACHINE,
         L"Software\\Microsoft\\SQMClient\\SysprepPerformed",
         0,
         0,
         1u,
         0x20106u,
         0,
         &phkResult,
         0);
  if (v0 && WPP_GLOBAL_Control != &WPP_GLOBAL_Control&& *((_BYTE *)WPP_GLOBAL_Control+ 28) & 1 )
    WPP_SF_SD(
      46,
      (int)WPP_f9cefb2c04063ea30c4011796e605244_Traceguids,
      *((_DWORD *)WPP_GLOBAL_Control +4),
      *((_DWORD *)WPP_GLOBAL_Control +5),
      L"Software\\Microsoft\\SQMClient\\SysprepPerformed",
      v0);
  if (phkResult )
    RegCloseKey(phkResult);
  return v0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Win8的封装 用:Sc Sc封装工具简介 Sysprep Chief Executive Officer 意为系统封装首席执行官,简称Sc,由系统总裁网站(http://www.sysceo.com/)开发研制,是一款面对Windows操作系统封装的一款辅助工具,界面友好、简单易用、智能高效、自定义强,是学习研究系统封装爱好者的首选。 我的效果图: WIN 8 的驱动可以直接用:万能驱动助理 万能驱动助理(从5.25版起),WIN 7的驱动完全运行WIN 8 直接不能用,可以做一点点的修改,就完全可以了 这是WIN 7的 这样WIN8就完全支持了 最新公测版本号为:Beta1.2.0.1009 支持平台: Windows XP/2000/2003/7/2008/8 关于封装WIN8卡住不执行问题的解决办法: 这个是权限问题!请检查系统用户是否为管理员,如果是,不要急,再查看一下UCA是否打开,如果打开请关闭,如果已经关闭,请在检查一下注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "FilterAdministratorToken"=dword:00000001,把这里值改成0,再者请右击程序管理员运行! 功能简要: 五大自定义功能模块:母盘系统、工具大全、目标系统、计划任务、部署过程、封装过程。 1、母盘系统:自动智能扫描并检测当前被封装的系统状态,全面扫描系统信息、封装部署必备文件、封装部署所依赖的各大细节、系统精简等多项导致封装部署失败的文件和事项,并且提供系统修复和精简功能。 2、工具大全:提供封装相关的精品辅助软件的下载,每款软件都经过多次测试无误的精品软件,一站式封装全套软件一网打尽,并提供及时更新和测试。 3、目标系统:对部署的目标系统的强大自定义设置模块,主要设置有:常规优化、智能转移目标系统资料、智能删除部署使用过驱动包、智能转换NTFS文件系统、预制随机计算机名、智能识别笔记本并做相应处理、设置固定IP和预制随机IP、设置目标系统用户名、安装序列号等等。 4、计划任务:对部署过程提供的强大自定义外部软件和设置的接口模块、接口数量无限,提供的接口过程有5个,分别是:系统部署前、部署中、部署后、首次进系统登录时,首次进系统进桌面时;提供运行的接口类型有4种,分别是:运行软件、导入注册表、删除文件、删除文件夹;对于运行的接口方式有4种,分别是:正常运行、隐藏运行、最大化运行、最小化运行;对于运行接口完成后还提供删除接口源文件的功能,并每个接口间运行都可以自定义等待时间、不等待、等待上一个接口运行完成的模式。 5、部署过程:对部署过程的一些自定义设置模块,主要设置有:部署背景图(单张、多张轮流播放)、部署前密码验证机制、部署前安装协议机制、部署前加载usb设备驱动、激活Administrator用户、自定义部署分辨率、自定义系统部署文件颜色、自定义部署模块。 6、封装过程:对系统封装过程的一些自定义设置模块,主要设置有:自动运行Sysprep.exe进行封装、自动卸载硬件驱动、自动更改处理硬件HAL、加载扩展SRS驱动、自动保存当前系统的输入法状态、封装后锁定计算机信息防止二次修改等等。 细节亮点: 1、Sc支持系统安装意外断电续装功能(支持VISTA以下系统)。 2、Sc部署中使用快捷键Ctrl+F9可以跳过安装过程直接进入系统(支持VISTA以下系统)。 3、Sc部署中将智能处理因网卡驱动卡在部署过程的功能,此功能支持任何第三方驱动包的使用(支持VISTA以下系统)。 4、Sc部署完成后智能转移IE收藏夹和我的文档能使系统立即生效,无需重启计算机。 5、Sc部署多元化部署模块,所有模块的细节均可自定义,如字体颜色,进度条底色,高亮颜色,坐标位置等等。 6、Sc提供完善的反馈机制,SC程序自带反馈功能,可以通过文字和图片的形式反馈给我们,在部署过程中如果发生意外,SC部署程序会自动在WINDOWS文件夹下生成一个Scbug.html文件,为了不遗留文件在客户机上,该文件会在第二次重启自动删除,所以当您在首次进桌面如果发现该文件,您可以提交给我们! 配置文件: 对Sc进行设置后都会在根目录下产生一个名为Scdata.dat配置文件,为了防止破坏配置文件,对配置文件进行了加密,该配置文件只能通过运行Sc软件进行修改,配置文件自动保存最后一次设置的状态。 更新日志: 最新版本:Beta1.2.0.1009 (2012年12月17日更新) ------------------------------------ 1.2.0.1009更新列表 1、更新调用外部接口兼容问题; 2、更新部署程序; 3、新增可选自动清理多余SRS驱动选项; 历史版本更新日志: ------------------------------------ 1.2.0.1006更新列表 1、修复精简模块里WIN7下删除帮助文件导致EXPLORER结束的BUG; 2、改进精简模块里WIN7下精简%windir%\winsxs\Backup假死现象; 3、更新部署模块对没有使用SC自带SRS驱动的清理工; 4、更新部署模块绚丽进度条模式皮肤; 5、更新精简模块的部分函数; 6、更新程序图标。 1.2.0.1003更新列表 1、修复WIN8系统部署带背景的情况下,安装字体读取乱码问题; 2、优化WIN8系统封装部署模块代码; 3、更新程序图标。 Beta1.2.0.1002 ------------------------------------ 1.2.0.1002更新列表 1、调整增强键盘和鼠标驱动从SRS驱动里独立到可选项目; 2、增加赞助商地址为可选设置项目; 3、更新第二次重启的清理子程序代码,主要取消删除部署程序的库文件代码; Beta1.2.0.1001更新列表 ------------------------------------ 修复内测版本所有已知BUG。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值