Sunday, April 19, 2009

EDA is Back

When I made the last post, I started thinking about EDA again. EDA was going to be amazing. But it suffered from cruft buildup and a lack of a good design plan. And such bad source I didn't even want to release it.
Two fridays ago, posixninja and I started talking about the design. A picture started coming together in my head. EDA 2.0; completely new code base, C++ instead of C, and a beautiful foundation.

For a quick idea of what EDA is, imagine a simulator that logs *every* state change and allows you to view the system state from any clock cycle. It's a debugger with an extra dimension. And with a really simple, IDA-like, web based frontend.
Say you are reversing a function and have no idea what it does. Run the code that calls it. Now see the data passed to and returned from the function. If you still don't know what the function does, change the input and rerun. Forget xrefs, think about viewing every time a piece of memory was accessed.

I want people to get excited about this and contribute, since I leave for my job at Google in Cambridge today and won't be able to contribute for a bit. Let's harness the power of open source to make the reversing world a better place.

See a demo video, the iPhone wiki entry, and the source.

No comments:

Post a Comment