Image
 
linkedin_logo.png rss_logo.jpg
twitter_logo.png youtube_logo.jpg
Latest Additions
 
EH-Net Login
Welcome Guest.






Lost Password?
No account yet? Register
Who's Online
We have 39 guests and 2 members online
 
Advertisement

You are here: Home arrow Ethical Hacking Discussions and Related Certificationsarrow Programmingarrow Reverse engineering assembly code
EH-Net
May 22, 2013, 02:04:54 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Go back to The Ethical Hacker Network Online Magazine Home Page
 
   Home   Help Calendar Login Register  
Poll
Question: I need to reverse engineer some assembly code
assembly code - 0 (0%)
reverse engineer - 0 (0%)
Total Voters: 0

Pages: [1]   Go Down
  Print  
Author Topic: Reverse engineering assembly code  (Read 11413 times)
0 Members and 1 Guest are viewing this topic.
coaltar
Newbie
*
Offline Offline

Posts: 3


View Profile
« on: January 15, 2010, 02:28:27 PM »

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!
Logged
phn1x
Newbie
*
Offline Offline

Posts: 26


View Profile
« Reply #1 on: January 15, 2010, 09:48:07 PM »

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. 
Logged
coaltar
Newbie
*
Offline Offline

Posts: 3


View Profile
« Reply #2 on: January 16, 2010, 12:06:32 AM »

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 Smiley 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
Logged
phn1x
Newbie
*
Offline Offline

Posts: 26


View Profile
« Reply #3 on: January 16, 2010, 10:35:26 AM »

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.
Logged
UNIX
Hero Member
*****
Offline Offline

Posts: 1235


View Profile
« Reply #4 on: January 21, 2010, 03:07:07 AM »

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.
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Joomla Bridge by JoomlaHacks.com
Valid XHTML 1.0! Valid CSS!
Page created in 0.053 seconds with 25 queries.
 
Exclusive Deal

sansfire13_245x90_cw90.jpg
SANSFIRE 2013
June 15 - 22

5% Off w/ Code: EHN_5

SANS Deals 4 EH-Netters
5% OFF Any SANS Course in Any Format!
Coupon Code: EHN_5 Including SANS Rocky Mountain 2013 & SANS Boston 2013
Polls
Compared to this year, 2013 will be:
 
Recent Forum Topics
EH-Net News Feeds
Latest Additions
 
         
Advertisement

© 2013 The Ethical Hacker Network
Joomla! is Free Software released under the GNU/GPL License.