Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

getting ready to delve into the technical world of vulnerability assessment, and I have two questions about where to find certain information.

First, I plan on reading "Understanding the Linux Kernel" by Bovet. This book covers Linux memory management, but just to be sure: does it cover EVERYTHING that I will need to know about how memory is laid out when programs are being run?

Riddle number two: What would be the best source of information for learning the specifics of how gcc translates C code to ASM (besides the gcc manual)?

Thanks!

share|improve this question
add comment

1 Answer

up vote 2 down vote accepted

First, I plan on reading "Understanding the Linux Kernel" by Bovet. This book covers Linux memory management, but just to be sure: does it cover EVERYTHING that I will need to know about how memory is laid out when programs are being run?

EVERYTHING? Unlikely.. however I've heard of the book, and suspect it is a good one and definitely get you started. As always in the computing world though... practice makes perfect and there will inevitably be a situation you haven't read about that only your practice/experience in dealing with complex scenarios can assist with.

Riddle number two: What would be the best source of information for learning the specifics of how gcc translates C code to ASM (besides the gcc manual)?

the GCC manual would be the best source for that information.. though, I must question why you want to know this anyways?

I assume it's because of the ubiquity of gcc in applications/software that people deploy and a desire to improve your reverse-engineering skills.. if this is the case, I'd just say that brushing up on Assembly language is godsend when it comes reverse engineering. Play around with the program STRINGS (and other such tools.. a google search will yield plenty) to get an understand for how things look, and then maybe compile your own (simple) program... enumerate it's assembly and work that way. By doing that you know WHAT the program does, and you can figure out how it is doing it. (Which is knowledge you can then apply in the reverse to 'real' situations.)

share|improve this answer
    
Thanks, good to see I'm on the right track! –  zero cola Jun 23 '11 at 17:27
    
@zero Is there anything else you wanted to know? –  DKGasser Jun 23 '11 at 20:34
    
Hmmm, can't think of anything right now, I'm sure I will at an inconvenient time though. How about... what would you recommend as a great book for reverse engineering? –  zero cola Jun 23 '11 at 23:33
1  
There are some excellent online guides (and youtube video) on using WindASM and SoftICE...maybe I'm showing my age...been a long time since I reverse engineered anything –  Rory Alsop Jun 24 '11 at 8:36
    
I've never actually read a book on the subject.. but as Rory says, there are plenty of online guides/tutorials (some even at the length of a book!) available. If there's nothing else you wanted wanted to know, could you accept my answer? :P –  DKGasser Jun 24 '11 at 11:34
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.