Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build : error missing include and references #11

Closed
hexwreaker opened this issue Jan 15, 2025 · 2 comments
Closed

Build : error missing include and references #11

hexwreaker opened this issue Jan 15, 2025 · 2 comments

Comments

@hexwreaker
Copy link

Hi there is two error when trying to building the project.

Here is the error message :

➜  e9afl git:(master) ✗ ./build.sh 
./build.sh: downloading e9patch-39238830c3ba90d80b6996f05c872a7f8f042003.zip...
[passing extracting and inflating processes...] 
./build.sh: building Zydis...
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/Decoder.o zydis/src/Decoder.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/DecoderData.o zydis/src/DecoderData.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/FormatterATT.o zydis/src/FormatterATT.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/FormatterBase.o zydis/src/FormatterBase.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/FormatterBuffer.o zydis/src/FormatterBuffer.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/Formatter.o zydis/src/Formatter.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/FormatterIntel.o zydis/src/FormatterIntel.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/MetaInfo.o zydis/src/MetaInfo.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/Mnemonic.o zydis/src/Mnemonic.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/Register.o zydis/src/Register.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/SharedData.o zydis/src/SharedData.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/String.o zydis/src/String.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/Utils.o zydis/src/Utils.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/src/Zydis.o zydis/src/Zydis.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/Allocator.o zydis/dependencies/zycore/src/Allocator.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/ArgParse.o zydis/dependencies/zycore/src/ArgParse.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/Bitset.o zydis/dependencies/zycore/src/Bitset.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/Format.o zydis/dependencies/zycore/src/Format.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/List.o zydis/dependencies/zycore/src/List.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/String.o zydis/dependencies/zycore/src/String.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/Vector.o zydis/dependencies/zycore/src/Vector.c
gcc -fPIC -O2 -I zydis/include/ -I zydis/dependencies/zycore/include/ -I zydis/src/   -c -o zydis/dependencies/zycore/src/Zycore.o zydis/dependencies/zycore/src/Zycore.c
ar rcs libZydis.a zydis/src/Decoder.o zydis/src/DecoderData.o zydis/src/FormatterATT.o zydis/src/FormatterBase.o zydis/src/FormatterBuffer.o zydis/src/Formatter.o zydis/src/FormatterIntel.o zydis/src/MetaInfo.o zydis/src/Mnemonic.o zydis/src/Register.o zydis/src/SharedData.o zydis/src/String.o zydis/src/Utils.o zydis/src/Zydis.o zydis/dependencies/zycore/src/Allocator.o zydis/dependencies/zycore/src/ArgParse.o zydis/dependencies/zycore/src/Bitset.o zydis/dependencies/zycore/src/Format.o zydis/dependencies/zycore/src/List.o zydis/dependencies/zycore/src/String.o zydis/dependencies/zycore/src/Vector.o zydis/dependencies/zycore/src/Zycore.o
./build.sh: building e9patch and e9tool...
rm -rf src/e9tool/e9action.o src/e9tool/e9cfg.o src/e9tool/e9codegen.o src/e9tool/e9csv.o src/e9tool/e9frontend.o src/e9tool/e9metadata.o src/e9tool/e9misc.o src/e9tool/e9parser.o src/e9tool/e9tool.o src/e9tool/e9types.o src/e9tool/e9x86_64.o e9tool
rm -rf src/e9patch/e9CFR.o src/e9patch/e9alloc.o src/e9patch/e9api.o src/e9patch/e9elf.o src/e9patch/e9emit.o src/e9patch/e9json.o src/e9patch/e9mapping.o src/e9patch/e9misc.o src/e9patch/e9optimize.o src/e9patch/e9patch.o src/e9patch/e9pe.o src/e9patch/e9tactics.o src/e9patch/e9trampoline.o src/e9patch/e9x86_64.o e9patch \
        src/e9patch/e9loader.c e9loader.out e9loader.o e9loader.bin
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9action.o src/e9tool/e9action.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9cfg.o src/e9tool/e9cfg.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9codegen.o src/e9tool/e9codegen.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9csv.o src/e9tool/e9csv.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9frontend.o src/e9tool/e9frontend.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9metadata.o src/e9tool/e9metadata.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9misc.o src/e9tool/e9misc.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9parser.o src/e9tool/e9parser.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9tool.o src/e9tool/e9tool.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9types.o src/e9tool/e9types.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -I src/e9tool/ -I zydis/include/ -I zydis/dependencies/zycore/include/ -Wno-unused-function   -c -o src/e9tool/e9x86_64.o src/e9tool/e9x86_64.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9CFR.o src/e9patch/e9CFR.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9alloc.o src/e9patch/e9alloc.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9api.o src/e9patch/e9api.cpp
g++ -std=c++11 -Wall -fno-stack-protector -Wno-unused-function -fPIC \
        -Os -c src/e9patch/e9loader_elf.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9emit.o src/e9patch/e9emit.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9json.o src/e9patch/e9json.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9mapping.o src/e9patch/e9mapping.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9misc.o src/e9patch/e9misc.cpp
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9optimize.o src/e9patch/e9optimize.cpp
g++ -pie -nostdlib -o e9loader_elf.bin e9loader_elf.o -T e9loader.ld
xxd -i e9loader_elf.bin > src/e9patch/e9loader_elf.c
g++ -std=c++11 -Wall -Wno-reorder -fPIC -pie -march=native -DVERSION=1.0.0-rc5 -O2 -D NDEBUG   -c -o src/e9patch/e9patch.o src/e9patch/e9patch.cpp
In file included from src/e9tool/e9misc.cpp:27:
src/e9tool/e9misc.h:38:53: error: ‘SIZE_MAX’ was not declared in this scope
   38 | extern char *strDup(const char *old_str, size_t n = SIZE_MAX);
      |                                                     ^~~~~~~~
