Hopper is a tool that will assist you in your static analysis of executable files.
From Hopper's tutorial page:
The idea behind Hopper is to transform a set of bytes (the binary you want to analyze) into something that could be read by a human.
To do so, Hopper will try to associate a type to each byte of the file. Because it would be too much expensive to do it manually, Hopper proceeds to an automatic analysis as soon as you loaded a file.
The various types that can be used in hopper are:
- Data: an area is set to the data type when Hopper thinks it is an area that represents a constant, like an array of int for instance.
- ASCII: a NULL terminated C string.
- Code: an instruction
- Procedure: a byte receives this type once it has been determinate that it is part of a method that has been successfully reconstructed by Hopper.
- Undefined: this is an area that has not yet been explored by Hopper.