As you see, the antifuzz-tutorial contains a compile tutorial of binutils-2.23 , the binary readelf,objdump,objcpy,nm-new has the source code -> ir code command line , e.g.
but if I want to compile the binary with speedbump, it will lead to :(See antifuzz-tutorial/temp/binutils/build-objdump.sh, this is generated by src/compile.py)
So we will fail in the antifuzz-all.py when opening objdump_d30_r4_o3(for example)
Traceback (most recent call last):
File "antifuzz_all.py", line 587, in <module>
bump_depay, bump_ratio, fname, c_overhead, s_overhead = speedbump()
File "antifuzz_all.py", line 415, in speedbump
c_overhead, s_overhead = _ret_overhead(gen_pn)
File "antifuzz_all.py", line 508, in _ret_overhead
newfile_size = os.path.getsize(gen_pn)
File "/usr/lib/python2.7/genericpath.py", line 57, in getsize
return os.stat(filename).st_size
OSError: [Errno 2] No such file or directory: '../antifuzz-tutorial/temp/binutils/objdump_d50_r17_o3'
As you see, the antifuzz-tutorial contains a compile tutorial of binutils-2.23 , the binary
readelf
,objdump
,objcpy
,nm-new
has the source code -> ir code command line , e.g.COMMAND["objdump.o"] = 'afl-clang-fast -DHAVE_CONFIG_H -I. -I. -I. -I../bfd -I./../bfd -I./../include -DLOCALEDIR="\\"/usr/local/share/locale\\"" -Dbin_dummy_emulation=bin_vanilla_emulation -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -O0 -flto -std=c11 -lpthread -MT objdump.o -MD -MP -MF .deps/objdump.Tpo -c -o objdump.o -DOBJDUMP_PRIVATE_VECTORS="" ./{SRC} 2> /tmp/makeout'
but if I want to compile the binary with speedbump, it will lead to :(See
antifuzz-tutorial/temp/binutils/build-objdump.sh
, this is generated by src/compile.py)The question is, all the *_bump.o file (except the objdump_bump.o) will fail in src/.work3/make_bump.sh:
opt -load ./libSkeletonPass_bump.so -SkeletonPass <$1.o> $1_bump.o
...So we will fail in the antifuzz-all.py when opening
objdump_d30_r4_o3
(for example)