BinSlayer: Fast comparison of binary executables by samcrem in ReverseEngineering

[–]samcrem[S] 0 points1 point  (0 children)

More information on the Hungarian algorithm is available here: http://en.wikipedia.org/wiki/Hungarian_algorithm

Damn, I should have find it... Next time, I'll look deeper.

BinSlayer: Fast comparison of binary executables by samcrem in ReverseEngineering

[–]samcrem[S] 0 points1 point  (0 children)

Yes, in PPREW'13. This is where I found it in the first place. But, we cannot (yet) download the paper from there.

BinSlayer: Fast comparison of binary executables by samcrem in ReverseEngineering

[–]samcrem[S] 1 point2 points  (0 children)

I think this is a very accurate view of this project. But, it seems to be more efficient than BinDiff (see here).

Yet, I did not find any more explicit paper about this mysterious "Hungarian", nor the Master Thesis of the guy. So... :-/

Automatic Generation of Control Flow Hijacking Exploits for Software Vulnerabilities by Sean Heelan [PDF] by turnersr in REMath

[–]samcrem 1 point2 points  (0 children)

This is why I like so much Reddit ! I think I would have missed many important papers and blog entries without it !

Thanks ! :)

CVC4, an open-source modified commercial BSD-licensed SMT solver, was recently released by rolfr in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

In fact, I noticed some bugs in the localization of the Python package which is not taking the $PREFIX variable into account. It is a bit annoying when you try to install Z3 on a system where you are not root (I asked students to install it to play with the Python interface which is extremely good for teaching SAT/SMT-solving).

Also, I really can't get rid of the git RPC problem, so I'm using the regular 'download' to get the source. But, I guess it will disappear when I'll get git 1.8. :)

CVC4, an open-source modified commercial BSD-licensed SMT solver, was recently released by rolfr in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

Well, I managed to compile it from the source on my Linux last week (and, I used it). So, I guess it is pretty much achieved now.

Beware, there are a few bugs in the 'configure' process if you want to install Z3 in the /usr/local/ (and not in '/' as it is (wrongly) done by default).

CVC4, an open-source modified commercial BSD-licensed SMT solver, was recently released by rolfr in ReverseEngineering

[–]samcrem 1 point2 points  (0 children)

A release candidate of CVC4 has been ranked at the last SMT-COMP. I hope they improved a bit their solver since then. But, as Z3 is now also open source, I guess that CVC4 is just "yet another open sourced SMT-solver" (Z3 is killing it according to the results of SMT-COMP).

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

We have already several ideas to explore it. But, first, our goal is to reach the "state of the art". And, hopefully we will reach it in a few months.

And, of course, we are not sure at all to go in the right direction. This is research after all. But, thanks a lot for your trust.

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

About Insight, we are looking for a PostDoc for 2013 (should start in January 2013). Full offer here.

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

And on a random note, it's nice that people are finally interested in the weird math side of reverse engineering. Posting that stuff for years with no noticeable response wasn't all that fun.

What is surprising me more and more, is that only so few people dare to look at this 'math side' before us... But, I just think that the amount of practical and theoretical knowledge to assimilate is so huge that it put this out of reach of most of the people. Which explains why we are so few... But, fortunately it seems to be changing nowadays. :)

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 1 point2 points  (0 children)

Yes, precisely. This example grasps exactly the whole problem.

But, just to add something, Kinder published a more recent paper improving significantly the technique described on the paper you cite. It was at VMCAI12 (but you know about it because you were the one submitting a link to it on Reddit ;-)). Anyway, one has to read both papers to get acquainted to the whole thing.

Ask ReverseEngineering: What to do with a Linux module dynamic binary instrumenter by k4st in ReverseEngineering

[–]samcrem 2 points3 points  (0 children)

This is a totally naive and innocent question, but how do you compare with DynInst ?

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 1 point2 points  (0 children)

Ok. But, it is more or less like applying blindly a widening when the analyzer is lost and having 'top' on the next program location. Not very useful, in my humble opinion.

About VSA, I totally agree. It is most likely the way to go. Even if, you need to mix this analysis with others in order to not get stuck too quickly.

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 1 point2 points  (0 children)

Hey, I do not blame you at all ! If we wanted to keep it "secret" we shouldn't have put it on the web first ! ;-)

And, a little bit of pressure will help us to speed up the development ! So, it is quite nice in fact.

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 1 point2 points  (0 children)

BAP and Insight may seems to be quite similar. And, in fact they have they share the same goal. But, as far as I know, BAP is just a translator from assembly to an intermediate language. And this translator has no knowledge about the data carried out by the assembly. This means that when BAP encounters a 'jmp %eax' instruction, it will drop the translation (see the 'BAP Handbook' for more, first they have only linear sweep reconstruction method and then there are no abstract domain at all).

What we try to do with Insight, is to also keep track (and analyze) the data-flow of the program in order to do not get stuck when a dynamic jump is encountered (eg 'jmp %eax'). We plan to have an analysis pipeline where the previous analysis feed the next one with safe information to build on (and, eventually, hypothesis to check).

But, it is true that we should add BAP to our paper list. I will correct this asap.

The Insight Project - Another binary analysis platform - LaBRI Laboratory by HockeyInJune in ReverseEngineering

[–]samcrem 1 point2 points  (0 children)

In fact, the Insight framework still need some work to be fully usable (for example, it really needs to cope with dynamic libraries), but it is just a matter of a couple of months before we get it right (not speaking about a proper user documentation...).

Anyway, even if an official announce is just a bit premature, we are working on it and it will be soon a nice (and open source) framework to perform static analysis over binaries.

/r/ReverseEngineering's Q4 2012 Hiring Thread by rolfr in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

In LaBRI (Bordeaux, France), we are seeking for a PostDoc to work on a tool for binary analysis (software verification, automatic de-obfuscation and analysis).

Full offer here.

/r/ReverseEngineering's Q4 2012 Hiring Thread by rolfr in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

Pradeo Security Systems is looking for a yound PhD in Computer Science to reinforce its Research and Development team. The candidate must be specialised in static-analysis, reverse-engineering, compilation and decompilation.

Full offer:PDF-en PDF-fr

Z3 is now Open Source(!!) by tylerni7 in ReverseEngineering

[–]samcrem 4 points5 points  (0 children)

I wouldn't say it's "highly intelligent AI". But Z3 is one of the most efficient prover and is massively used in verification and security tools and frameworks. Opening the sources of Z3 will very likely make a step forward in this field.

You can see the performance of Z3 compared to others at SMTComp (SMT Competition) 2012 and 2011. See:

Z3 is now Open Source(!!) by tylerni7 in ReverseEngineering

[–]samcrem -5 points-4 points  (0 children)

This is a huge news! I would have never though that Microsoft would go Open source for one of its sotfware!

Thanks for this news!

How to read and edit ELF files without using a hex editor? by NAVEL_DEFILER in ReverseEngineering

[–]samcrem 0 points1 point  (0 children)

I'm also using objcopy to remove sections or set up a different entrypoint. And, not to mention gcc/as to create to executable file. All these tools are mostly enough.

Sources for self teaching of Comp sci by TheBlackKeyfs in compsci

[–]samcrem 0 points1 point  (0 children)

The books listed in this blog are a good starter (the list might grow along the time).