.

Reverse engineering assembly code

I need to reverse engineer some assembly code

assembly code
0
No votes
reverse engineer
0
No votes
 
Total votes : 0
<<

coaltar

Newbie
Newbie

Posts: 3

Joined: Fri Jan 15, 2010 2:48 pm

Post Fri Jan 15, 2010 3:28 pm

Reverse engineering assembly code

I need to write test protocols to describe what the code is doing on a temp sensor board and a timer both of which are controlled by their own micro controller. For anyone who is FDA quality systems savvy it is for a class II medical device. I am pretty new at programming so please bear with me. Ultimately I would like to see the code in human readable form. What is the quickest way (I am not adverse to hiring someone if it is very complex) to be able to write some requirements and tests for the code? I am sorry I don't have all the specifics on the controller but any help would be appreciated.
Thanks so much!
<<

phn1x

Newbie
Newbie

Posts: 26

Joined: Thu Feb 21, 2008 12:16 pm

Post Fri Jan 15, 2010 10:48 pm

Re: Reverse engineering assembly code

This is going to be really complex, as it's not something you just jump into randomly some day with the expectation of pulling back perfectly readable code. Understanding programming concepts is really important, and understanding low level data structures is even more, but you are wanting to go pretty low level.

The basic answer is you will not get 100% correct human readable code as aspects of the code are lost during compilation. If you really need something analyzed it is best to hire someone who has done reverse engineering on embedded systems before. Windows RE Analysts may work, but only a select few as pulling apart embedded systems and microkernels is much different from pulling apart windows binaries. 
<<

coaltar

Newbie
Newbie

Posts: 3

Joined: Fri Jan 15, 2010 2:48 pm

Post Sat Jan 16, 2010 1:06 am

Re: Reverse engineering assembly code

Phn1x,
Thanks so much for your comments. I didn't think it would be easy (hence my cavet). I am familar with C, Java, and HTML. I might have to become the next expert :) Could you point me to any reources, and perhaps in chronological order if its not too much effort?
What software do you recommend I get started with?
I know that some information is lost when code is compiled but do you think that would stop me from understanding programming intent (admittedly a pretty vague question)?
Thanks again,
Coal
<<

phn1x

Newbie
Newbie

Posts: 26

Joined: Thu Feb 21, 2008 12:16 pm

Post Sat Jan 16, 2010 11:35 am

Re: Reverse engineering assembly code

It doesnt stop you from understanding it, but there can be tar pits in some areas.

I RE embedded systems everyday and I pretty much use a handful of things:

Primaries: IDA PRO and GDB

aside from that I use a hand few of custom tools and a lot of python.

There really isnt any book I can give you, and there really isnt an order. First I would read the book "Real time concepts for embedded systems" Then I'd read the book for the microprocessor the device runs on.

Aside from that it just takes a lot of doing and a good support team. There is not much info out there on REing embedded systems so having people to goto for questions is essential.

Keep in mind though, RE work is resource intensive. A single person with 5 years of experience, who works on a small device can take between 3-12 months to RE the device depending on the objectives.
<<

UNIX

User avatar

Hero Member
Hero Member

Posts: 1244

Joined: Mon Apr 28, 2008 9:20 am

Post Thu Jan 21, 2010 4:07 am

Re: Reverse engineering assembly code

Human readable form might be not possible if you mean anything more than ASM code. Usually µCs and embedded devices are programmed in ASM anyway, so when reversing it you might get quite the same which was written by the programmers and not too much compiler-generated code.

If you haven't done anything before in this area, I would recommend hiring a person who have, as well.

Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest

.
Powered by phpBB® Forum Software © phpBB Group.
Designed by ST Software