calchash.exe和chckhash.exe計算pe文件hash值的兩個實用小工具

第一部分:
C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\NT5.CAT t部分內容

B B D 0 2 2 2 1 A A 6 5 5 6 2 8 F 4 9 5 F 6 C D 3 0 3 9 0 8 B B E 0 0 F 9 5 9 5 ?

第二部分:
D:\>calchash.exe pidgen.dll
BB D0 22 21 AA 65 56 28 F4 95 F6 CD 30 39 08 BB E0 0F 95 95

第三部分:
D:\>chckhash.exe pidgen.dll
C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\NT5.CAT contains pidgen.dll
C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\SP3.CAT contains pidgen.dll

第四部分:main函數主要調用了一個CryptCATAdminCalcHashFromFileHandle函數

D:\srv03rtm\ds\security\cryptoapi\pkitrust\tools\calchash\calchash.cpp

?

extern "C" int __cdecl wmain(int argc, WCHAR **wargv)
{
int???????????????? cMember;
cWArgv_???????????? *pArgs;
BOOL??????????????? fFailed;
CRYPTCATCDF???????? *pCDF;
CRYPTCATMEMBER????? *pMember;
LPWSTR????????????? pwszMemberTag;
CRYPTCATATTRIBUTE?? *pAttr;
BOOL??????????????? fContinueOnError;
BYTE??????????????? pbHash[40];
DWORD?????????????? cbHash = sizeof(pbHash);
HANDLE?????????????? hFile;
LPSTR?????????????? psz;

??? pCDF = NULL;

??? if (!(pArgs = new cWArgv_((HINSTANCE)GetModuleHandle(NULL), &fFailed)))
{
goto MemoryError;
}

??? if (fFailed)
{
goto MemoryError;
}

??? pArgs->AddUsageText(IDS_USAGETEXT_USAGE, IDS_USAGETEXT_OPTIONS,
IDS_USAGETEXT_OPTPARAM, IDS_USAGETEXT_FILENAME, IDS_USAGETEXT_OPTPARAM);

??? pArgs->Add2List(IDS_PARAM_HELP,???????? IDS_PARAMTEXT_HELP,?????? WARGV_VALUETYPE_BOOL, (void *)FALSE);

??? pArgs->Fill(argc, wargv);

??? if (!(pArgs->Fill(argc, wargv)) ||
(pArgs->GetValue(IDS_PARAM_HELP)))
{
wprintf(L"%s", gszUsage);
goto NeededHelp;
}

??? if (!(pwszFile = pArgs->GetFileName()))
{
wprintf(L"%s",gszUsage);
goto ParamError;
}

??? pPrint = new PrintfU_;

??? SetLastError(0);

??? if ((hFile = CreateFileU(pwszFile,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL)) == INVALID_HANDLE_VALUE)
{

??????? wprintf(L"Cannot open file - GLE = %lx\n", GetLastError());
goto CATCloseError;
}

??? if (!CryptCATAdminCalcHashFromFileHandle(hFile,
&cbHash,
pbHash,
0))
{
goto CATCloseError;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94187.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94187.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94187.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

lanczso算法中的額外正交化代碼解釋

額外正交化 定義:在Lanczos算法中,由于浮點誤差,生成的向量可能不完全正交,需要額外正交化步驟。代碼實現:def extra_orthogonalization(v, basis):for u in basis:v - u * (v.dot(u) / u.dot(u))

Rabbit 實戰指南-學習筆記

第 4 章 RabbitMQ 進階 mandatory 參數 Returning | RabbitMQ 當 mandatory 參數設為 true 時,交換器無法根據自身的類型和路由鍵找到一個符合條件的隊列,那么RabbitMQ 會調用 Basic.Return 命令將消息返回給生產者,通過調用channel.addReturnListener …

BEVDet4D

1. BEVDet4D算法動機及開創性思路 1)BEVDet算法概述輸入輸出:輸入為6視角圖像(NuScenes數據集),輸出為3D檢測結果核心模塊: 圖像編碼器:由Backbone網絡和多尺度特征融合網絡組成,處理…

當 AI 學會 “理解” 人類:自然語言處理的進化與倫理邊界

大家可以去我的資源看看,有很多關于AI的免費資源可以下載,不下載也可以看看,真的對你有用引言:從 “對話” 到 “理解”——AI 語言能力的時代躍遷現實錨點:以日常場景切入(如 ChatGPT 流暢回應復雜問題、A…

WPF控件隨窗體大寬度高度改變而改變

前臺控件中:Width"{Binding RelativeSource{RelativeSource AncestorTypeWindow}, PathWidth}"后臺代碼:定義在加載事件里面this.SizeChanged ProductData_SizeChanged;private void ProductData_SizeChanged(object sender, SizeChangedEven…

E10 通過RPC實現賬號批量鎖定與解鎖

需求背景:賬號信息由三方系統管理,包含賬號狀態,所以需要通過提供給三方的 Rest 接口中,實現賬號鎖定與解鎖。參考基線版本:10.0.2506.01,過低的版本可能無法使用。 鎖定分為兩種: (…

什么是AI寵物

什么是AI寵物AI寵物是由AI大腦驅動的生命體AI產品。它能主動產生情緒和意圖,并通過情緒和意圖去驅動自己的動作和行為。它根據自己的意愿和用戶互動,不受用戶控制。從一定意義上講,它擁有了人工生命和自由意志。它有自己的行為邏輯&#xff0…

簡單AI:搜狐公司旗下AI繪畫產品

本文轉載自:簡單AI:搜狐公司旗下AI繪畫產品 - Hello123工具導航 ** 一、平臺定位與技術特性 搜狐簡單 AI 是搜狐推出的多模態 AI 創作平臺,基于自研大模型提供文生圖、文生文等能力。它專注于零門檻內容生成,用戶無需專業技能即…

vue3 3d餅圖

完整3D餅圖項目下載 https://download.csdn.net/download/weixin_54645059/91716476 只有一個vue文件 直接下滑到完整代碼就闊以 本文介紹了如何使用ECharts和ECharts-GL插件實現3D餅圖效果,并提出了數值顯示未解決的問題。主要包含以下內容: 安裝所需…

全球電商業財一體化趨勢加速,巨益科技助力品牌出海精細化運營

行業背景:跨境電商進入品牌化發展新階段隨著國內電商市場競爭日趨激烈,跨境電商已成為中國品牌尋求增長突破的重要賽道,在TikTok、Temu等平臺出海浪潮推動下,越來越多的中國品牌開始布局全球市場。然而,從單一市場的鋪…

【序列晉升】13 Spring Cloud Bus微服務架構中的消息總線

Spring Cloud Bus作為微服務架構中的關鍵組件,通過消息代理實現分布式系統中各節點的事件廣播與狀態同步,解決了傳統微服務架構中配置刷新效率低下、系統級事件傳播復雜等問題。它本質上是一個輕量級的事件總線,將Spring Boot Actuator的端點…

[激光原理與應用-314]:光學設計 - 光學系統設計與電子電路設計的相似或相同點

光學系統設計與電子電路設計雖分屬不同工程領域,但在設計理念、方法論和工程實踐中存在諸多相似或相同點。這些共性源于兩者均需解決復雜系統的優化問題,并遵循工程設計的通用規律。以下是具體分析:一、設計流程的相似性需求分析與規格定義光…

Linux學習:信號的保存

目錄1. 進程的異常終止與core dump標志位1.1 進程終止的方式1.2 core方案的作用與使用方式2. 信號的保存2.1 信號的阻塞2.2 操作系統中的sigset_t信號集類型2.3 進程PCB中修改block表的系統調用接口2.4 信號阻塞的相關問題驗證1. 進程的異常終止與core dump標志位 1.1 進程終止…

數據分析編程第二步: 最簡單的數據分析嘗試

2.1 數據介紹有某公司的銷售數據表 sales.csv 如下:第一行是標題,解釋每一列存了什么東西。第二行開始每一行是一條數據,對應一個訂單。這種數據有個專業的術語,叫結構化數據。這是現代數據處理中最常見的數據類型。整個表格的數據統稱為一個…

UDP報文的數據結構

主要內容參照https://doc.embedfire.com/net/lwip/zh/latest/doc/chapter14/chapter14.html#id6,整理出來自用。 1. UDP 報文首部結構體(udp_hdr) 為清晰定義 UDP 報文首部的各個字段,LwIP 設計了udp_hdr結構體,其包含…

圖論與最短路學習筆記

圖論與最短路在數學建模中的應用 一、圖論模型圖 G(V,E)G(V,E)G(V,E) VVV:頂點集合EEE:邊集合每條邊 (u,v)(u,v)(u,v) 賦予權值 w(u,v)w(u,v)w(u,v),可用 鄰接矩陣 或 鄰接表 表示。二、最短路問題的數學形式 目標:尋找從源點 sss…

第九節 Spring 基于構造函數的依賴注入

當容器調用帶有一組參數的類構造函數時,基于構造函數的 DI 就完成了,其中每個參數代表一個對其他類的依賴。接下來,我們將通過示例來理解 Spring 基于構造函數的依賴注入。示例:下面的例子顯示了一個類 TextEditor,只能…

【數據庫】PostgreSQL詳解:企業級關系型數據庫

文章目錄什么是PostgreSQL?核心特性1. 標準兼容性2. 擴展性3. 高級功能4. 可靠性數據類型1. 基本數據類型2. 高級數據類型基本操作1. 數據庫操作2. 表操作3. 數據操作高級查詢1. 連接查詢2. 子查詢3. 窗口函數JSON操作1. JSON數據類型2. JSON查詢3. JSON索引全文搜索…

FFMPEG相關解密,打水印,合并,推流,

1:ffmepg進行打水印解密 前提ffmepg安裝利用靜態版就可以這個什么都有,不用再配置其他信息:(這個利用ffmpeg終端命令是沒問題的,但是如果要是再C中調用ffmpeg庫那么還需要從新編譯安裝下) 各個版本 Inde…

MySql知識梳理之DML語句

注意: 插入數據時,指定的字段順序需要與值的順序是一一對應的。 字符串和日期型數據應該包含在引號中。 插入的數據大小,應該在字段的規定范圍內注意:修改語句的條件可以有,也可以沒有,如果沒有條件,則會修改整張表的所…