Slashdot Mirror


Learning Reverse Engineering

TheBoostedBrain writes "Mike Perry and Nasko Oskov have written a very complete article about reverse engineering. It provides an introduction to reverse engineering software under both Linux and Windows."

211 comments

  1. Mirror by seanadams.com · · Score: 2, Informative


    Mirror here, just in case.

    What would we do without wget --recursive?
    1. Re:Mirror by SweetAndSourJesus · · Score: 5, Funny

      What would we do without wget --recursive?

      We would use wget -r.

      GNU-style flags are annoying to us lazy folk :P

      --

      --
      the strongest word is still the word "free"
    2. Re:Mirror by Anonymous Coward · · Score: 0

      Thoughtful, but I think the University of Illinois is up to the task.

    3. Re:Mirror by Anonymous Coward · · Score: 2, Informative

      Here's another one. Please use it - I want to see the Slashdot effect in action.

    4. Re:Mirror by now3djp · · Score: 1

      Well, it has already changed

      http://www.slimdevices.com/temp/reveng/www.acm.u iu c.edu/sigmil/RevEng/

      For origional, seems just the structure has been modified.

      JG

    5. Re:Mirror by Anonymous Coward · · Score: 0

      FYI: Your mirror is already out-of-date. Note the original page notes it's constantly being updated, and it has.

    6. Re:Mirror by Anonymous Coward · · Score: 0

      butta bib

      a bib made vbutter it's delicioyus

      evergreen! don 't grope awolfd raider.

    7. Re:Mirror by corran__horn · · Score: 1

      I don't think it will be necessary (unless 100MB isn't enough :P )

      As a sidenote: congrats to Perry and Nasko!

      --

      If people can connect to one another even the smallest of voices will grow loud.
      --Serial Experiments Lain
    8. Re:Mirror by corran__horn · · Score: 3, Informative

      actually the admin has been nice enough to copy a page detailing the amount of traffic that the box has put out here, so enjoy the show folks.

      --

      If people can connect to one another even the smallest of voices will grow loud.
      --Serial Experiments Lain
    9. Re:Mirror by Anonymous Coward · · Score: 0

      Everything, and then some.

      httrack -D -c3 -O RevEng http://www.acm.uiuc.edu/sigmil/RevEng/

      http://www.httrack.com/

  2. Betting pool anyone? by Surak · · Score: 3, Insightful

    How long before this site is taken down for DMCA violations?

    1. Re:Betting pool anyone? by Raven42rac · · Score: 1

      How will they be able to gather evidence after it gets /.ed??

      --
      I hate sigs.
    2. Re:Betting pool anyone? by phalse+phace · · Score: 5, Funny
      ... taken down for DMCA violations?

      No need to. We'll take care of it just fine.

    3. Re:Betting pool anyone? by netdemonboberb · · Score: 1

      That's why I'm using my beautiful wget before this is lost forever.

      --

      Volunteer Mozilla developer, RPI Student.
    4. Re:Betting pool anyone? by Anonymous Coward · · Score: 0

      How long before this site is taken down for DMCA violations?

      When authors of "risky" sites like this have dissemination of information as their true goal, they should make the entire site downloadable as .zip file to be certian even if the Black Helicopters fire a missile at the server, the information never dies.

    5. Re:Betting pool anyone? by Anonymous Coward · · Score: 0

      Well little buddy, since you paid for this slashcrap you feel it's your god given right to post some witty comment regarding a bunch of stuff (DMCA, SCO, Caldera, Goatse and so on?)

    6. Re:Betting pool anyone? by __past__ · · Score: 2, Funny

      DMCA? They have weapons of mass decompilation, dammit!

    7. Re:Betting pool anyone? by Surak · · Score: 1

      DMCA? They have weapons of mass decompilation, dammit!

      So you're expecting a few bunker busters courtesy of G. W. Bush in their server room anytime now? ;)

    8. Re:Betting pool anyone? by deadsaijinx* · · Score: 1

      yeah, cept your wget eats up bandwidth on stuff you might never need, only further harming their server

      --
      YOU SUCK BALLS!
    9. Re:Betting pool anyone? by Anonymous Coward · · Score: 0

      Answer : Never.

      No-one cares about this little site in the middle of no-where that gets 2 seconds of fame and glory. it means nothing, it is no threat and they really don't care about Joe Blogg's site about reverse engineering ...

      Besides, you'd actually have to know what reverse engineering is to be able to percieve it as a threat ...

  3. This is another one... by inode_buddha · · Score: 1

    that's about to gain a permanent spot in my book collection. 'Nuff said.

    --
    C|N>K
    1. Re:This is another one... by Anonymous Coward · · Score: 0

      homophobe!!

      now the touchy-feely new age happy police will come to douse you in flowers and love until you become more "tolerant"!!!

  4. whatabout truss/strace/ktrace? by multipartmixed · · Score: 5, Informative

    I can't believe they left out truss/strace/ktrace. Even without debugging symbols, these utilities can tell you what system calls are being called, when they are called, and what arguments are being passed.

    truss under Solaris is even more useful than strace under Linux or ktrace under the BSDs; you can also trace function entry points into user-level ELF solibs.

    --

    Do daemons dream of electric sleep()?
    1. Re:whatabout truss/strace/ktrace? by Burnon · · Score: 2, Informative

      It's there:

      http://www.acm.uiuc.edu/sigmil/RevEng/x288.htm#b eh avior_system_calls

    2. Re:whatabout truss/strace/ktrace? by Anonymous Coward · · Score: 0

      truss under Solaris is even more useful than strace under Linux or ktrace under the BSDs; you can also trace function entry points into user-level ELF solibs.

      and for windows?

    3. Re:whatabout truss/strace/ktrace? by QuMa · · Score: 1

      Not sure about BSD, but linux has ltrace which monitors all dynamic library calls. A real lifesaver in many situations.

    4. Re:whatabout truss/strace/ktrace? by MrDelSarto · · Score: 5, Informative

      ltrace will allow you to peek into what libraries are being called on Linux.

    5. Re:whatabout truss/strace/ktrace? by yaphadam097 · · Score: 1
      and for windows?

      Cygwin has strace

    6. Re:whatabout truss/strace/ktrace? by miu · · Score: 2, Informative
      truss under Solaris is even more useful than strace under Linux or ktrace under the BSDs; you can also trace function entry points into user-level ELF solibs.

      Unfortunately, not under 2.6. It does work on 2.8+ and can occasionaly be a lifesaver. 'ltrace' under Linux does pretty much the same thing.

      --

      [Set Cain on fire and steal his lute.]
    7. Re:whatabout truss/strace/ktrace? by Zarquon · · Score: 1

      Filemon and Regmon are also very handy.

      --
      "'Tis great confidence in a friend to tell him your faults, greater to tell him his." --Poor Richard's Almanac
  5. really dumb question... by Anonymous Coward · · Score: 2, Interesting

    do the authors of the book linked have the text available as a single PS or PDF file?

    1. Re:really dumb question... by Anonymous Coward · · Score: 1, Insightful

      wget -r -l2 http://www.acm.uiuc.edu/sigmil/RevEng

      and join the html files to make your own

    2. Re:really dumb question... by Benley · · Score: 2, Informative
    3. Re:really dumb question... by vmfedor · · Score: 1

      Isn't it funny that the document describing reverse engineering is easily abbreviated to 'reveng?' (pronounce it ;)

      --

      I like my women how I like my sugar.. granulated.

  6. Good info by melete · · Score: 2, Insightful

    I'm not sure that their claim that anyone who's read a "How to Learn [C|C++|Java|*] in nn Days" should be able to follow the article is correct, but it's a good intro nonetheless. The section on binary formats (ELF, etc.) is particularly useful.

  7. incomplete by Anonymous Coward · · Score: 0

    the "very complete article" for reverse engineering software is pretty incomplete... chapters 10 and onward are not finished, the good stuff like buffer and stack over flows are not written, but just has the table of contents headings.

    1. Re:incomplete by Karamchand · · Score: 1

      At least the table of contents is completely finished already!

  8. Oh come on, it's easy by BabyDave · · Score: 5, Funny

    mimosa: ~ $ echo 'engineering' | rev
    gnireenigne

    What more do you need to know?

    1. Re:Oh come on, it's easy by kurosawdust · · Score: 5, Funny
      What more do you need to know?

      How to make it stop, that's what!

      bash-2.05a$ rev
      moo
      oom
      exit
      tixe
      quit
      tiuq
      Ctrl-D
      D-lrtC

      OK now it's just being a smartass.

    2. Re:Oh come on, it's easy by blogan · · Score: 1

      Only use palindromes, then you won't care if it stops.

    3. Re:Oh come on, it's easy by Jester99 · · Score: 1
      Wouldn't that be:


      ^D
      D^


      ? :)
    4. Re:Oh come on, it's easy by Anonymous Coward · · Score: 0

      hehehe - that struck me funny

      he said, "palindrome"

      heehee

  9. DMCA i.r.t. Reverse Engineering by heli0 · · Score: 5, Informative

    `(f) REVERSE ENGINEERING- (1) Notwithstanding the provisions of subsection (a)(1)(A), a person who has lawfully obtained the right to use a copy of a computer program may circumvent a technological measure that effectively controls access to a particular portion of that program for the sole purpose of identifying and analyzing those elements of the program that are necessary to achieve interoperability of an independently created computer program with other programs, and that have not previously been readily available to the person engaging in the circumvention, to the extent any such acts of identification and analysis do not constitute infringement under this title.

    `(2) Notwithstanding the provisions of subsections (a)(2) and (b), a person may develop and employ technological means to circumvent a technological measure, or to circumvent protection afforded by a technological measure, in order to enable the identification and analysis under paragraph (1), or for the purpose of enabling interoperability of an independently created computer program with other programs, if such means are necessary to achieve such interoperability, to the extent that doing so does not constitute infringement under this title.

    `(3) The information acquired through the acts permitted under paragraph (1), and the means permitted under paragraph (2), may be made available to others if the person referred to in paragraph (1) or (2), as the case may be, provides such information or means solely for the purpose of enabling interoperability of an independently created computer program with other programs, and to the extent that doing so does not constitute infringement under this title or violate applicable law other than this section.

    `(4) For purposes of this subsection, the term `interoperability' means the ability of computer programs to exchange information, and of such programs mutually to use the information which has been exchanged.


    DMCA

    --
    Whenever the offence inspires less horror than the punishment, the rigour of penal law is obliged to give way...
    1. Re:DMCA i.r.t. Reverse Engineering by Surak · · Score: 2, Insightful

      The letter of the law means nothing when Microsoft/SCO/**AA/All that is evil in the world/etc. sicks a team of lawyers on the poor unsuspected guy who posted it. It's not what the law is, it's how much money you can spend on lawyers. Haven't you figured that out yet?

    2. Re:DMCA i.r.t. Reverse Engineering by yaphadam097 · · Score: 1

      Interesting that this doesn't include a provision for circumventing protection for the purpose of black box testing. It seems to me that one of the most practical uses of reverse engineering in industry is to verify that the software does what you need it to do reliably and predictably. Such a legitimate use of reverse engineering is good for the supplier, the customer, and the end user, because it ensures the efficacy of the product for a particular use. For the end user, this ensures that the product performs as advertised. In some cases safety might even be at stake. For the corporate user risk is significantly reduced when you buy a product knowing that it will do what you need it to. For the original author, the loss of revenue due to piracy is probably less of a risk that the litigation that arrises from selling a product that doesn't do what it says it does.

    3. Re:DMCA i.r.t. Reverse Engineering by cyril3 · · Score: 2, Interesting
      First I thought black box testing was testing specifically without knowledge of the internals of the system ie. you provide input after independently calculating the answer and then see if the output is the same as your expected answer. If you do it enough times and the answers are the same as your calcs then you can rely on the black box.

      Second, you may have missed the bit in the standard warranty and EULA that says the vendor accepts no responsibility if the software doesn't do what they say it will do let alone what you expect. Whether they stand up in court or not the vendor probably sees more l;oss in pirates than in claims for faulty software.

    4. Re:DMCA i.r.t. Reverse Engineering by yaphadam097 · · Score: 2, Insightful
      First I thought black box testing was testing specifically without knowledge of the internals of the system ie. you provide input after independently calculating the answer and then see if the output is the same as your expected answer. If you do it enough times and the answers are the same as your calcs then you can rely on the black box.

      You are correct for the most part. What I was talking about was the circumvention of copy protection for the purpose of performing testing. I suppose it would have been more correct to refer to grey box testing because you are more likely to have to do this then. However, there are times where some circumvention of copy protection which would violate the DMCA is necessary even for black box testing. (In order to do white box testing you have to actually have the source code, which means you would have to completely reverse engineer the whole app. At that point it is usually easier to write your own.)

      Second, you may have missed the bit in the standard warranty and EULA that says the vendor accepts no responsibility if the software doesn't do what they say it will do let alone what you expect. Whether they stand up in court or not the vendor probably sees more l;oss in pirates than in claims for faulty software.

      No, I didn't miss that. One of the reasons that EULAs don't always hold up in court is that this type of clause (e.g. "It doesn't actually have to do what you paid for it to do.") doesn't fool judges very often. The more likely reason that software companies aren't afraid of litigation is that they are so rich from peddling their vaporware that they can afford to hold such litigation up with motion after motion while simultaneously lobbying for crap like the DMCA, but that is just my opinion.

    5. Re:DMCA i.r.t. Reverse Engineering by PickyH3D · · Score: 1, Insightful

      This is freedom of speech; they cannot go after this because this is simply documentation of a theory. This is a simple, general guide that does not target specific programs.

  10. RTFA?? by Anonymous Coward · · Score: 0

    http://www.acm.uiuc.edu/sigmil/RevEng/x288.htm#beh avior_system_calls

  11. README: From the Authors by mikepery · · Score: 5, Informative

    Well this was most unexpected. We still have a lot of work to do on this book, and are still in the process of looking for a publisher. In fact, both Nasko and I were working on the book as this was posted (quite a shock!). We're still putting together screenshots, describing debugging utilities, etc..

    In fact, the book looks more complete than it actualy is. Most of the chapters are basically just an outline that we've been filling in as we go along.

    Keep checking the book periodically for more updates, as again, this is a work in progress. If you notice any ommissions, or have any contributions, we would be glad to take them.

    Thanks,

    Nasko Oskov & Mike Perry

    1. Re:README: From the Authors by NightWulf · · Score: 1

      Wow took a second glance at your username, looked like 'mikeperv' for a minute. Was thinking, what kind of books do you guys right with a username like that!

    2. Re:README: From the Authors by loadquo · · Score: 1

      Post an article ot slashdot when you feel finished. And a tar.gz of the HTML files would be nice.

    3. Re:README: From the Authors by Dunkalis · · Score: 3, Insightful

      Nobody should use RAR. WinZip opens tarballs properly. Every OS on earth has the ability to open tarballs, and they are better. gzip has better compression, you never get the weird problems you get with unzip, etc. So be intelligent and think before you call something like RAR a standard. Zip works fine, but if you're aiming for 100% cross-platform, tarballs are king. PS: Tarballs are used on every Unix and Unix clone OS in existence, not just Linux.

      --
      Slashdot is a waste of time. I enjoy wasting time.
    4. Re:README: From the Authors by yerricde · · Score: 2, Informative

      Zip works fine, but if you're aiming for 100% cross-platform, tarballs are king.

      Info-ZIP UnZip is claimed to be the third most portable C program.

      Tarballs are used on every Unix and Unix clone OS in existence, not just Linux.

      Microsoft Windows ME and Microsoft Windows XP operating systems ship with Microsoft Compressed Folders, a feature that can read and write .zip files in a manner similar to that of WinZip and WinRAR but cannot make head nor tail of .tar.gz files.

      --
      Will I retire or break 10K?
    5. Re:README: From the Authors by moncyb · · Score: 1

      .rar is not any sort of standard. Since you are going out on a limb, why didn't you just add Microsoft .cab to your list?

    6. Re:README: From the Authors by Anonymous Coward · · Score: 0

      The only problem with WinZIP is that it does newline conversion for tar archives by default. This behavior is easily changed in the options, if you remember...

    7. Re:README: From the Authors by Anonymous Coward · · Score: 0

      I have had some serious issues using tar/gzip to back something up and winzip to extract it. Pro/Engineer particulary won't use files that were backed up and restored in this manner. Why it chokes, I don't know but it does.

    8. Re:README: From the Authors by runderwo · · Score: 1

      I've also had problems with certain .tar.gz archives not extracting properly under Winzip. I have no idea why; I extracted, recreated, changed files around, etc. Seems that there is some subtle bug in Winzip that only occasionally gets triggered.br.

    9. Re:README: From the Authors by irgu · · Score: 1
      Nobody should use RAR. [...] gzip has better compression

      Why don't you check the facts? gzip has a quite average compression, or less so. RAR is one of the best and it's even much more efficient than bzip.

  12. What happens when the original 404s? by kilogram · · Score: 5, Funny

    This. One of the funnier 404 messages I've seen. Take a look at the source for the page so you won't have to wait for the slow version of the text. :)

    1. Re:What happens when the original 404s? by Anonymous Coward · · Score: 0

      Yea, it is a quite nice error message but actually rather old already. I have seen it in various languages for many years now.

    2. Re:What happens when the original 404s? by deadsaijinx* · · Score: 1

      god, worse than my ex with all her bitching

      --
      YOU SUCK BALLS!
    3. Re:What happens when the original 404s? by spudchucker · · Score: 0

      New to the web?

    4. Re:What happens when the original 404s? by RestiffBard · · Score: 2, Funny

      hilarious. now we're trying to slashdot 404s?

      --
      - /* dead coders leave no comments */
    5. Re:What happens when the original 404s? by Anonymous Coward · · Score: 0

      it'll be ok martin

    6. Re:What happens when the original 404s? by mkb137 · · Score: 2, Funny

      Here's another good one: http://www.valhallalegends.com/notfound

    7. Re:What happens when the original 404s? by christopherfinke · · Score: 1

      I never thought I'd say this, but I've bookmarked a 404 page with the intent of visiting it regularly. Goodness, I'm so lonely...

    8. Re:What happens when the original 404s? by blackdropbear · · Score: 1

      Very nice - for more of the same I recommend reading Marin the Robots comments in Hitchhikers Guide to the Galaxy and sequels by Douglas Adams

    9. Re:What happens when the original 404s? by Anonymous Coward · · Score: 0

      Better one innit ..... the ISP that I work for has a special 404 document for customers that haven't paid their hosting fees, apologising for the inconvenience caused and directing all inquiries to their "Accounts receivable" department!

    10. Re:What happens when the original 404s? by SlimFastForYou · · Score: 1

      http://www.cotse.com/pftherl/grep.html

      I like this one the best =D

    11. Re:What happens when the original 404s? by Anonymous Coward · · Score: 0
  13. Wow, that is a long article...any ideas for POS? by skogs · · Score: 5, Interesting
    Kudos go out to the guy that found this and submited it. Hopefully you knew the guys involved, and didn't just accidently find this information while searching the internet for self worth.

    Very Good article, and I admit that I did not understand all of it, nor did I read all of it. However I did forward it along to a couple of friends who do not regularly /.

    Here is a reverse engineering feat for you all...POS(Point of Sale) terminal equipment. Specifically to replace NSC(National Systems Corporation) and similar diamond touch gear. If you can reverse engineer a system for taking customer's orders(think pizza/food), showing it on multiple screens around the store, and keeping track of inventory, sales numbers and statistics, customer tracking and history...wow you would be great. Nobody wants to spend $15-30,000 for a new POS system. Nobody.

    Biggest problem is that these small operators spend that much money on the system, that they are obligated and forced into using it for 10+ years, well after the hardware(monitors/keyboards) wear out. Then get stuck purchasing proprietary stuff at the same cost it was at the original purchase price...several hundred dollars for a custom keyboard...get real.

    Somebody please show me where there is a project to reverse engineer this with an X window under RedHat/Slack. Even terminal would be fine. The current system runs text only...over 1 pair of copper in a phone plug(rj11).

    --
    Who is this that even the wind and the waves obey Him? Surely this computer must submit also!
  14. Fravia by Anonymous Coward · · Score: 0

    has been doing all this for years:

    http://fravia.anticrack.de/

  15. That'll come in handy by SHEENmaster · · Score: 2, Funny

    When the Thought Police arrest you so that the MPAA can sue you for intent to possibly defraud, larsony of imaginary profits, and programming without a liquor license.

    --
    You can't judge a book by the way it wears its hair.
  16. Also has a nice 404 :) by arcanumas · · Score: 3, Interesting

    The part i had time to read before the *you know what* was really good. But there is something else. This server probably has the best 404 page i have seen. Some people spend some time to make a really nice 404 page?
    Ooo.. now i see. it's ".edu"
    :)

    --
    Slashdot Sig. version 0.1alpha. Use at your own risk.
  17. Great, but inflammatory? by Anonymous Coward · · Score: 0

    "And we don't know about you, but to us, software that we don't have source code to just pisses us off. So we figure: screw it, lets do some damage. :)"

    "maybe you want to monitor all data before a program encrypts it and sends it across the network, or maybe you just want to cheat at your favorite multiplayer networked game."

    I can't wait until some DMCA-junkie and/or [RI|MP]AA member takes that out of context. Then it will be shutdown time!

  18. Learn from the masters. by JohnwheeleR · · Score: 5, Interesting

    For an excellent source of reverse engineering material, you really should check out the old Fravia pages. This is the original stuff right here.

    Along with reversing tutorials and materials, there is a rich history behind this stuff. A man named +ORC published a tutorial on how to reverse engineer a Windows program called pooldemo.exe. From this text, an era was born. The Fravia website was created and was home to the +HCU. Many people sought after the true identity of +ORC, and he left a strainer (riddle) behind that would take you to a URL where he would be unmasked supposedly. Just look up "ORC riddle" on google for details. Neat stuff!

    1. Re:Learn from the masters. by Dun+Malg · · Score: 1
      A man named +ORC published a tutorial on how to reverse engineer a Windows program called pooldemo.exe. From this text, an era was born.

      Heh. I remember those days. I already knew most of the R-E techniques +ORC expounded upon, but I did find his recipe for the martini-vodka most refreshing.

      --
      If a job's not worth doing, it's not worth doing right.
    2. Re:Learn from the masters. by JohnwheeleR · · Score: 1

      Ahem, that's martini-wodka ;-)

    3. Re:Learn from the masters. by Wolfier · · Score: 1

      As the author of an essay on Fravia's pages I can attest how useful the site is. If you go through 5 maybe 10 of the essays you'll know a lot obout reverse engineering today's software.

      Although the more fun and obscure stuffs like copy protections back in the 5.25" floppy era isn't covered (i.e. most of the cracks on the site make use of software techniques only, not a lot of hardware tricks), it serves as a good starting point for newbies.

      Remember, the DMCA does not limit people who reverse engineer stuffs themselves!! If they limit our expression so we cannot discuss things, by knowing the techniques of reverse engineering we'll discover them individually. Discover the hacker within you!!

  19. No it's not -- that's just a TOC entry by multipartmixed · · Score: 4, Interesting

    But now I know why, due to the authors' comments. Thanks for the pointer to the TOC entry though, don't how I missed that.

    For the readership out there, I'm sure those will be covered in the future; in the meantime, read your strace/ktrace/truss man pages. Run them on the application you're trying to RE before doing *anything* else. Sometimes, those dumps can provide *amazing* insight into the behaviour and structure of the program (particularly if you're good with 'grep'), especially if you're trussing and using the program interactively.

    --

    Do daemons dream of electric sleep()?
  20. Very useful... by Realistic_Dragon · · Score: 2, Interesting

    Given some of the code I get to deal with (19(7/8)0s vintage C, much of which is older than I am) it's probably easier to reverse engineer the binary and look at it there...

    --
    Beep beep.
    1. Re:Very useful... by iamwoodyjones · · Score: 1

      Try 19(6/7)0s vintage Fortran. It's easier to just sit under the desk, cry, and then go look for another job. ;)

  21. A rude poem inspired by the headline by Anonymous Coward · · Score: 0

    Learning Reverse Engineering

    Pondering, peering /
    recollections of fearing /
    yearning for perverse queering /
    having difficulty steering

    Thank you.

  22. errr... by Anonymous Coward · · Score: 0

    that's just engineering in reverse...right...stop loooking at me like that!!

  23. Reverse Engineered by yintercept · · Score: 1, Funny

    Undoubtedly, someone will have a copyright/patent on reverse engineering methodologies.

    So, I would suspect the site will have to be taken down if it is just a copy of the copyrighted reverse enginieering process. However, if it was properly reversed engineered, then it would not be considered a copy...or, uh, something like that.

  24. Play "Black Box" for a while. by Speare · · Score: 3, Interesting

    There was a slick plastic game called Black Box back when thinking games like Mastermind were raking in the dough. There are Java and PalmOS varieties of the game. It's a nice three-minute game to while away a bus stop wait, and it helps you get in the mindset of what reverse engineering really means.

    The inside of the Black Box is an 8x8 square. There are 8 ports on each side of the square. One player sets some marbles inside the covered square, and the other player tries to deduce their locations by the behavior of "rays" entering and exiting the box ports. Some rays go all the way through, some reflect off the balls inside, and some glance off the balls and go out some other side of the box.

    --
    [ .sig file not found ]
    1. Re:Play "Black Box" for a while. by BoneMarrow · · Score: 4, Informative

      http://www.eagle-i.com/JAVA/bb.html

      --
      Unfortunately, no one can be told what my sig is...
    2. Re:Play "Black Box" for a while. by Anonymous Coward · · Score: 0

      Or you could learn Visual Basic, I frequently call it 'Black Box Engineering'.

      Invariably someones lame VBapp doesn't work right...usually I find it some Dll they bought from a 3rd party, and I have to try all manner of inputs to see what output ensues cause the docs are wrong. Precisely the 'game' you describe, however it does take longer!

      JoeR

    3. Re:Play "Black Box" for a while. by Bronster · · Score: 1

      Or just install KDE, it comes as a standard component of kdegames

      (compiling tonight's CVS now - and believe me, the nightly compiles really are - if I don't go to bed early enough, it won't be ready in the morning. Here's fingers crossed for kgpg and sound to be back again)

  25. "Very Complete"? by Anonymous Coward · · Score: 0

    I don't know a lot about reverse engineering, but it looks like a lot of the chapters are just placeholders (no content).

    For instance, a chapter on buffer overflows and stuff (which is of academic interest to me) is completely empty.

    This doesn't consititute "very complete" to me.

  26. Re:Wow, that is a long article...any ideas for POS by silas_moeckel · · Score: 1

    Let me guess and release it all open source? You have the big problem that people with programming experience dont have a buring need for POS software. Granted there are quite a few vendors out there that would love it for the support contract. But your seeing one of the flaws of open source you have to find an interested group of programmers to write one for free generaly.

    --
    No sir I dont like it.
  27. Complete? My ass! by christoofar · · Score: 2, Funny

    Only two sections are complete.

    When will I be able to get this in paperback so I can read it while I'm sittin' on the can?

  28. This book falls short by JohnwheeleR · · Score: 4, Informative

    This book is pretty weak. I skimmed through it and no where did I see win32dasm dead listings or hands on reversing. It seems like it just tries to explain different windows and unix tools people might use for reversing. Comments like this certainly should have been left out: If you don't know assembly language, at the end of this book you will literally know it inside-out I mean gimme a break. In less than a hundred pages of text, no one is going to learn x86 asm "inside-out." Chapter 9, which many people would be interested in, is incomplete. I wouldn't waste my time. Go search for "fravia pages reverse engineering" on google. That material took years to put together.

    1. Re:This book falls short by stephanruby · · Score: 2, Interesting
      "TO SLASHDOT READERS: Yes, this book is incomplete. Yes it has mistakes. Yes, we are working as hard as we can to fix them. Please email the authors directly rather than simply ranting/flaming on slashdot. We will take your comments into consideration, and will list you in the credits. We've already built up a large queue of fixes thanks to helpful emails."

      Looks like they're trying to have Slashdot readers write their book for them. It's not a bad idea, but it would be easier if they added editing/commenting capablities directly onto their site. Otherwise, it's just too much of a hassle.

      It also would be better if they promised the contributors to keep the book online and free of charge even after it gets picked up by a publisher.

    2. Re:This book falls short by Genyin · · Score: 1

      Looks like they're trying to have Slashdot readers write their book for them.

      (unless I'm mistaken here) they weren't at all inolved in the posting of a link to slashdot.

    3. Re:This book falls short by kasperd · · Score: 1

      but it would be easier if they added editing/commenting capablities directly onto their site.

      Sure, with that number of editors the result can only be good. (NOT)

      --

      Do you care about the security of your wireless mouse?
    4. Re:This book falls short by stephanruby · · Score: 1
      "Sure, with that number of editors the result can only be good. (NOT)"

      At this point, I am just pointing out a way to easily collect more information. When all that content is gathered in a semi-organized fashion, those two guys can and should restructure/rewrite the entire book from scratch.

    5. Re:This book falls short by stephanruby · · Score: 1
      (unless I'm mistaken here) they weren't at all inolved in the posting of a link to slashdot.

      Obviously, they're not going to target solely Slashdot readers. And perhaps, they didn't want the link to go out to soon. But either way, they chose to publish an incomplete draft of their book out in the open and they seem open to the idea that other people send them contributions.

    6. Re:This book falls short by LowTolerance · · Score: 1

      I learned assembly without even reading a book, from messing around with softice, some deadlistings(IDA's better), and some source files I came across. I honestly don't see why everyone is so intimidated by it.

  29. MOD PARENT sonofabitch by Anonymous Coward · · Score: 0

    he deos fargottry thngs

  30. Immature by mslinux · · Score: 5, Insightful

    Quote from the introduction of the book:

    "We don't know about you, but to us, software that we don't have source code to just pisses us off. So we figure: screw it, lets do some damage. :)"

    Cheap comments like this really degrade this book.

    1. Re:Immature by Anonymous Coward · · Score: 0

      If you say so... /me rolls his eyes

    2. Re:Immature by peachpuff · · Score: 2, Insightful

      I believe those are known as "jokes."

      --
      -- . . ramblin' . . .
    3. Re:Immature by Anonymous Coward · · Score: 0

      K, it's not professional, but how is the book degraded? Because of the comment, what they've written can't be believed even though what they go over can be emperically proven? Is it supposed to cause certain groups of people to turn their noses up at this? What group would that be? I can't think of any group or person with that reaction who would be of the inclination to reverse engineer things. Those who desire the more corporate outlook on things are the guys that are against such things as reverse engineering so boo-hoo that they would disapprove.

  31. Re:Wow, that is a long article...any ideas for POS by ratfynk · · Score: 1

    "Here is a reverse engineering feat for you all...POS(Point of Sale) terminal ........" You would be inviting an attack by the legal representation of mad squirrels! Squirrels are very teritorial little creatures. http://www.squirrelsystems.com/press/pr/Mar0502.ht ml

    --
    OH THE SHAME I fell off the wagon and use sigs again!
  32. vmware by Anonymous Coward · · Score: 0

    they mention how vmware uses corrupted elf headers to hide their precious secrets. maybe they should have put as much thought into debugging and the user interface 'cause virtual pc is wayyyy better (probably why ms bought virtual pc)

  33. wow by Anonymous Coward · · Score: 0

    what a useless 'tutorial'

    what ever happened to the old days where people
    had to learn this stuff on their own?

  34. Everithing You Need by Anonymous Coward · · Score: 0

    To make reverse-engineering as hard as possible :)

    IP : encrypt everything at the application level
    FS : Use one big raw file to store as much as you can, preferably at the bit resolution
    DBG: Never forget to remove debug info ...

    Nice :)

    1. Re:Everithing You Need by JohnwheeleR · · Score: 0, Flamebait

      Shut up

  35. Thanks for the pointer! by multipartmixed · · Score: 1

    I didn't know about ltrace -- my RH 5.2 box doesn't have it. Hmm. I may have to upgrade, but I've been reticent to touch that (non-net-facing) box because as I understand it, most distros have dropped the UDB (Multia) support from their kernels/bootloaders.

    I suppose I could go the upgrade route, but that'd mean a new kernel, which needs a new gcc, which needs a new glibc *argh*

    Maybe I'll just dig up ltrace.c and see if it'll go. ;)

    --

    Do daemons dream of electric sleep()?
  36. Re:Will This Let Me... by deadsaijinx* · · Score: 0, Offtopic

    uhhhh, since there are already software cracks for that....

    --
    YOU SUCK BALLS!
  37. Fuck yes by Anonymous Coward · · Score: 0
    • -h: 2 chars
    • --help: 6 chars
    That's three times as many keystrokes. What's worse is when a program doesn't use -h for anything. Yet another reason to hate the GNU.
  38. Once you find a publisher by multipartmixed · · Score: 1

    Let me know, and I'll find you some purchasers.

    Good work so far, my other comment notwithstanding.

    --

    Do daemons dream of electric sleep()?
  39. siht si ts agnir??? I don't think so! by Anonymous Coward · · Score: 0

    According to this book, strings are stored differently on big-endian versus little-endian architectures, so "this is a string" on a Solaris machine becomes "siht si ts agnir" on a Linux/x86 machine.

    This is complete nonsense. Endianness only affects multi-byte data types: shorts, longs, floats, etc. The order of chars in a string does not change.

  40. reverse engineer data formats!!! by gTsiros · · Score: 1

    I need help reverse engineering "si3" files.

    It's the format used on siemens cellphones to play midi (subtypes 0,1)! Siemens says it is closed...

    When you transfer a .mid to the cellphone, first time you play it, it gets converted to .si3

    --
    Looking for people to chat about multicopters, coding, music. skype: gtsiros
    1. Re:reverse engineer data formats!!! by Anonymous Coward · · Score: 0

      dump the firmware, disassemble it

    2. Re:reverse engineer data formats!!! by The+Creator · · Score: 1

      Start by generating pairs of midi files that are similar exept for one different parameter, convert them to si3, and then study the differenses between the si3 files. Repeat until you know how every parameter is represented in an si3 file. Viola!

      --

      FRA: STFU GTFO
  41. not too good. by Anonymous Coward · · Score: 0

    This is far from a "a very complete article about reverse engineering."

  42. Re:siht si ts agnir??? I don't think so! by Anonymous Coward · · Score: 0

    "siht si ts agnir?"

    this is st ringa?

    What bizarre language are you speaking, man?

  43. Ollydbg by httptech · · Score: 4, Informative
    Hadn't seen this mentioned in the book or in any comments so far: If you are wanting to get started reverse-engineering on Windows, you don't need to shell out big bucks (or pirate) softice unless you plan to do hard-core driver/kernel debugging. Seriously, check out Ollydbg It's freeware AND it kicks ass. I'm using it to do almost all my reverse engineering now.

    Here are a couple of beginner-level articles I've written on reverse-engineering malicious code:

    Reverse Engineering Hostile Code

    Alien Autopsy: Reverse Engineering Win32 Trojans on Linux

    1. Re:Ollydbg by Anonymous Coward · · Score: 1

      Windbg by microsoft is just as free. It comes standalone or in the driver sdk. It's a better debugger than visual studio imo.

    2. Re:Ollydbg by Anonymous Coward · · Score: 0

      uh huh.. and you think windbg is on the same planet as ollydbg?.. you really know what you're talking about

    3. Re:Ollydbg by Anonymous Coward · · Score: 0

      I've never heard of Windbag. It's made by microsoft?

    4. Re:Ollydbg by Anonymous Coward · · Score: 0

      I've never heard of Windbag. It's made by microsoft?

      No, it works there.

    5. Re:Ollydbg by IamTheRealMike · · Score: 4, Interesting

      Other useful tools are logger from the Windows Debugging Toolkit, which records every API call made, with details of the structures used and so on. Another good technique is to run the app in Wine, which gives you a very high level of debug output which is a rich source of data.

    6. Re:Ollydbg by Anonymous Coward · · Score: 0

      Olly is great. It's not as good at really freaky stuff as the whisper-it Vexmon, but it is more convenient to use when the target isn't playing extremely hard-to-get.

  44. Code Reading - The Open Source Perspective by MavEtJu · · Score: 4, Informative

    Recently I came by this book: Code Reading - The Open Source Perspective, which has the same idea except for when you have the source of a program and not only a binary.

    --
    bash$ :(){ :|:&};:
    1. Re:Code Reading - The Open Source Perspective by hughk · · Score: 1
      Reading source code and navigating your way around a large system isn't easy. I work with large and complicated propietary systems as well as open source code. I can't say that one is better documented than the other. Both are equally a problem when getting into the code.

      To be honest, from what I can see of this book, it doesn't seem to help that much.

      Easily getting into a large project means more than just doing a make tags. Personally, I find an elising editor is great for getting the overview, but I haven't found a good one yet that is open source.

      --
      See my journal, I write things there
  45. Why ? by Vanieter · · Score: 0, Flamebait

    Why is Slashdot promoting such vile acts of piracy ?
    </software megacorp>

    1. Re:Why ? by kasperd · · Score: 1

      Why is Slashdot promoting such vile acts of piracy ?

      Actually some countries have laws allowing reverse engineering.

      --

      Do you care about the security of your wireless mouse?
  46. Re:siht si ts agnir??? I don't think so! by unitron · · Score: 0, Offtopic

    Your confusion is quite understandable as ringa was only recently canonized.

    --

    I see even classic Slashdot is now pretty much unusable on dial up anymore.

  47. science aside by Anonymous Coward · · Score: 0
    I find an useful ways to reverse engineer a particular piece of software with or without source is to deconstruct the application using deconstructionist approach (note, not deconstructionism originally defined by derida, but literary deconstructionism). A lot of what i do is consulting; therefore often I have to fix existing code. Even with the source code it's not easy to figure out a program entirely.

    Trying to get into the programmers mind set for me is useful because it helps me figure out the pieces of the program faster than reading every single line of code several times. Take for example a novel. As you read each chapter, the intension of the author become more apparent. Often times with bad writers, the reader can tell what's going happen. With great writers, it's not totally obvious until the last page. In this way, deconstructing a piece of software helps me see where the programmer was going. that often is more useful than reading every line.

  48. can't have a book on reversing without by Anonymous Coward · · Score: 2, Informative

    a mention of IDA pro, W32Dasm, softice. These are the tools of the trade.

  49. 3 cheers for Nasko and Perry (and SIGMil) by cfoster611 · · Score: 2, Insightful

    These are cool guys, I've gone to a few of their SIGMil meetings. Its cool to think i've partied with some guys who've been slashdoted (also perry TA'd a class i took in the fall). Nasko likes to hit on my girlfriend (tho he's only seen her twice).

    Good job guys! Keep it up!

    They also run the most excellent ACM Special Interest Group at U of Illinois- Urbana Champaign. Anybody who's interested in this kind of research should check it out when they host meetings in the fall.

    --
    --- Kicking the Cheat since late 2002
    1. Re:3 cheers for Nasko and Perry (and SIGMil) by Anonymous Coward · · Score: 0

      WTF? Why was this rated insightful?

      "I'm famous by association! Mod me up, boys!"

    2. Re:3 cheers for Nasko and Perry (and SIGMil) by Anonymous Coward · · Score: 0

      Poor Nasko and Mike,
      I'm afraid to look at your inboxes after having
      your addresses posted on the front page of Slashdot...

      --
      John S., who might actually regularly attend SigMil meetings this year.

    3. Re:3 cheers for Nasko and Perry (and SIGMil) by ray+sedai · · Score: 1

      And we'll all be saying, "I knew Nasko when he was /.ed for the first time." And when he's rich and famous in years to come, I'll tell my kid, "That's right. I sat right across from him at Merry Ann's." And my kid will laugh and say, "God, Mom.. Was that way back when you still had to write "letters" with a *pen*?"

      --
      This color ends in 'urple.'
  50. Microsoft API's by Latent+Heat · · Score: 1

    So this means that attempts to figure out to program to any of a number of Windows API's are not DCMA circumvention violations?

    1. Re:Microsoft API's by 4of12 · · Score: 1

      So this means that attempts to figure out [how] to program to any of a number of Windows API's are not DCMA circumvention violations?

      No, the process that you describe, Windows code developers call "code development" or "debugging"; newcomers often mistakenly call this "spelunking" or "skeet shooting after sunset".

      --
      "Provided by the management for your protection."
  51. Program in Pascal by Latent+Heat · · Score: 2, Funny

    Or your could release the source code -- in Pascal. Anyone without enough programming skill to understand your system will rather go blind than read Pascal code.

  52. Converted it to pdf by shaklee · · Score: 1

    http://66.127.229.59/reveng.pdf Its a 128kb dsl line so the file will be yanked if im lagged too much :)

    1. Re:Converted it to pdf by shaklee · · Score: 1
  53. A note from the sysadmin of www.acm.uiuc.edu by Benley · · Score: 2, Informative

    Thanks, but no need - we've got boatloads of bandwidth at uiuc, and the web server is hardly noticing:



    [staffin@winston staffin]$ uptime
    21:20:19 up 79 days, 18:17, 3 users, load average: 0.24, 0.27, 0.32

    Not bad. It's an ultra5/360 running Debian with 256mb of ram, btw. I think this pretty much demonstrates that the slashdot effect is all about bandwidth, not the speed of the server.

    1. Re:A note from the sysadmin of www.acm.uiuc.edu by seanadams.com · · Score: 1

      I think this pretty much demonstrates that the slashdot effect is all about bandwidth, not the speed of the server.

      Often, an article (esp controversial material) disappears due to administrative action. Other times even small text pages can cause a site to shut down due to CPU-intensive dynamic generation or usage quotas.

      Besides, it only took all of three seconds to webwhack it. :)

  54. haha, thanks (from the admin) by Benley · · Score: 1

    /me takes a bow

    That's my 404 page :)

    1. Re:haha, thanks (from the admin) by Anonymous Coward · · Score: 0

      Is this how your website is supposed to look? ;)

      Fux0r!

      Hey, this is smooth, ey? Me, being the genius that I am, left my little website on this insecure-as-all-hell Windows NT box. And, some 37337 script kiddie h4x0r3d it for me and removed my index.html. All is not lost, I'll fix it later. In the meantime, the fact that I didn't notice for 4 days means that nobody looks at this site anyway, so it's no big deal if it's down.

      Ciao.

  55. Banned from bibliographies by yerricde · · Score: 3, Insightful

    Is it supposed to cause certain groups of people to turn their noses up at this? What group would that be?

    How about the "I'm not going to cite this book in a bibliography because I cite only works that I would recommend to fellow professionals, who by the way do not appreciate obscene humor in the context of their jobs" group?

    I can't think of any group or person with that reaction who would be of the inclination to reverse engineer things.

    You mean like Compaq? Lots of Big Corporations(tm) reverse-engineer their competitors' products in order to learn how to interoperate. Such reverse engineering is exempt to an extent from the DMCA's circumvention ban (17 USC 1201) when under the supervision of an entity that can fund a legal defense.

    --
    Will I retire or break 10K?
  56. "Official" PDF version here by Benley · · Score: 3, Informative

    http://www.acm.uiuc.edu/~staffin/reveng.pdf - Here is the same pdf mentioned above, only on a site that isn't about to get slashdotted (on the same server as the original site, in fact). Have at it!

    1. Re:"Official" PDF version here by shaklee · · Score: 1

      thanks ;)

  57. Windows = Unix Clone? by Anonymous Coward · · Score: 0

    I didn't realize that Windows was a Unix clone...

    1. Re:Windows = Unix Clone? by Anonymous Coward · · Score: 0

      As I read it, his point was not that Windows was a Unix clone but rather that a given Unix system is more likely to read zipfiles than a given Windows system is to read tarballs, and that in turn is much more likely than a given system is to read RAR files.

  58. SDMI by yerricde · · Score: 1

    Approximate summary of a possible cease-and-desist letter from Siemens's counsel:

    The trouble you're having in reverse-engineering the .si3 file format is part of SDMI, the Secure Digital Music Initiative. The format is a technological measure that controls access to a copyrighted musical work. If you are not a songwriter or a publisher, you have no business playing loose with copying copyrighted works embodied in .si3 files. If, on the other hand, you are a songwriter, you're screwed anyway.
    --
    Will I retire or break 10K?
  59. DOS 2, Mac OS X, and SFU by yerricde · · Score: 1

    In a way, a Microsoft Windows system has always been a UNIX clone.

    on the one hand: MS-DOS 2 was Microsoft's attempt at a "transition" from DOS to its XENIX operating system. It failed, but it did introduce several UNIX features to the PC DOS platform, such as subdirectories, file handle semantics, named devices, pipes, and redirection of input and output to a file. Another transition from DOS tech to multiuser tech (Windows to OS/2) failed at first but, when tried again several years later (Windows ME to XP Home Edition), ultimately succeeded for the most part.

    on the other hand: Windows is a Mac OS clone. Windows XP is a Mac OS X clone *cough*Luna skin*cough*. Mac OS X runs on top of a FreeBSD-derived core called Darwin, which adheres to the most visible parts of the Single UNIX Specification.

    on the gripping hand: Though the kernel of the Microsoft Windows NT operating system was designed along the same lines as that of Digital's VMS operating system, NT has always contained a(n admittedly crappy) POSIX compatibility layer. Microsoft sells an upgrade called Services For UNIX that enhances the POSIX layer with BSD and GNU power.

    --
    Will I retire or break 10K?
    1. Re:DOS 2, Mac OS X, and SFU by linuxelf · · Score: 1

      I wouldn't consider any Microsoft OS any kind of Unix clone. They copied some of the command structure, but it behaves completely different than any Unix I've ever used.

      Just as it's not very accurate to call XP an OS X clone. They made the icons look similar, but the entire look/feel of the OS from the user perspective is nowhere near as nice as OS X. Also, the underlying OS, as you mention, is vastly different. No, definitely not a clone.

      As for Services for Unix. I've got the latest version, and I have to say the free tools from Cygwin work far better. It gives you some of the GNU command set, but hardly gives you the BSD/GNU power.

      But, I guess, in the same sense that Mini-Me was a clone of Dr. Evil, microsoft has been making clones for years.

      --
      - "That's just the kind of fuzzy-headed liberal thinking that leads to being eaten."
  60. google:"Fravia" + "+orc" by purduephotog · · Score: 1

    google search for fravia and "+orc". Lots of indepth articles at reverse engineering, how compilers work, etc. Much more practical and interesting, not to mention loads of indepth information that, honestly, surpass what's present in these articles.

    Not for the Faint of Heart.
    It's nice to see this coming back, but all of this was discussed ad naseum ~1996ish.

    1. Re:google:"Fravia" + "+orc" by Anonymous Coward · · Score: 0

      Yeah, and they are still -after so many years- alive and kicking at
      http://www.searchlores.org
      for instance
      http://www.searchlores.org/softreve.htm
      and (great readings)
      http://www.searchlores.org/softreve.htm

      Brenda Luglick

  61. RE/Cracking tutorials and games by sICE · · Score: 5, Informative

    you might want to have a look at AntiCrack which is a huge collection of tutorials cracking , reverse engineering, and programming. They also have a copy of the Old Fravia'Site, the new one being about searching).

    There's a few games/challenges out there about reverse engineering, cracking, logic and programming. Give them a try if you wish (Arcanum is really nice):
    AngularVision, Apotheosis, Arcanum, Aspect, Aspect2, C&CDisIncorporated, CyberArmy, Disavowed, Electrica, Escape, HackME, HackersGames, HackersLab, HackQuest, Hybrid, ICEFortress, Lamebulun, Mod-X, NetSplit, NGSEC'sSecurityGame, ProblemSetArchive, ReverserCourse, SlyFX, TheGame, and Try2hack.

    have fun ;-)

    1. Re:RE/Cracking tutorials and games by mikepery · · Score: 1

      Yeah, this is basically the exact reason why we're working on this book. Because there are SOOOoooooo many tutorials and atricles about doing specific things, and yet no one has documented a general approach.

      Thanks for the links, will be traversing these for general ideas and assimilation ;)

    2. Re:RE/Cracking tutorials and games by sICE · · Score: 1

      np, documenting reverse engineering broad techniques is an immense work and i'm impatient to see where your project will lead.

      Good luck for you two!
      btw: what about making a wiki for the book?

  62. Using Sniffer to Reverse Engineer by Radical+Rad · · Score: 2, Interesting

    Are there any lawyers here that can say whether packet sniffing is indeed a form of Reverse Engineering and could then be prohibited by an EULA? Common sense would tell me that it can not because it would be analogous to having a reasonable expectation of privacy when talking with someone inside your home but not when shouting to your neighbor through an open window.

  63. MOD PARENT "IDIOT" by Anonymous Coward · · Score: 0

    can't spell "does"

  64. Re:Wow, that is a long article...any ideas for POS by 680x0 · · Score: 1
    I'd be willing to work on something like that. But, if we need to be compatible with certain equipment, we'd need that equipment to work with. In some cases, it's as simple as a PC with a cash-drawer, but in other cases there are more specialized things you'd need to work with.

    If someone else can do the specifications (e.g. requirements, communications protocols with which we need to be compatible, etc.), I can try digging up some more programmers to help. I'm already registered on SourceForge, but don't yet have an open source project.

    I suspect once we get the basic project working, we can probably get donated equipment to work on, but initially we can work on just the most basic POS equipment (or even just simulate it).

  65. Mod Parent Up by Kashif+Shaikh · · Score: 1

    I was looking for a book like this, since many small linux-based companies are working and leveraging existing open-source software. I mean, everyone needs 99% of the program, but you need to add a small feature or two to a million++ line program(i.e. samba).

    How do you do it? Well, I hope this book can give me more insights.

  66. complete? by codegen · · Score: 2, Informative

    Not exactly complete. My research
    area is reverse engineering. The book only
    talks about low level reverse engineering
    (i.e. executable code). Most of the research
    in the area is at the source level.

    This is not a criticism targeted at theauthors,
    but at the submitter.

    --
    Atlas stands on the earth and carries the celestial sphere on his shoulders.
    1. Re:complete? by Anonymous Coward · · Score: 0

      If you have the source then its not reverse engineering - duh!

    2. Re:complete? by hughk · · Score: 1

      Actually another more informative term is 'design recovery'. You are handed 100K source lines and are asked to change it. How do you do it?

      --
      See my journal, I write things there
  67. Ida Pro by Huusker · · Score: 1

    For professionals (read: willing to pay $$$) I recommend the Ida Pro disassembler. The Fast Library Identification & Recognition Technology (FLIRT) combined with Parameter Identification & Tracking (PIT) make it the tool of choice for serious reverse engineering.

  68. +Ma's Reversing by ffrinch · · Score: 1

    Don't forget +Ma's Reversing. It seems to focus more on cryptanalysis than the others I've played, but has a fair bit of reverse engineering stuff in there too.

    1. Re:+Ma's Reversing by sICE · · Score: 1

      yep, i noticed i forgot it once i pressed 'Submit'. It's damn good too. btw i started playing at it a few times ago, stuck (but not for long i hope) at Riddle 6 (from Jeff). any hints?

  69. device drivers? by Quickening · · Score: 2, Interesting

    What we need most are methods to reverse engineer device drivers.

    Let's say for example, a certain manufacturer of popular media cards actually has linux drivers for their hardware, running on an ARM in a setup box, but refuses to release these drivers, open or closed, to pc users. If I had said drivers in hand, could I port them to i386?

    --
    tcboo
  70. 3rd most portable? by r3jjs · · Score: 1

    I'd be tempted to add moria/angband to that list. That program runs on a -WHOLE LOT- of platforms including rather interesting kMoria for the Palm Pilot.

  71. GNU options are unnecessary. by Anonymous Coward · · Score: 0

    That's why I stick to SUSv3 style single-letter options. It limits you to only about 50 options but only gh3y things like a GNU compiler will need more! Hooray!

  72. RTFA by Anonymous Coward · · Score: 0

    Lolz yur n0t 4 h4x0r

    Lolz yu c4nt r34d

    0n t3h 4rt1cl3:
    "Note

    TO SLASHDOT READERS: Yes, this book is incomplete. Yes it has mistakes. Yes, we are working as hard as we can to fix them. Please email the authors directly rather than simply ranting/flaming on slashdot. We will take your comments into consideration, and will list you in the credits. We've already built up a large queue of fixes thanks to helpful emails.
    "

    13t /|\3 3/|\ph4z1z3 t3h \|/0rDz: "...this book is incomplete...it has mistakes..."

    13t /|\3 3/|\ph4z1z3 t3h zub1i/|\1N4l \|/0rDz: "
    email the authors"

    B3 c4r3fu1 d00dz: "We will take your comments" Tay st34l J00'z c0mments!

  73. Re:SoftICE by Anonymous Coward · · Score: 0

    Dunno, I found this to be funny.

  74. Wow. Good luck. by skogs · · Score: 3, Interesting
    Seldom is somebody actually willing to begin and create a project.

    As far as specifications go with hardware...the simpler it is the better. Honestly, do you want to code to something that is unfamiliar? No. You want to run x11 on a Plain old P4 or something with 5 pci video cards in it. vga monitors. Not monochrome monitors running off two wires that make ugly text displays. Something simple to program, and even simpler to replace.

    Seriously, you could sell this commercially if you found a backer. Give them the software for free, and sell them the system. One computer, 6 keyboards and 6 monitors. Thats all you need to supply, and you can charge them US$5000 for it. Sell upwards of fifty of these darn things to little mom and pop pizza places and they would be happy, and you would clear $1500 a piece...then start selling to Pizza Hut, Domino's, Papa John's...and make a shitload as they begin replacing their equipment and buying yours.

    Be sure to offer them support with certain little things for a specified ammount of time, and charge them like $2000 for a one year service contract.

    Modify your code with a couple different modules, and begin handling burgers and fries instead of just pizza sizes, toppings, and cokes...and then you open your market up to smaller chains like A&W, White Castle, and eventually anybody.

    there is a need for this type of software and hardware solution, and all businesses feel it roughly every 8 years or so. Thats a pretty good market. Get your hands on some old equipment and see how the inventories worked, the numbers added up, and displayed. Wow. Make yourself a living in 30 long and difficult steps.

    --
    Who is this that even the wind and the waves obey Him? Surely this computer must submit also!
  75. Handling serially connected embedded devices by Diomidis+Spinellis · · Score: 1
    A neat trick to reverse engineer the communication between a serially connected embedded device and the proprietary software controlling it, is to force it to communicate via an man-in-the-middle hardware interceptor. Any old PC will do for that. The interceptor logs all comunication into a file that you can then examine at your leisure. The interceptor program is simplicity itself: fork, open the serial device and file, read/write (or write/read) a character and log it to the file. Someday I 'll have to program a similar setup for USB devices.

    I 've used this trick to reverse engineer the proprietary communication protocol of a (now ancient) Ericsson GH-388 mobile phone and write a program to query the phone for battery level, reception level, IMEI, and phonebook contents. The proprietary program was running on a Windows laptop; a Linux machine was sitting between the program and the phone busilly recording every byte they exchanged.

    Diomidis Spinellis - Code Reading: The Open Source Perspective
    #include "/dev/tty"

  76. Opinion: to fragmented at the moment by maroberts · · Score: 1

    I did like this link, as in introduction into reverse engineering I feel it could become a helpful guide. But I feel that it's style is substantially wrong to achieve its ambition of becoming a book; the document style feels far too fragmented, chapters and even individual sections should be longer, perhaps detailing how to use the various programs mentioned. Perhaps an example program to be reverse engineered on Windows and Linux should be included, and output of the reverse engineering tools on that program included at various points through the book.

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  77. Yes, the book does cover strace/truss by rsheridan6 · · Score: 1

    A direct quote from the book, at the beginning of chapter 4:

    strace/truss(Solaris) These programs trace system calls a program makes as it makes them. Useful options:
    1. -f (follow fork)
    2. -ffo filename (output trace to filename.pid for forking)
    3. -i (Print instruction pointer for each system call)

    --
    Don't drop the soap, Tommy!
  78. Actually, kid by Anonymous Coward · · Score: 0

    compress is older and more "standard" than Gzip. So we should all be using tar.Z, becuse it goes back before the 80's. Coincedentaly, it also now Patent Free, and WinZIP can read .Z files just as easily as it can read .gz

  79. Re:verse eng.... by essreenim · · Score: 1

    I'm sorry about this post. I'm sure allot of work was put into it but I just think reverse engineering is a black art that is best not dabbled in at allo. t runs contrary to standard engineering in that there is no inventiveness or innivation needed, just pain staking labour.!

  80. reverse engineers are losers by Anonymous Coward · · Score: 0

    Not competet enough to create the stuff from scratch themselves.

  81. Truss by multipartmixed · · Score: 1

    You're right, the truss -u option appear under 2.8.

    However, you can do most RE of 2.x binaries under 2.8, due to the wonderfully static ABI.

    --

    Do daemons dream of electric sleep()?
  82. More Reverse Engineering by Anonymous Coward · · Score: 1, Informative

    Georgia Tech's Reverse Engineering Group also has a whole lot of info on the topic here : http://www.cc.gatech.edu/reverse/

  83. Re:OT, Way OT by bninja_penguin · · Score: 1

    Funny sig man!!

    --
    For those who describe their systems as 'boxen', do you order multiple 'boxen' of corn flakes also?
  84. Re:OT, Way OT by Dun+Malg · · Score: 1
    Funny sig man!!

    Painfully bad, isn't it? :)

    --
    If a job's not worth doing, it's not worth doing right.