先根据题意在C盘下创建一个XX_TEST_XX文件夹,里面创建一个文件叫a.bmp,至于内容随便填写

直接开始调试

main函数前面先获取了a.bmp的路径名,然后创建了一个后缀ctf_crypter的路径名

Untitled

然后下方,将a.bmp的路径填写到phProv[3]地址开始处,将变换后的路径放到phProv[11]地址处

Untitled

然后就进入关键加密函数:

Untitled

里面前两个函数先对key进行变化:

Untitled

变化后赋值到v9,然后用v9和_time64(0)给pdata赋值

![]%H7}HQML0LJ24HD7VPVQJU.png](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f141b93f-d697-4330-bcaf-45a4d6e20dd9/H7HQML0LJ24HD7VPVQJU.png)

Untitled

这里就是一些<wincrypt.h>头文件包含的库函数了

0x800C代表sha-256

0x660E代表AES-128

上面创建hash算法sha-256,将key添加到了散列对象

并创建AES-128的密钥

下面生成RSA的公钥

Untitled