trailofbits / cb-multios

DARPA Challenges Sets for Linux, Windows, and macOS
https://blog.trailofbits.com/2016/08/01/your-tool-works-better-than-mine-prove-it/
MIT License
520 stars 103 forks source link

OS errors when generating polls and other errors #84

Open halsalem opened 3 years ago

halsalem commented 3 years ago

I am trying to generate polls for all the programs but I have encounter OSError for some challenges which prevent generating polls and some other errors. How can I fix these problems to generate polls? These are some examples of many programs has same errors.

error1 error2 error3 error4 error5

woodruffw commented 3 years ago

The ELFCLASS32 error means that you're trying to load a 32-bit library into a 64-bit process. If you built the challenges as 32-bit, you'll probably need to use a 32-bit runtime with them.

halsalem commented 3 years ago

How can I use 32-bit runtime with these challenges?

woodruffw commented 3 years ago

How can I use 32-bit runtime with these challenges?

That depends on what you're doing. Did you intend to build these challenges as 32-bit? If you did, then you'll need to run a 32-bit userspace (including 32-bit Python, since you're loading into a Python interpreter). If you don't actually need them to be 32-bit, you should remove whatever build flag is causing that (everything should be 64-bit by default).

halsalem commented 3 years ago

There is no flag indicates 32bit in build script. How can I change the build.sh to build as 64bit?

woodruffw commented 3 years ago

Ah, my bad -- it looks like the build does do everything as 32-bit. Hmm. Your best bet is probably to get a 32-bit build of Python. You might have to build it yourself, but Ubuntu (or whatever distro) should be able to supply you with all of the 32-bit dependencies via apt.

halsalem commented 3 years ago

Thank you. But I don’t know what version of python to install that uses 32-bit. I would like you to give me a hand on this.

woodruffw commented 3 years ago

Thank you. But I don’t know what version of python to install that uses 32-bit.

That depends on your distribution. From the screenshots, it looks like you're using Ubuntu, so sudo apt install python3:i386 or similar might work. If not, you'll need to download a Python source distribution and compile it from source using a 32-bit toolchain.

I would like you to give me a hand on this.

I'm sorry, but I have limited bandwidth for supporting this repo. We mostly maintain it for our own purposes. It sounds like you're part of an undergraduate or graduate research group; you should consider asking for help from someone in your group.

I'll leave this open for the time being, since others might be able to help. Best of luck.

halsalem commented 3 years ago

I have got this problem I don't know how to fix it. $ sudo apt install python2.7:i386 Reading package lists... Done Building dependency tree
Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: python2.7:i386 : Depends: python2.7-minimal:i386 (= 2.7.17-1~18.04ubuntu1.2) but it is not going to be installed E: Unable to correct problems, you have held broken packages.

liushengahn commented 2 years ago

Have you resolved the issue with the 32-bit python2 installation now?