endgameinc / xori

Xori is an automation-ready disassembly and static analysis library for PE32, 32+ and shellcode

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Xori install error on Windows 10

SeattleForensics opened this issue · comments

I've attempted to install Xori on two versions of Windows 10; both the latest and greatest v 1803 as well as the previous version (1709 I believe). Per the requirements:
-Installed Rust from https://static.rust-lang.org/dist/rust-1.28.0-x86_64-pc-windows-gnu.msi
-Downloaded the zip from https://github.com/endgameinc/xori
-Tried installing in CMD window, both with and without Admin privileges using "cargo build --release".
-Also tried installing with the same command in a PowerShell window.

In all cases, I got the attached error message.

Can you help me troubleshoot this?
install-error

Have you also installed GCC in windows? The error message said it can’t find “make” in the environment. If you already have visual studio installed I recommend the rust msvc build and not gnu.

commented

Hey @SeattleForensics , I've just build it successfully on the win10 VM from https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

try this:

  • download x86_64-pc-windows-gnu ("rustup-init.exe") from here https://www.rust-lang.org/en-US/other-installers.html
  • run it, if your environment is missing the Build Tools for Visual Studio 2017 you will get the link from the cli output
  • download & install the Build Tools for Visual Studio 2017 from here https://visualstudio.microsoft.com/downloads/ (at the bottom, expand "Tools for Visual Studio 2017")
  • run "rustup-init.exe" again & after this step you can download xori & build it
  • tinker around & enjoy!

xori_build

Thanks @d1maz i will try to get this comment into a wiki here or something so folks can get moving if dependency heck is giving them headaches.

commented

Hey @rseymour I've created a pull request #9 with some datails and more screenshots. Maybe you can use it somewhere.

Thanks everyone. I tried the msvc build this time. The combination that ended up working for that was to not only install Build Tools for Visual Studio 2017, but also Visual Studio itself with the "Desktop Development with C++" workload/package. Installing the build tools alone still left out key components such as "link.exe", which was necessary for the compilation to complete. Installing Visual Studio without any additional components I believe also failed, but once I chose the "Desktop development with C++" workload, it worked.

One installation issue I can see that may be confusing for some perspective users is the choice of what to install when you run the Build Tools for Visual Studio 2017. Once you select the Community Edition, there are 18 separate boxes that can be checked. Steering people to the "Desktop Development with C++" option may be helpful, as I had to choose that one as well to get successful compilation. There may be a more minimal set of things needed to compile (which is what I was looking for to avoid bloat because the download was several GB).

I tried the x86_64-pc-windows-gnu version of rust previous to the above success, and had installed the Build Tools for Visual Studio 2017, but compilation still failed, even on an up to date Windows 10 box, build 1803. I'm curious what was different between your successful test and my failed attempt, but in the end I don't think any of us have the spare time to track such things down when there was a different solution. My thought behind posting this was to bring to light installation issues that others may run into, which could potentially hurt the adoption rate of trying out Xori. Ultimately, releasing precompiled binaries would make it easiest on people, but I'm sure there must have been reasons that was not done.

Thanks again.

commented

Here are some details with screenshots about the installation https://github.com/d1maz/xori/tree/install-rust-on-windows#install-rust-for-windows but the Visual C++ build tools are still about 5 GB

Awesome! You all rock! I think that will help others.