无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4713|回复: 10
打印 上一主题 下一主题

[分享] 分享读取TPM模块完整PECMD代码

[复制链接]
跳转到指定楼层
1#
发表于 2021-10-28 15:22:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. CALL GetTPMInfos "%&SystemROOT%\System32\tbs.dll" &&HaveTPM &&TPM_VERSION &&TPM_Type
  2. MESS. <%&&HaveTPM%><%&&TPM_VERSION%><%&&TPM_Type%>
  3. _SUB GetTPMInfos
  4.     ENVI-ret %~2=UnKnown
  5.     ENVI-ret %~3=
  6.     ENVI-ret %~4=
  7.     CALL $--ret:&&htbs --cd ,-LoadLibrary,^%~1
  8.     //MESS. %&&htbs%
  9.     IFEX #%&&htbs%=0,EXIT
  10.     ENVI &&htbs=*%&&htbs%
  11.     ENVI &&TBS_SUCCESS=0    //0x0   功能成功。
  12.     ENVI &&TBS_E_BAD_PARAMETER=2150121474   //0x80284002    一个或多个参数值无效。
  13.     ENVI &&TBS_E_TPM_NOT_FOUND=2150121487   //0x8028400F    在此计算机上找不到兼容的可信平台模块 (TPM) 安全设备。
  14.     ENVI &&TPM_DEVICE_INFO.Size=16
  15.     ENVI$# &&TPM_DEVICE_INFO=*%&&TPM_DEVICE_INFO.Size% 0
  16.     CALL $--qd --ret:&&Tbsi_GetDeviceInfoRet %&&htbs%,Tbsi_GetDeviceInfo,#%&&TPM_DEVICE_INFO.Size%,*&&TPM_DEVICE_INFO
  17.     FIND *=&&Tbsi_GetDeviceInfoRet,
  18.     {*
  19.         ENVI-ret %~2=UnKnown
  20.     }!  
  21.     {*
  22.         IFEX #%&&Tbsi_GetDeviceInfoRet%=%&&TBS_SUCCESS%,
  23.         {*
  24.             ENVI-ret %~2=Exist
  25.             //MESS. %&&Tbsi_GetDeviceInfoRet%
  26.             
  27.             ENVI &&TPM_VERSION_UNKNOWN=0
  28.             ENVI &&TPM_VERSION_12=1
  29.             ENVI &&TPM_VERSION_20=2
  30.             
  31.             ENVI &&TPM_IFTYPE_UNKNOWN=0
  32.             ENVI &&TPM_IFTYPE_1=1 // for 1.2 - use I/O-port or MMIO
  33.             ENVI &&TPM_IFTYPE_TRUSTZONE=2 // 2.0: Trustzone
  34.             ENVI &&TPM_IFTYPE_HW=3 // 2.0: HW TPM
  35.             ENVI &&TPM_IFTYPE_EMULATOR=4 // 2.0: SW-emulator
  36.             ENVI &&TPM_IFTYPE_SPB=5 // 2.0: SPB attached
  37.             
  38.             ENVI?int &&TPM_DEVICE_INFO=&&structVersion
  39.             ENVI?int &&TPM_DEVICE_INFO=&&tpmVersion:~1
  40.             IFEX #%&&tpmVersion%=%&&TPM_VERSION_UNKNOWN%,
  41.             {*
  42.                 ENVI-ret %~3=UnKnownVersion
  43.             }!  
  44.             {*
  45.                 IFEX #%&&tpmVersion%=%&&TPM_VERSION_12%,
  46.                 {*
  47.                     ENVI-ret %~3=1.2
  48.                 }!  
  49.                 {*
  50.                     IFEX #%&&tpmVersion%=%&&TPM_VERSION_20%,
  51.                     {*
  52.                         ENVI-ret %~3=2.0
  53.                     }!  
  54.                     {*
  55.                         ENVI-ret %~3=%&&tpmVersion%
  56.                     }
  57.                 }
  58.             }
  59.             ENVI?int &&TPM_DEVICE_INFO=&&tpmInterfaceType:~2
  60.             IFEX #%&&tpmVersion%=%&&TPM_IFTYPE_UNKNOWN%,
  61.             {*
  62.                 ENVI-ret %~4=UnKnownType
  63.             }!  
  64.             {*
  65.                 IFEX #%&&tpmVersion%=%&&TPM_IFTYPE_1%,
  66.                 {*
  67.                     ENVI-ret %~4=1.2 - use I/O-port or MMIO
  68.                 }!  
  69.                 {*
  70.                     IFEX #%&&tpmVersion%=%&&TPM_IFTYPE_TRUSTZONE%,
  71.                     {*
  72.                         ENVI-ret %~4=2.0: Trustzone
  73.                     }!  
  74.                     {*
  75.                         IFEX #%&&tpmVersion%=%&&TPM_IFTYPE_HW%,
  76.                         {*
  77.                             ENVI-ret %~4=2.0: HW TPM
  78.                         }!  
  79.                         {*
  80.                             IFEX #%&&tpmVersion%=%&&TPM_IFTYPE_EMULATOR%,
  81.                             {*
  82.                                 ENVI-ret %~4=2.0: SW-emulator
  83.                             }!  
  84.                             {*
  85.                                 IFEX #%&&tpmVersion%=%&&TPM_IFTYPE_SPB%,
  86.                                 {*
  87.                                     ENVI-ret %~4=2.0: SPB attached
  88.                                 }
  89.                             }
  90.                         }
  91.                     }
  92.                 }
  93.             }
  94.             ENVI?int &&TPM_DEVICE_INFO=&&tpmImpRevision:~3
  95.             //MESS. <%&structVersion%><%&tpmVersion%><%&tpmInterfaceType%><%&tpmImpRevision%>
  96.         }!  
  97.         {*
  98.             IFEX #%&&Tbsi_GetDeviceInfoRet%=%&&TBS_E_TPM_NOT_FOUND%,
  99.             {*
  100.                 ENVI-ret %~2=Not exist
  101.             }
  102.         }
  103.     }
  104. _END
复制代码


评分

参与人数 1无忧币 +5 收起 理由
Anson4 + 5 很给力!

查看全部评分

2#
发表于 2021-10-28 17:04:01 | 只看该作者
好厉害,可以做CGI的判断代码
回复

使用道具 举报

3#
发表于 2021-10-28 18:57:41 | 只看该作者
谢谢分享
回复

使用道具 举报

4#
发表于 2021-10-28 19:43:00 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
发表于 2021-10-29 06:19:34 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 2021-10-29 07:58:27 | 只看该作者
厉害,谢谢分享
回复

使用道具 举报

7#
发表于 2021-10-29 08:34:38 | 只看该作者
谢谢分享
回复

使用道具 举报

8#
发表于 2021-10-29 21:14:06 | 只看该作者
谢谢分享
回复

使用道具 举报

9#
发表于 2021-10-30 10:27:59 | 只看该作者
厉害。学习下
回复

使用道具 举报

10#
发表于 2022-3-23 19:50:33 | 只看该作者
谢谢分享
回复

使用道具 举报

11#
发表于 2023-9-17 15:09:04 | 只看该作者
感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 00:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表