utds3lab / multiverse

A static binary rewriter that does not use heuristics
GNU Lesser General Public License v3.0
298 stars 33 forks source link

Must compile with -fno-stack-protector #8

Open StarGazerM opened 4 years ago

StarGazerM commented 4 years ago

Hi

When I try to run make in my machine, it give a error

gcc -o x86_populate_gm -m32 -Wall -nostdlib -fno-toplevel-reorder -masm=intel -O1 x86_populate_gm.c
/usr/bin/ld: /tmp/ccRO7Xsn.o: in function `_start':
x86_populate_gm.c:(.text+0xba): undefined reference to `__stack_chk_fail_local'
/usr/bin/ld: /tmp/ccRO7Xsn.o: in function `process_maps':
x86_populate_gm.c:(.text+0x286): undefined reference to `__stack_chk_fail_local'
/usr/bin/ld: x86_populate_gm: hidden symbol `__stack_chk_fail_local' isn't defined

My OS is Manjaro 18.1.5 My GCC is GCC 9.2.0

I must add no-stack-protector flag to pass compile. Is it common case?

StarGazerM commented 4 years ago

meanwhile could you share the version of python lib required?

baumane commented 4 years ago

I have not encountered that case, but it may be a configuration difference between Linux distros and gcc versions. This was developed on Ubuntu 14.04, with GCC 4.8.4, and the no-stack-protector flag was not required in that configuration.

Python 2.7 is required. For the python libraries, use the ones listed in the Readme, especially the forked version of Capstone that is linked instead of the most recent version. For the other libraries, try using the most recent versions.