Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add setup command for building a static python interpreter with pyvex. #5

Closed
wants to merge 3 commits into from
Closed

Conversation

allanlw
Copy link
Contributor

@allanlw allanlw commented Dec 5, 2013

This is a giant hack to get around the fact that libvex comes as a
static library for most valgrind distributions (debian/ubuntu). It is
not compiled -fPIC so it is not possible to make a shared object
extension unless libvex is recompiled.

This is one of the more disgusting things I have written in recent memory. I don't know if this will be useful to anyone else but I decided to send it along regardless.

This is a giant hack to get around the fact that libvex comes as a
static library for most valgrind distributions (debian/ubuntu). It is
not compiled -fPIC so it is not possible to make a shared object
extension nuless libvex is recompiled.
@zardus
Copy link
Member

zardus commented Dec 8, 2013

Thanks for the pull request! Sorry I haven't gotten to it yet; we've been organizing the iCTF here, and now I'm basically sleeping off the ordeal. I should have this merged sometime next week :-)

@allanlw
Copy link
Contributor Author

allanlw commented Dec 11, 2013

no worries.

I meant to make this pull request for only the first commit, but github seems to have automatically updated it when I made two more commits to my repo.

The enum gen script is almost exactly the same as the current enum file. I suggest you run it and diff, which is what I did.

The second commit was mostly me getting fed up with being limited to translating 99 instructions at a time. I'm not sure if it's even correct, but it works, in a way, and I would probably like to remove it from this pull request, but I can't.

Also as I'm sure you know the memory management in pyvex is basically non-existent, and I might take a look at fixing that if I get a chance.

@zardus
Copy link
Member

zardus commented Dec 24, 2013

Success! I merged in the first and last commit. The way the static translation changes are implemented breaks some of my stuff, but I'll cherry-pick some of those changes over the next few weeks as I have time, if you don't mind :-). I especially like the radare stuff! We're using ida around here for basically the same stuff right now, and it'll be great to replace it.

@zardus zardus closed this Dec 24, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants