【发布时间】:2019-08-27 12:50:34
【问题描述】:
我尝试编译一个 C 文件,该文件使用虚拟分配解密并执行一个 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 文件
【问题讨论】:
-
你能把那个错误信息翻译成英文吗?
标签: c gcc openssl mingw32 rc4-cipher