0x0 Cryptopp 介绍
Crypto++ Library 8.9 | Free C++ Class Library of Cryptographic Schemes (cryptopp.com)
0x1 Cryptopp 下载
0x2 Cryptopp 编译
- 下载后,可见目录结构如下
- 我们用 VS 打开项目文件,可见有 4 个子解决方案,分别是 cryptdll 编译 dll, cryptlib 编译 lib,还有两个测试方案 cyptest 和 dlltest
- 我们打开 cryptlib 方案,编译一个静态链接库 lib
- 在提示输出的目录下我们可以找到生成的静态链接库 lib 文件
0x3 Cryptopp 使用
- 我们用 VS 新建一个 C++ 控制台项目 CryptoppTEST
- 在之前编译的 Cryptopp 项目目录下,新建两个文件夹 include 和 lib, 将Cryptopp 项目所有的 header (.h) 文件复制一份到 include 目录下,将 之前编译好的 cryptlib.lib 静态链接库 复制一份到 lib 目录下,之后前面创建的测试项目CryptoppTEST 需要调用
- 在新建的 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;
}
- 设置相关项目配置,引入 cryptlib.lib
项目右键 –> 属性 –> C/C++ –> 常规 -> 附加包含目录 –> 选择之前创建的 include 目录
项目右键 –> 属性 –> 链接器 –> 附加包含目录 –> 选择之前创建的 include 目录
项目右键 –> 属性 –> 链接器 –> 输入 –> 输入 cryptlib.lib
项目右键 –> 属性 –> 链接器 –> 输入 –> 输入 cryptlib.lib
- 此时代码中红色波浪线消失
- 运行测试代码成功,这样我们之后就可以利用Cryptopp库加解密ShellCode了
© 版权声明
THE END
暂无评论内容