📚 OpenRCE is preserved as a read-only archive. Launched at RECon Montreal in 2005. Registration and posting are disabled.








Flag: Tornado! Hurricane!

Blogs >> daeken's Blog

Created: Tuesday, September 13 2005 04:57.36 CDT Modified: Tuesday, September 13 2005 04:57.36 CDT
Printer Friendly ...
OpenREF
Author: daeken # Views: 552

I want to take some time to talk about a project which is currently taking up all my time aside from work - OpenREF.  OpenREF is the Open Reverse-Engineering Framework.

The goal of OpenREF is simple: Build a framework which can be used to develop all sorts of tools for analyzing binaries.
Another less general statement is that OpenREF will allow you to build applications like IDA Pro as well as standalone tools and everything in between.

OpenREF is being designed to be fully threadsafe and open-ended.  Far too often you run into issues where the design can only scale to a certain point before you run out of ways to extend that, and the object model of OpenREF should solve these issues.

What follows is a simple explanation of how you would use OpenREF.

First you create an ORDatabase object.  After this, you pass the database to your file loader, which populates the database with file segments.  Next you run your processor module on the segments you wish you analyze.  After this you might run a flow analysis module on the instruction objects generated by the processor module.  Finally, you might run a decompiler on the total output.

The structure of the system is that all object types extend ORObject.  I'm defining base objects like ORDatabase, ORSegment, ORInstruction, ORFunction, ORJump, ORConditional, etc that should be used, but the power is that you can define your own objects and use them how you like.

OpenREF will most certainly be released LGPL, and I'm hoping to have it at a point where loaders and such can start to be written within the next month or two.

If you'd like to ask any questions or have any feedback, shoot me a message, post on the forum, or get in touch with me in the IRC channel.

Thanks,
Cody Brocious




Add New Comment
Comment:









There are 31,328 total registered users.


Recently Created Topics
[help] Unpacking VMP...
Mar/12
Reverse Engineering ...
Jul/06
let 'IDAPython' impo...
Sep/24
set 'IDAPython' as t...
Sep/24
GuessType return une...
Sep/20
About retrieving the...
Sep/07
How to find specific...
Aug/15
How to get data depe...
Jul/07
Identify RVA data in...
May/06
Question about memor...
Dec/12


Recent Forum Posts
Finding the procedur...
rolEYder
Question about debbu...
rolEYder
Identify RVA data in...
sohlow
let 'IDAPython' impo...
sohlow
How to find specific...
hackgreti
Problem with ollydbg
sh3dow
How can I write olly...
sh3dow
New LoadMAP plugin v...
mefisto...
Intel pin in loaded ...
djnemo
OOP_RE tool available?
Bl4ckm4n


Recent Blog Entries
halsten
Mar/14
Breaking IonCUBE VM

oleavr
Oct/24
Anatomy of a code tracer

hasherezade
Sep/24
IAT Patcher - new tool for ...

oleavr
Aug/27
CryptoShark: code tracer ba...

oleavr
Jun/25
Build a debugger in 5 minutes

More ...


Recent Blog Comments
nieo on:
Mar/22
IAT Patcher - new tool for ...

djnemo on:
Nov/17
Kernel debugger vs user mod...

acel on:
Nov/14
Kernel debugger vs user mod...

pedram on:
Dec/21
frida.github.io: scriptable...

capadleman on:
Jun/19
Using NtCreateThreadEx for ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit