New Project – ReviveR

Hey all,

long time haven’t posted. I’m kinda busy with lots of stuff.
Anyway I just wanted to let you know that I’m starting to work on the sequel of diStorm, you guessed it right… A reversing studio!
Unlike what many people said, the core is going to be written in C++, the GUI is going to be written per OS. No thanks, QT. Top goals are performance, scripting, good UI and most important good analysis capabilities. Obviously it’s going to be open source, cross platform. For a start, it will support only x86 and AMD64 and PE file format, maybe ELF too, though not my priority. I’m not sure about a debugger yet, but it will probably be implemented later. GUI is going to be written using WPF under C#, just to give you an idea.

My main interests are performance and binary code analysis algorithms.

If there are highly skilled programmers who wish to help, please contact me.
For now it seems we are a group of 4 coders, I’m still not going to publish their names, until everything is settled.

Anyway, design is taking place nowadays. This is your time for suggesting new features and ideas.

Big good luck

Tags: , , , ,

7 Responses to “New Project – ReviveR”

  1. Danny says:

    Have fun! Have you considered writing the core in Java (or C#, for that matter)?

  2. Inger says:

    Good luck!

    Finally, someone is smart enough to use a good GUI framework (as you said, with all the respect I have for QT or SWT, it’s just not good or flexible enough).

    I’m with Danny – I think that it’ll be much easier to code using Java / .NET (probably Java if you want to be cross-platform), and just export the performance-critical code segments to C++. As Donald Knuth said (and as I’m quite sure, one of your team members holds a signed book he authored): “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil”.

  3. arkon says:

    We still consider things. The problem with Java is that C# is much better, but less cross-platform. With Java surely things will be way faster development-wise.

    And yeah, obviously Knuth is right. Thanks for the help :)

  4. Daniel says:

    I’d suggest avoiding picking a debugger early on, but think of simply using the best debugger per system (if you care about porting). Don’t end up reinventing the wheel. In Windows atleast, debuggers such as windbg have quite powerful APIs for hooking into them.

  5. arkon says:

    Not reinventing what I don’t need to. WinDbg or the core behind is amazing. Though it’s a bit slow if you ask me 😉
    But anyway the main focus is on the platform for reversing.
    Either way, if I want in the future to add debugging capabilities, I will have to take it into consideration in the Design.

  6. Hi. Just a suggestion: Have you considered using “managed” C++ (since you have decided to embrace .NET technologies)? I have been using a combination of managed and native C++ in my 64-bit rewrite of the PEBrowse programs with few problems. I have mostly bypassed the P/Invoke layer with this strategy and many datatype conversion issues. The GUI is based on WinForms (since that framework resembles the Delphi model I had used in the past).

    Good luck in your efforts in any case!

  7. arkon says:

    Hey Rus,
    eventually we decided to use Java.
    Thanks for your valuable tip anyway.

Leave a Reply