fiberx / fiber

Source-binary patch presence test system.
BSD 2-Clause "Simplified" License
80 stars 37 forks source link

Simuvex is not used anymore #1

Closed summerban closed 6 years ago

summerban commented 6 years ago

I comply with your install instructions to install this project, when I command "python test_sig.py examples/sigs/CVE-2016-3866-sig-0" I faced a question "ImportError: No module named simuvex " and i found that Simuvex is not used anymore,

can you give me some suggestions on how to execute your project? thanks

cpumask commented 6 years ago

Hi, @summerban

We understand that "Simuvex" is deprecated in latest Angr now. Since Fiber was based on a modified older version of Angr, we have forked original Angr packages (including "Simuvex"), modified them and host them in our own repository (fiberx/). Thus when you execute "setup_angr_env.sh", it will retrieve all these customized Angr packages from fiberx/ instead of the official Angr repository.

That's to say, it's a little strange for you to encounter that import error if all install instructions have been successfully executed. I just gave it another test and everything seems ok. The possible reason I can think for the error is the failure to properly setup and switch to the python virtual env. Could you please provide your full console log when installing Fiber for us to analysis?

summerban commented 6 years ago

Thanks for your reply。 I didn't face any questions during install procedure. Can I show my Installation process? 1:git clone https://github.com/fiberx/fiber.git 2:cd fiber 3:~/fiber$ ./setup_angr_env.sh angr fiber-test 4: workon fiber-test 5: ./install_pkgs.sh however ,after that I can't import angr properly and screen shows that "import error ,no module named angr" ,so i “pip install angr” ,then I faced the question above. I also tried to pip install angr==old version" ,but it doesn't help/ could you please give me some suggestion , thanks

cpumask commented 6 years ago

Hi, Based on your procedure I can think of two things that can cause the error: (1) Have you successfully intalled the virtualenvwrapper? If so then at your 5th step the command line should look like this (virtual env name automatically showed before prompt): (fiber-test) $./install_pkgs.sh (2) If (1) is not the reason, then the only thing I can think is that something went wrong in step 3. You may still be able to finish executing the script but there may be some error messages left ignored. In that case, could you record the full screen output of step 3 and provide it for further analysis?

Note that please don't use standard "pip install" command to install Angr, cause Fiber only works in our customized Angr environment. It's not only about the version, we also modified quite some Angr internal implementations. "setup_angr_env.sh" will install our customized Angr for you.

Thanks.

summerban commented 6 years ago

thanks for your reply I found a question that before i execute "(venv_name)~/fiber$ ./install_pkgs.sh" I can import angr but after i execute "(venv_name)~/fiber$ ./install_pkgs.sh" i can't import angr ,could you please explain it for me. thanks

cpumask commented 6 years ago

Hi, Do you mean that "./install_pkgs.sh" is the source of the import error? (the strikethrough is a little confusing) Or before executing it you had already been unable to import Angr? To me the "./install_pkgs.sh" should have nothing to do with the Angr installation, as you can see in the script, it only installs some extra python packages.

One way you can check the Angr installation in your virtual env is: $ls ~/.virtualenvs/(venv-name)/lib/python2.7/site-packages This will list all installed packages in your virtual env, if Angr is installed, you can see something like "angr.egg-link".

summerban commented 6 years ago

thanks for your patient reply.I successfully install it