Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

From time to time, I experience different bugs with proprietary software that I need to interact with. In order to get through these bugs, I need to develop various workarounds. Is there a good book for debugging/disassembling proprietary software to write better workarounds?

share|improve this question

closed as off-topic by gnat, GlenH7, Dynamic, Bart van Ingen Schenau, DougM Mar 3 '14 at 1:19

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, Dynamic, Bart van Ingen Schenau, DougM
If this question can be reworded to fit the rules in the help center, please edit the question.

Most of the tools and techniques used in debugging and disassembling are operating systems and/or language specific. Are you looking for a general OS/language agnostic book? Or a book specifically on some OS+language combination? – Maglob Feb 4 '11 at 21:27
Yeah, I'm looking for a general OS/language agnostic book. But I will appreciate any suggestion for specific one. – Kentzo Feb 5 '11 at 18:30
Dissambling or otherwise reverse engineering is in violation of the EULA's of most proprietary programs. That may or may not be legally enforceable or morally sound, but at very least, you can expect a very chilly response from the vendors who's software you are reverse engineering. – SingleNegationElimination Feb 5 '11 at 23:48
It is legal to disassemble purchased software in Russia. At least not illegal. – Kentzo Feb 6 '11 at 13:12
Note that you essentially want to reverse the compiler used. Depending on how good it is you may have to analyze machine code without debug symbols to understand what goes on. This is not a trivial task and is hard to automate. – user1249 Mar 10 '12 at 1:44