致命错误:openssl / opensslconf.h:没有此类文件或目录

时间:2019-08-27 12:50:34

标签: c gcc openssl mingw32 rc4-cipher

我尝试编译一个C文件,该文件使用虚拟alloc解密并执行rc-4加密的shellcode。

现在我得到一个错误:

  

“在rc-4.c:2包含的文件中:rc4.h:62:11:致命错误:   openssl / opensslconf.h:没有这样的文件或目录    #include / * OPENSSL_NO_RC4,RC4_INT * /“

我的编译命令是: i586-mingw32msvc-gcc rc-4.c -o test.exe -lcrypto

起初mingw32给我的错误是找不到rc-4.h。 我通过在当前目录中复制rc-4.h并将其包含在#include“ rc-4.h”中来解决了该问题

代码的前两行

```
#include <windows.h>
#include "rc4.h"
```

如何解密和执行rc-4 shellcode:

int lpBufSize = sizeof(int) * PAYLOADSIZE;
        LPVOID lpBuf = VirtualAlloc(NULL, lpBufSize, MEM_COMMIT, 0x04);
        memset(lpBuf, '\0', lpBufSize);
        RC4(RC4KEY, payload, (char*) lpBuf, PAYLOADSIZE);
        MessageBox(NULL, (char*) lpBuf, "Test", MB_OK);
        return 0;

预期输出应为已编译的test.exe文件

1 个答案:

答案 0 :(得分:0)

我正在使用MinGW64,因为这是这里安装的。我知道标签“ mingw32”,希望还可以。

1。编译

头文件rc4.h位于路径<path-of-installation>/<version>/mingw64/opt/include中,因此必须将其作为-I的参数:

i586-mingw32msvc-gcc -c -I "<path-of-installation>/<version>/mingw64/opt/include" rc-4.c -o rc-4.o

您还可以设置CPATHC_INCLUDE_PATH,请参见The C Preprocessor: Environment Variables

2。关联

注意:由于您没有提供足够的源代码,因此无法尝试。

库文件libcrypto.a位于路径<path-of-installation>/<version>/mingw64/opt/lib中,因此必须将其作为-L的参数:

i586-mingw32msvc-gcc -L "<path-of-installation>/<version>/mingw64/opt/lib" rc-4.o -lcrypto -o test.exe