src/e9tool/e9misc.h:24:1: note: ‘SIZE_MAX’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
   23 | #include <string>
  +++ |+#include <cstdint>
   24 | 
g++ -std=c++11 -Wall -fno-stack-protector -fno-zero-initialized-in-bss \
        -Wno-unused-function -fPIC -mabi=ms -fshort-wchar \
        -Os -c src/e9patch/e9loader_pe.cpp
make: *** [<builtin>: src/e9tool/e9misc.o] Error 1
make: *** Waiting for unfinished jobs....
g++ -pie -nostdlib -o e9loader_pe.bin e9loader_pe.o -T e9loader.ld
xxd -i e9loader_pe.bin > src/e9patch/e9loader_pe.c
./build.sh: done...!
./build.sh: e9patch has been built...
./build.sh: building the e9afl plugin...
g++ -std=c++11 -fPIC -shared -o e9AFLPlugin.so -O2 e9AFLPlugin.cpp -I .
./build.sh: building the e9afl runtime...
gcc -fno-stack-protector -fpie -O2 -Wno-unused-function -mno-mmx -mno-sse -mno-avx -mno-avx2 -mno-avx512f -msoft-float -fno-tree-vectorize -fomit-frame-pointer -I examples/ -c -Wall -I e9patch-39238830c3ba90d80b6996f05c872a7f8f042003/examples/ -I e9patch-39238830c3ba90d80b6996f05c872a7f8f042003/src/e9patch/ -DNO_GLIBC=1 ./afl-rt.c
In file included from ./afl-rt.c:31:
e9patch-39238830c3ba90d80b6996f05c872a7f8f042003/examples/stdlib.c:503:14: warning: call-clobbered register used for global register variable
  503 | register int errno asm ("r11");
      |              ^~~~~
gcc afl-rt.o -o afl-rt -pie -nostdlib -Wl,-z -Wl,max-page-size=4096 -Wl,-z -Wl,norelro -Wl,-z -Wl,stack-size=0 -Wl,--export-dynamic -Wl,--entry=0x0 -Wl,--strip-all
/usr/bin/ld: afl-rt.o: in function `e9_vsnprintf':
afl-rt.c:(.text+0xd35): undefined reference to `strlen'
/usr/bin/ld: afl-rt.o: in function `print_message':
afl-rt.c:(.text+0x17e0): undefined reference to `strlen'
collect2: error: ld returned 1 exit status

error: linking (afl-rt) failed

Thanks !

@GJDuck
Copy link
Owner

GJDuck commented Jan 17, 2025

I've updated E9AFL to use the latest version of E9Patch. Please try this new version, and see if your error(s) are resolved or not.

@hexwreaker
Copy link
Author

It works ! thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants