UEDIT打开nt5inf.cat。

第一部分:

BOOL _GetMessage(CRYPT_PROVIDER_DATA *pProvData)
{
DWORD               dwMsgEncoding;
SIP_SUBJECTINFO     *pSubjInfo;
SIP_DISPATCH_INFO   *pSip;

    DWORD               cbEncodedMsg;
BYTE                *pbEncodedMsg;

    DWORD               dwMsgType;
HCRYPTMSG           hMsg;
HCRYPTPROV          hProv;

    dwMsgEncoding   = 0;
dwMsgType       = 0;

    switch(pProvData->pWintrustData->dwUnionChoice)
{
case WTD_CHOICE_CATALOG:
if ((_ISINSTRUCT(CRYPT_PROVIDER_DATA, pProvData->cbStruct, fRecallWithState)) &&
(pProvData->fRecallWithState) &&
(pProvData->hMsg))
{
return(TRUE);
}

            pSip        = pProvData->pPDSip->pCATSip;
pSubjInfo   = pProvData->pPDSip->psSipCATSubjectInfo;
break;

        case WTD_CHOICE_BLOB:
case WTD_CHOICE_FILE:
pSip        = pProvData->pPDSip->pSip;
pSubjInfo   = pProvData->pPDSip->psSipSubjectInfo;
break;

        default:
pProvData->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] = TRUST_E_NOSIGNATURE;
return(FALSE);
}

    cbEncodedMsg = 0;

    pSip->pfGet(pSubjInfo, &dwMsgEncoding, 0, &cbEncodedMsg, NULL);

    if (cbEncodedMsg == 0)
{
pProvData->padwTrustStepErrors[TRUSTERROR_STEP_SIP] = GetLastError();
pProvData->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] = TRUST_E_NOSIGNATURE;
return(FALSE);
}

    if (!(pbEncodedMsg = (BYTE *)pProvData->psPfns->pfnAlloc(cbEncodedMsg)))
{
pProvData->dwError = GetLastError();
pProvData->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] = TRUST_E_SYSTEM_ERROR;
return(FALSE);
}

    if (!(pSip->pfGet(pSubjInfo, &dwMsgEncoding, 0, &cbEncodedMsg, pbEncodedMsg)))
{
pProvData->padwTrustStepErrors[TRUSTERROR_STEP_SIP] = GetLastError();
pProvData->padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] = TRUST_E_NOSIGNATURE;

        pProvData->psPfns->pfnFree(pbEncodedMsg);

        return(FALSE);
}

倒数第三个参数是0

第二部分:


0: kd> p
WINTRUST!_GetMessage+0x90:
001b:76804d15 751d            jne     WINTRUST!_GetMessage+0xaf (76804d34)
0: kd> p
WINTRUST!_GetMessage+0xaf:
001b:76804d34 50              push    eax
0: kd> dv
pProvData = 0x00096934
dwMsgType = 0
pbEncodedMsg = 0x01e00020 ""
dwMsgEncoding = 0x10001
cbEncodedMsg = 0x96934
1: kd> bc 33
1: kd> ?0x96934
Evaluate expression: 616756 = 00096934
0: kd> db 0x01e00020
01e00020  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................

01e00030  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01e00040  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01e00050  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01e00060  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01e00070  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01e00080  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01e00090  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0: kd> p
WINTRUST!_GetMessage+0xb0:
001b:76804d35 8d4508          lea     eax,[ebp+8]
0: kd> p
WINTRUST!_GetMessage+0xb3:
001b:76804d38 50              push    eax
0: kd> p
WINTRUST!_GetMessage+0xb4:
001b:76804d39 6a00            push    0            倒数第三个参数是0
0: kd> p
WINTRUST!_GetMessage+0xb6:
001b:76804d3b 8d45fc          lea     eax,[ebp-4]
0: kd> p
WINTRUST!_GetMessage+0xb9:
001b:76804d3e 50              push    eax
0: kd> p
WINTRUST!_GetMessage+0xba:
001b:76804d3f 53              push    ebx
0: kd> p
WINTRUST!_GetMessage+0xbb:
001b:76804d40 ff5708          call    dword ptr [edi+8]
0: kd> r
eax=007ce990 ebx=01c527f0 ecx=00096934 edx=00290c14 esi=007cea00 edi=01c51a78
eip=76804d40 esp=007ce968 ebp=007ce994 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
WINTRUST!_GetMessage+0xbb:
001b:76804d40 ff5708          call    dword ptr [edi+8] ds:0023:01c51a80={CRYPT32!CryptSIPGetSignedDataMsg (75c82759)}
0: kd> p
WINTRUST!_GetMessage+0xbe:
001b:76804d43 85c0            test    eax,eax

