-
Notifications
You must be signed in to change notification settings - Fork 136
EresiFAQ
-
What does the name of the ERESI Project means? ERESI stands for ERESI Reverse Engineering Software Interface.
-
When started ERESI ? The project started with year 2007 based on a dense and uniform base code entirely implemented by the ever growing [shell project community since 2001.
-
Who does ERESI ? The ERESI project is made by the [team.
-
Why do I have Makefile errors when trying to build ERESI ? If you are on a different OS than Linux, you may want to install gmake for building ERESI properly.
-
How can I customize my ERESI built ? Edit the config.h file at the root of the project tree and put anything you want in the EXTRACFLAGS variable. You can also change the already defined Makefile variables in config.h if you know what you are doing.
-
ERESI takes so long to compile, how can I save compilation time ? If you know which component has to be rebuilt, try a make in the correct directory. This will rebuild the component for both 32 and 64 bits versions. You can use make all32 or make all64 to rebuild a specific 32 or 64 bits version depending on the format of your target binaries. You dont generally need to rebuild all other components except if you wish to use the eresi debugger, since libe2dbg include a copy of all eresi code and needs to be rebuilt after any change in ERESI.
-
How to reduce the compile time of libasm ? You can use the --libasm-packed option of the configure file of ERESI. This option will merge all libasm files into just a few and will increase greatly the compilation time for libasm. You might also use --libasm-{ia32,sparc,mips} configure options to specify which architecture you want to compile libasm support for (default: all).
-
Why do I have build errors when compiling the ERESI kernel debugger ? We have made a [page for those of you having problems building kernsh or ke2dbg. Remember the embedded kernel debugger (enabled by ''--enable-ke2dbg'') is still in development and not intended to be used by non-ERESI developers. On the other hand, the remote kernel debugger (kedbg) is already functional but requires installing a third-party virtual machine.
-
How to test ERESI without install ? First configure it with --enable-testing parameter and execute source env.sh, then build it from scratch. This will allow you to use all ERESI binaries from their compilation home. It will also compile the whole testsuite, thus this option slightly increases the total compilation time.
-
The testsuite fails to compile with error starting with: eresi-config: Command not found Consider source env.sh before compiling the testsuite.
-
I still dont manage to compile the testsuite The automated testsuite building is currently only available for 32bit architectures. You can still build a testsuite entry on 64 bits by modifying the Makefile for using 64bit libraries (see CFLAGS{32,64} and LDFLAGS{32,64} and library names postfixes in the default Makefile).
-
Why do I have the error: /usr/bin/ld: elfsh64: hidden symbol stack_chk_fail_local in /usr/lib/libc_nonshared.a (stack_chk_fail_local.oS) is referenced by DSO : /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status ? It looks like you are trying to cross-compile ERESI on a system which is incorrectly configured for cross-compilation. This particular error happens on Ubuntu systems with stack protection enabled by default. The easiest solution is to edit config.h and add an EXTRACFLAGS = -fno-stack-protector which will disable stack protection and allow cross-compilation.
-
ERESI does not compile on my system You might try an older deprecated version of the ELF shell, but this is not the good solution. Instead, provide us full details with complete OS information so we can resolve your problem.
-
Can ERESI manipulate 64bit binaries on a 32bit architecture and vice-versa ? The ELF shell and the Evarista static analyzer are capable of it. However, this was not tested for all existing systems and you can encounter a problem. In that case, report it on the bugtracking system with all details of environment, results of compilation built, ERESI profiling output (see profile command) or dumped core. Obviously, you will be able to analyse and modify such binaries, but not executing them, unless the host OS has a builtin compatibilities for your analyzed binaries. For this reason, the Kernel shell is not cross-kernel compatible, and the ERESI tracer and embedded ERESI debugger are relying on OS emulation to work for such targets.
-
I would like to port ERESI framework to an unsupported OS or architecture. Where do I start? You may start with our documentation or check [specific informations
-
I have found a bug! Where do I report it? You can use our ticket system to let us know. Give us as much informations you can: operating system, kernel version, eresi version and how can we reproduce the bug. Make sure you tested the latest version of the framework.
-
Will ERESI support xxx feature ? Look at the portability info on each component's webpage. If you need a feature that is not supported, come to help us developing it for a faster ERESI updating.
-
The web site menu (Tools,Libraries,Documentation,Other) looks strange?Much likely you are using Internet Explorer which is not standard conform. Use another browser until we patch the website in case we really have nothing else to do.