Research in reverse engineering

I am about to graduate in Computer Science at Universidade Federal do Amazonas (UFAM), so I think I will now have more time to continue my personal research on some subjects I am interested in, but never found time to continue after I entered college.

One of these subjects is Reverse Engineering (RE). Before entering college, I played a little with RE and started a project on reverse engineering a driver for my scanner. It was quite challenging, and I liked it a lot, but never had time since then to either continue this project or start new ones.

Now it is time to change :). During college I developed interest in Artificial Intelligence (IA) and ontologies. This (somehow ;)) led me to create interest in a research area known as “program comprehension” or “program understanding”. This is a research domain that, in my opinion, includes RE when it is applied to understanding how a system works. Therefore, my focus will be on applying RE techniques for program understanding.

As a first step, I started gathering some domain knowledge, but I would like to make something more pragmatic in parallel, so my studies could have a focus. I decided for now to work with the Boomerang decompiler and make some RE experiments with it. I chose it because It is, to my knowledge, the most advanced Open Source decompiler I am aware of, and decompilers can help understanding programs for which you don’t have sources. Of course, there are some other tools I would like to experiment with, such as Sparse.

I will probably make some kind of schedule so I don’t lose track during my research. More to follow!


About lizardo

My hobby: figure out how systems are expected to work; induce them to work unexpectedly; and responsibly disclose.
This entry was posted in Reverse Engineering. Bookmark the permalink.

2 Responses to Research in reverse engineering

  1. Marcio says:

    Fala Anderson!

    Estou fazendo mestrado na PUC-Rio e também estou trabalhando na área de program-comprehension. Pretendo desenvolver uma ferramenta para auxiliar o entendimento de sistemas legados.

    Pode ser que possamos contribuir com nossas pesquisas!


  2. lizardo says:

    Seria ótimo! Meu interesse no momento é entendimento de programa a partir de código de máquina (Assembly). Este tópico em específico apresenta seus próprios desafios, visto que muito menos informação está disponível no código compilado; além disso, possui algumas aplicações interessantes, principalmente na área de segurança (por exemplo, detecção de código malicioso) e para interoperabilidade com software proprietário.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s