With our modern reliance on computers, some people tend to forget that every program on their computer is made up of tiny bits of information. Computer disassemblers can work to show us all of the hard work that went into creating even the simplest of programs on our computer.
Computers are very limited things. The CPU of a computer understands only a very small list of commands. These commands are known as 'operation codes'. With such a small set of commands in a computer programmer's arsenal, it is amazing to see the level of complexity that programs of today have reached!
While a computer assembler takes a file filled with human readable Assembly source code, computer disassemblers do just the opposite. If you run a program through a disassembler, the disassembler will work through the program, converting all of the CPU operation codes back into the more human readable Assembly code. Although the Assembly source code a computer disassembler returns is 'human readable', it can sometimes be difficult for a programmer to follow through the source code of a program that he or she has never seen before.
Computer disassemblers are very useful tools, since they allow computer programmers to 'work backwards' through a program in order to figure out how it works. This is one of the methods that can be used when they are studying a new virus that has popped up somewhere on the Internet. Through the use of computer disassemblers, computer programmers are able to not only discover what the virus is intended to do, but also the methods that might be implemented by the virus to protect itself.
Without computer disassemblers, it would be much more difficult for computer programmers to find ways to protect computers from viruses, as well as to debug programs, making them more stable and efficient.