第三部分:


0: kd> dv
pProvData = 0x00096934
dwMsgType = 0
pbEncodedMsg = 0x01e00020 "0???"
dwMsgEncoding = 0x10001
cbEncodedMsg = 0x96934
0: kd> db 0x01e00020
01e00020  30 83 09 69 2f 06 09 2a-86 48 86 f7 0d 01 07 02  0..i/..*.H......
01e00030  a0 83 09 69 1f 30 83 09-69 1a 02 01 01 31 0b 30  ...i.0..i....1.0

01e00040  09 06 05 2b 0e 03 02 1a-05 00 30 83 09 57 31 06  ...+......0..W1.
01e00050  09 2b 06 01 04 01 82 37-0a 01 a0 83 09 57 21 30  .+.....7.....W!0
01e00060  83 09 57 1c 30 0c 06 0a-2b 06 01 04 01 82 37 0c  ..W.0...+.....7.
01e00070  01 01 04 10 bb fd 30 fb-6f a3 d9 40 82 26 85 87  ......0.o..@.&..
01e00080  87 cd 89 4b 17 0d 32 34-30 39 31 35 30 33 34 35  ...K..2409150345
01e00090  30 36 5a 30 0e 06 0a 2b-06 01 04 01 82 37 0c 01  06Z0...+.....7..
0: kd> dv
pProvData = 0x00096934
dwMsgType = 0
pbEncodedMsg = 0x01e00020 "0???"
dwMsgEncoding = 0x10001
cbEncodedMsg = 0x96934


第四部分:参考信息

0: kd> kc
#
00 WINTRUST!CryptSIPGetSignedDataMsg
01 CRYPT32!CryptSIPGetSignedDataMsg
02 WINTRUST!_GetMessage
03 WINTRUST!SoftpubLoadMessage
04 WINTRUST!_VerifyTrust
05 WINTRUST!WinVerifyTrust
06 sfc_os!SfcValidateFileSignature
07 sfc_os!SfcGetValidationData
08 sfc_os!SfcValidateDLL
09 sfc_os!SfcQueueValidationThread
0a kernel32!BaseThreadStart

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95032.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95032.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/95032.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编译esp32报错解决办法

报错信息:CMake Error at build/CMakeFiles/git-data/grabRef.cmake:48 (file):file failed to open for reading (No such file or directory):这个错误是由于 Git 的安全检查导致的。从错误信息可以看出,Git 检测到了"可疑的所有权"&#xf…

【AI】常见8大LLM大语言模型地址

序号AI名称地址1 ChatGPT (OpenAI)https://chat.openai.com/2Gemini (Google personal AI assistant)https://gemini.google.com/app3Grok (xAI Grok LLM)https://x.ai/4DeepSeek (DeepSeek AI chatbot)DeepSeek5Claude (Anthropic Claude AI)App unavai…

软件系统的部署方式:单机、主备(冷主备、热主备)、集群

