C++ Cryptopp 密码学库 使用全解

0x0 Cryptopp 介绍

C++ Cryptopp 密码学库 使用全解-侠者安全社区

Crypto++ Library 8.9 | Free C++ Class Library of Cryptographic Schemes (cryptopp.com)

0x1 Cryptopp 下载

C++ Cryptopp 密码学库 使用全解-侠者安全社区

0x2 Cryptopp 编译

  • 下载后,可见目录结构如下
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 我们用 VS 打开项目文件,可见有 4 个子解决方案,分别是 cryptdll 编译 dllcryptlib 编译 lib,还有两个测试方案 cyptest 和 dlltest
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 我们打开 cryptlib 方案编译一个静态链接库 lib
C++ Cryptopp 密码学库 使用全解-侠者安全社区
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 在提示输出的目录下我们可以找到生成的静态链接库 lib 文件
C++ Cryptopp 密码学库 使用全解-侠者安全社区

0x3 Cryptopp 使用

  • 我们用 VS 新建一个 C++ 控制台项目 CryptoppTEST
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 在之前编译的 Cryptopp 项目目录下,新建两个文件夹 includelib, Cryptopp 项目所有的 header (.h) 文件复制一份到 include 目录下,将 之前编译好的 cryptlib.lib 静态链接库 复制一份到 lib 目录下,之后前面创建的测试项目CryptoppTEST 需要调用
C++ Cryptopp 密码学库 使用全解-侠者安全社区
C++ Cryptopp 密码学库 使用全解-侠者安全社区
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 在新建的 CryptoppTEST 中 输入测试代码,此时有红色波浪线,因为 cryptlib.lib 还没引用
// CryptoppTEST.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

#include <iostream>
#include <aes.h>

using namespace std;

using namespace CryptoPP;

int main()

{
	cout << "hello crypto++" << endl;

	cout << "Aes block size is " << AES::BLOCKSIZE << endl;

	return 0;
}
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 设置相关项目配置,引入 cryptlib.lib
C++ Cryptopp 密码学库 使用全解-侠者安全社区
C++ Cryptopp 密码学库 使用全解-侠者安全社区
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 此时代码中红色波浪线消失
C++ Cryptopp 密码学库 使用全解-侠者安全社区
  • 运行测试代码成功,这样我们之后就可以利用Cryptopp库加解密ShellCode了
C++ Cryptopp 密码学库 使用全解-侠者安全社区
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容