偶尔下了下easyMule的代码学习,看到一些较好的地方,贴一下:

校验dll的信息:

static bool CheckLangDLLVersion(const CString& rstrLangDLL) { bool bResult = false; DWORD dwUnused; DWORD dwVerInfSize = GetFileVersionInfoSize(const_cast<LPTSTR>((LPCTSTR)rstrLangDLL), &dwUnused); if (dwVerInfSize != 0) { LPBYTE pucVerInf = (LPBYTE)calloc(dwVerInfSize, 1); if (pucVerInf) { if (GetFileVersionInfo(const_cast<LPTSTR>((LPCTSTR)rstrLangDLL), 0, dwVerInfSize, pucVerInf)) { VS_FIXEDFILEINFO* pFileInf = NULL; UINT uLen = 0; if (VerQueryValue(pucVerInf, _T("//"), (LPVOID*)&pFileInf, &uLen) && pFileInf && uLen) { bResult = (pFileInf->dwProductVersionMS == theApp.m_dwProductVersionMS && pFileInf->dwProductVersionLS == theApp.m_dwProductVersionLS); } } free(pucVerInf); } } return bResult; }

步骤1:

GetFileVersionInfoSize() 获取dll信息的大小。

步骤2:

calloc() 开辟一块相应大小的区域,用于放置将要读出的dll信息。

步骤3:

GetFileVersionInfo()获取dll信息。

步骤4:

校验。

easymule学习----校验dll信息相关推荐

  1. 获取系统进程信息和进程依赖的dll信息--CreateToolhelp32Snapshot

    http://www.cnblogs.com/qintangtao/archive/2013/02/26/2933734.html CreateToolhelp32Snapshot函数通过获取进程信息 ...

  2. 数论 初等数论 北师大 张秀平 自学 学习 经验 视频 信息 奥赛 NOIP

    姐妹篇详见https://blog.csdn.net/mrcrack/article/details/87897210 数论 初等数论 北师大 张秀平 自学 学习 经验 视频 信息 奥赛 NOIP 初 ...

  3. ildasm.exe 查看c# dll 信息,符号 、函数等等

    ildasm.exe 查看c# dll 信息,符号 .函数等等 运行 ildasm.exe 把 C# 的 dll 拖入程序中即可

  4. ECCV 2022 | 浙大快手提出CoText:基于对比学习和多信息表征的端到端视频OCR模型...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 转载自:CSIG文档图像分析与识别专委会 本文是对快手和浙大联合研 ...

  5. 如何高效学习-随意信息处理-信息的记忆

    如何高效学习-随意信息处理-信息的记忆 随意信息的处理 随意信息是整体性学习中的一个难点. 例如: ·一系列日期 ·解剖学术语 ·一系列步骤 ·各种各样的规章. 条例 ·科学公式 处理随意信息的方法需 ...

  6. Kail学习笔记-kali信息搜集工具之IKE-Scan

    Kail学习笔记-kali信息搜集工具之IKE-Scan 一.用法 二.选项 三.示例 一.用法 ike-scan [选项] [主机地址...] 必须在命令行上指定目标主机,除非为–file选项,在这 ...

  7. 校验银行卡是否有效, 获取所属行, 校验预留信息

    一. 校验银行卡是否有效以及所属行 支付宝的开放API, 银行卡校验接口 https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo ...

  8. Kail 学习笔记-kali信息搜集工具之Dmitry

    Kail 学习笔记-kali信息搜集工具之Dmitry DMitry(Deepmagic Information Gathering Tool)是一个一体化的信息收集工具.它可以用来收集以下信息: 根 ...

  9. C1认证学习二(信息单位)

    C1认证学习二(信息单位) 文章目录 C1认证学习二(信息单位) 学习目标 具体学习 存储单位 传输单位 转换格公式 举例: 学习目标 在计算机的内部,实际上都是使用的二进制的形式来进行存储.运算.处 ...

  10. 脱壳学习记录----DLL找OEP

    还是做一些加密解密3的学习记录 文件链接:https://pan.baidu.com/s/1-KiagpsimjDBsyMF01ouxA 密码:tt8u 工具链接:https://pan.baidu. ...

最新文章

  1. wxPython的API下载
  2. 七、压缩与解压缩命令
  3. android 消除标题,Android Activity 去掉标题栏及全屏显示
  4. LeetCode 450. 删除二叉搜索树中的节点
  5. 使用MaxCompute LOAD命令批量导入OSS数据最佳实践—STS方式LOAD开启KMS加密OSS数据
  6. Android Studio 第六十三期 - Android框架 -RecycleView所有用法
  7. Android 常见adb命令
  8. 图片上传插件WebUploader的坑
  9. poj 3368 Frequent values rmq
  10. dhcp(客户端)协议使用哪个众所周知的端口号?_DHCP不详解
  11. QT与Coin3D实现机器人的仿真
  12. matlab BP神经网络入门
  13. 跟同事关系再好,这3种话宁烂肚里也别张嘴,莫让福运悄悄离开你
  14. cpufreq 五种模式
  15. lower_bound()/upper_bound()函数(C++)
  16. 5 Hibernate:Java Persistence API (JPA) 入门
  17. C++实现黑白棋算法
  18. The SwiftProgramming Language读书笔记第26页
  19. 公网使用win10自带远程桌面控制
  20. 【黑帽SEO大神揭秘】快速排名的黑帽技术有哪些?

热门文章

  1. 萤火虫算法_第二十二章 萤火虫算法(Firefly Algorithm,FA)补充和答疑
  2. 海康威视4G球机对接萤石云平台获取直播视频列表 ----- java
  3. c语言中自定义函数的流程图这么画,c语言流程图怎么画?
  4. IEEE ACCESS
  5. 交换机/路由器实验:保姆级别的iperf安装和使用教程
  6. 值得收藏的50个学习C语言的源代码网站
  7. OBS Studio录屏软件安装和使用教程
  8. Mem Reduct 内存自动清理工具
  9. halcon学习-网格校正
  10. VMware和Centos安装使用