当前位置: 首页 > news >正文

CRYPT32!ASN1Dec_SignedDataWithBlobs函数分析之CRYPT32!ASN1Dec_AttributesNC的作用是得到三个证书

第一部分:

static int ASN1CALL ASN1Dec_SignedDataWithBlobs(ASN1decoding_t dec, ASN1uint32_t tag, SignedDataWithBlobs *val)
{

......

    if (t == 0x80000000) {
(val)->o[0] |= 0x80;
if (!ASN1Dec_CertificatesNC(dd, 0x80000000, &(val)->certificates))//得到(val)->certificates
return 0;
}


第二部分:

1: kd> p
CRYPT32!ASN1Dec_SignedDataWithBlobs+0x92:
001b:75c7d32c e806e6ffff      call    CRYPT32!ASN1Dec_AttributesNC (75c7b937)
1: kd> t
CRYPT32!ASN1Dec_AttributesNC:
001b:75c7b937 55              push    ebp
1: kd> kc
#
00 CRYPT32!ASN1Dec_AttributesNC
01 CRYPT32!ASN1Dec_SignedDataWithBlobs
02 MSASN1!ASN1_Decode
03 CRYPT32!PkiAsn1Decode
04 CRYPT32!ICM_UpdateDecodingSignedData
05 CRYPT32!CryptMsgUpdate
06 WINTRUST!_GetMessage
07 WINTRUST!SoftpubLoadMessage
08 WINTRUST!_VerifyTrust
09 WINTRUST!WinVerifyTrust
0a sfc_os!SfcValidateFileSignature
0b sfc_os!SfcGetValidationData
0c sfc_os!SfcValidateDLL
0d sfc_os!SfcQueueValidationThread
0e kernel32!BaseThreadStart

第三部分:


1: kd> dv
dec = 0x012337d0
tag = 0x730d0
val = 0x0007ea60

1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 ((CRYPT32!SignedDataWithBlobs *)0x7ea60)
((CRYPT32!SignedDataWithBlobs *)0x7ea60)                 : 0x7ea60 [Type: SignedDataWithBlobs *]
[+0x000] bit_mask         : 0x80 [Type: unsigned short]
[+0x000] o                [Type: unsigned char [1]]
[+0x004] version          : 1 [Type: long]
[+0x008] digestAlgorithms [Type: DigestAlgorithmIdentifiersNC]
[+0x010] contentInfo      [Type: ContentInfoNC]
[+0x060] certificates     [Type: CertificatesNC]


1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 (*((CRYPT32!CertificatesNC *)0x7eac0))
(*((CRYPT32!CertificatesNC *)0x7eac0))                 [Type: CertificatesNC]
[+0x000] count            : 0x3 [Type: unsigned long]
[+0x004] value            : 0x72f18 [Type: tagASN1open_t *]
1: kd> dx -id 0,0,ffffffff89ce3d88 -r1 ((CRYPT32!tagASN1open_t *)0x72f18)
((CRYPT32!tagASN1open_t *)0x72f18)                 : 0x72f18 [Type: tagASN1open_t *]
[+0x000] length           : 0x31d [Type: unsigned long]
[+0x004] encoded          : 0x1e95784 [Type: void *]
[+0x004] value            : 0x1e95784 [Type: void *]
1: kd> dt CRYPT32!tagASN1open_t  0x72f18+8
+0x000 length           : 0x68c
+0x004 encoded          : 0x01e95aa1 Void
+0x004 value            : 0x01e95aa1 Void
1: kd> dt CRYPT32!tagASN1open_t  0x72f18+10
+0x000 length           : 0x69b
+0x004 encoded          : 0x01e9612d Void
+0x004 value            : 0x01e9612d Void

1: kd> ?0x31d
Evaluate expression: 797 = 0000031d
1: kd> ?0x68c
Evaluate expression: 1676 = 0000068c
1: kd> ?0x69b
Evaluate expression: 1691 = 0000069b


第四部分:

1: kd> ?0x1e95784-0x1e00020
Evaluate expression: 612196 = 00095764


1: kd> ?0x01e95aa1-0x1e00020
Evaluate expression: 612993 = 00095a81


1: kd> ?0x01e9612d-0x1e00020
Evaluate expression: 614669 = 0009610d

第五部分:

1: kd> ?0x1e95784-0x1e00020
Evaluate expression: 612196 = 00095764


1: kd> ?0x01e95aa1-0x1e00020
Evaluate expression: 612993 = 00095a81


1: kd> ?0x01e9612d-0x1e00020
Evaluate expression: 614669 = 0009610d


文章转载自:

http://tUUoyzoW.khLxd.cn
http://IZx3aPhN.khLxd.cn
http://k5CoVd1t.khLxd.cn
http://kPZ2a5Xe.khLxd.cn
http://NzKAwkxo.khLxd.cn
http://tx0I9Jfp.khLxd.cn
http://ITqpyETA.khLxd.cn
http://WJPIV0fE.khLxd.cn
http://QjJG7D6p.khLxd.cn
http://es2alprS.khLxd.cn
http://pmFs56MT.khLxd.cn
http://HAuAopFl.khLxd.cn
http://iwkNEohh.khLxd.cn
http://XMLkURPA.khLxd.cn
http://hN7WqBFc.khLxd.cn
http://rw6ebcFQ.khLxd.cn
http://7ndyPw0W.khLxd.cn
http://3LW04HIE.khLxd.cn
http://SzHykvZ5.khLxd.cn
http://BMrlGDt0.khLxd.cn
http://DGz7Cu3H.khLxd.cn
http://NaEJxD4P.khLxd.cn
http://ktpOHfVR.khLxd.cn
http://pfVhp00A.khLxd.cn
http://etuAufDs.khLxd.cn
http://KNfkgZft.khLxd.cn
http://i5KZpFVJ.khLxd.cn
http://dLlNMaYF.khLxd.cn
http://6RoREqBE.khLxd.cn
http://2DDc8nXH.khLxd.cn
http://www.dtcms.com/a/369742.html

相关文章:

  • vcenter管理的4台安装了esxi机器组成的HA,故障后自恢复理解
  • 智慧医疗——解读医院智慧管理分级评估标准体系【附全文阅读】
  • C++ map和set
  • js闭包问题
  • 【教学类-36-10】20240905(通义万相)-A4各种大小的鱼制作“吐泡泡的鱼”01版
  • 【工具变量】上市公司企业海外业务收入数据集(2003-2024年)
  • 从技术选型到现场配置:DDC 楼宇自控系统全流程落地方案(2025 版)
  • 阿里云ecs 2h2g 实际可用内存不足的情况
  • 【React】性能提升方案:Reat.memo, useMemo,useCallback用法详解
  • 文心快码已支持Kimi-K2-0905模型
  • 6.ImGui-颜色(色板)
  • biocmanager安装 库 老是提示网络连接错误 才尝试各种办法
  • 雨后阳光为何更强烈?
  • 数据加盐处理(密码加盐)
  • 本地 Ai 离线视频去水印字幕!支持字幕、动静态水印去除!
  • 文件不展示Eslint的报错红色
  • vggt代码详解
  • 使用海康威视 SDK 实现软触发拍照(C语言完整示例 + 中文注释)
  • 本科论文抽检档案整理:Python批量文件查找、打包、改名
  • 【Day 22】94.二叉树的中序遍历 104.二叉树的最大深度 226.翻转二叉树 101.对称二叉树
  • swing笔记
  • IPD模式下跨部门团队管理
  • Transformer核心—自注意力机制
  • 可搜索且多选的下拉式列表
  • 《C++ printf()函数的深度解析》
  • HTML基础(决定页面结构)
  • Modbus RTU 协议介绍
  • 掌握RabbitMQ核心战法:从消息确认到高可用集群
  • C++数据结构命名:从规范到艺术的深度解析
  • 前后端国密加密传输用户密码流程