1、使用 mingw-w64 编译 Hyperion2.2报错,如下
Hyperion-2.2/Src/Crypter/encryption.c:6:10: fatal error: aes.h: 没有那个文件或目录
#include <aes.h>
2、发现Hyperion-2.2 文件里有 Makefile 文件。
通过make的方式编译,直接make的时候报没有windows.h的错。
root@kali:~/Hyperion-2.2# make
gcc -std=c99 -Wall -pedantic -O2 -m32 -ISrc/Payloads/Aes/c -c -o Src/Crypter/pe64.o Src/Crypter/pe64.c
In file included from Src/Crypter/pe64.c:1:
Src/Crypter/hyperion.h:4:10: fatal error: windows.h: 没有那个文件或目录
4 | #include <windows.h>
| ^~~~~~~~~~~
compilation terminated.
make: *** [<内置>:Src/Crypter/pe64.o] 错误 1
3、然后将 第1行 cc=后面的gcc替换成了 i686-w64-mingw32-gcc的gcc编译器,然后使用make指令发现编译成功。
修改之前:
修改之后
root@kali:~/Hyperion-2.2# vim Makefile
CC = i686-w64-mingw32-gcc
AES_INCLUDE_DIR = Src/Payloads/Aes/c
CFLAGS = -std=c99 -Wall -pedantic -O2 -m32 -I$(AES_INCLUDE_DIR)
SRC = $(wildcard Src/Crypter/*.c) $(wildcard Src/Payloads/Aes/c/*.c)
OBJ = $(SRC:.c=.o)
EXECUTABLE=hyperion.exe
all: hyperion
hyperion: $(OBJ)
$(CC) $(CFLAGS) -o $(EXECUTABLE) $^
4、再用make编译一次,成功
执行文件hyperion.exe生成成功