一、单机部署单机部署是将软件系统所有组件(应用、数据库等)部署在单台服务器上,架构简单、成本低但存在单点故障风险,适用于低负载或测试场景。一台服务器坏了,软件系统无法服务。二、主备(冷主备、热主备…

从体验到系统工程丨上手评测国内首款 AI 电商 App

作者:王晨(望宸) 产品界面,往往体现了产品的设计哲学,界面是产品的第一入口。 近期,1688 推出了 1688 AI App,这貌似是国内第一个电商领域的独立 AI App 应用(若不是,欢…

QML QQuickImage: Cannot open: qrc:/images/shrink.png(已解决)

此问题是 在 QT Quick 项目 显示图片的时候 遇到,显示:QML QQuickImage: Cannot open: qrc:/images/shrink.png,不能 打开 图片。为了解决此问题,找了很多资料,虽然是比较简单,但对于初学者来说&#xff0c…

maven scope 详解

Maven 的 scope用于定义依赖项在项目构建生命周期中的可见性和传递性,控制依赖在编译、测试、运行等阶段的可用性及是否被打包到最终产物中。以下是详细解析:⚙️ ​​一、Scope 的核心作用​​​​生命周期控制​​决定依赖在编译、测试、运行阶段的可用…

Python的一次实际应用:利用Python操作Word文档的页码

Python的一次实际应用:利用Python操作Word文档的页码 需求:一次性处理24个文档的页码。 文档详情: 1、每个word文档包含800页左右,每一页包含一个标题和一张图片。 2、由于图片有横排也有竖排,因此,每页文档…

Android15 GKI版本分析Kernel Crash问题

环境介绍编译主机:amd64 Ubuntu 22.04Android源码:Android15 GKIKernel版本:Linux 6.16Android构建系统:bazel构建工具链:gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-定位Linux…

rocky 9部署Zabbix监控

一、rocky安装 需要注意在设置root用户密码时,勾选ssh远程连接 安装完成后直接用root登录 1. 网络配置 输入nmtui 进入网络配置界面 选择 Edit a connection,再选择接口 ens3 IPV4更改为Maual 手动模式 根据实际环境配置IP地址 重启网络 systemctl …

从9.4%到13.5%:ICDM2025录取率触底反弹,竞争压力稍缓

近日,ICDM 2025公布了论文录用结果。本次大会共收到785篇有效论文投稿,最终,共有106篇常规论文和70篇短论文被接收,总体接收率为22.4%,其中全文论文的接收率为13.5%。与前年9.4%、去年11.09%的录取率相比,I…

linux上安装methylkit -- 安全下车版 (正经版: Linux环境下安装methylKit的实践与避坑指南)

题外话: 我踩过的坑,都将成为我写贴的素材!(ㄒoㄒ) 整整安装了两天,这里面的滋味懂的都懂。 希望开发作者持续维护。 希望有人或者作者持续打包成sigularity镜像使用,并且直接传到github上,传到docker上下…

【leetcode】114. 二叉树展开为链表

文章目录题目题解1. 递归2. 迭代3. 右指针重排,始终将右子树添加到左子树的最右题目 114. 二叉树展开为链表 题解 1. 递归 先序遍历然后将数组操作 for i in range(1, len(res)):prev, curr res[i - 1], res[i]prev.left Noneprev.right curr# Definition fo…

Vibe Coding、AI IDE/插件

概述 Vibe Coding,氛围编程,AI辅助编程,三剑客: Google Gemini:OpenAI GPT:Anthropic Claude: IDE Cursor 基于VS Code开发。 特性: AI驱动的代码生成:输入想要的…

Unity高级UI拖动控制器教程

在游戏开发过程中,UI组件的拖动功能是一个常见的需求。特别是在需要实现拖动、边界检测、透明度控制以及动画反馈等功能时,编写一个高级UI拖动控制器将非常有用。在本文中,我们将创建一个支持多种Canvas模式和更精确边界检测的高级UI拖动控制…

零基础上手:Cursor + MCP 爬取 YouTube 视频数据

前言 大模型与 AI 应用越来越普及的今天,实时、稳定地获取网络数据变得尤为重要。无论是做内容分析、趋势研究还是自动化任务,爬取和处理数据始终是绕不开的一环。 传统爬虫往往面临封禁、验证码、动态渲染等难题,而 Bright Data MCP&#x…

frp 一个高性能的反向代理服务

文章目录项目概述核心特性系统架构快速开始1. 下载安装2. 服务端快速配置3. 客户端快速配置4. 验证连接配置文件说明代理类型TCP/UDP 代理HTTP/HTTPS 代理安全代理 (STCP/SUDP)P2P 代理 (XTCP)插件系统静态文件服务HTTP/SOCKS5 代理协议转换使用场景远程办公Web 服务发布游戏服…

Android -第二十一次技术总结

一、activity与Fragment的通信有哪些?使用接口进行通信的逻辑与代码示例使用接口通信的核心是解耦,通过定义一个接口作为通信契约,让 Fragment 不依赖于具体的 Activity 类型。1. 定义通信接口(在 Fragment 内)首先&am…

【算法】78.子集--通俗讲解

通俗易懂讲解“子集”算法题目 一、题目是啥?一句话说清 给你一个不含重复元素的整数数组,返回所有可能的子集(包括空集和它本身)。 示例: 输入:nums = [1,2,3] 输出:[[], [1], [2], [1,2], [3], [1,3], [2,3], [1,2,3]] 二、解题核心 使用回溯法(递归)或位运算来…

Cherrystudio的搭建和使用

1、下载和安装 Cherry Studio 官方网站 - 全能的 AI 助手 2、配置LLM 3、聊天助手 3.1 添加和编辑助手 3.2 选择LLM 3.3 对话聊天 4、配置MCP 4.1 安装MCP执行插件 4.2 安装 node和npm Node.js — Download Node.js npm -v 10.9.3 node -v v22…

基于Matlab结合肤色检测与卷积神经网络的人脸识别方法研究

近年来,随着人工智能与计算机视觉技术的发展,人脸识别在人机交互、安防监控、身份认证等领域得到了广泛应用。本文提出了一种基于 MATLAB 平台,结合 肤色检测与卷积神经网络(CNN) 的人脸识别方法。该方法首先利用肤色模…