This is a survey paper investigating approaches to static program analysis on executable code. Analysis on executable code is important because in some cases the source code does not describe what happens during execution well enough. In other cases, only the executable may be available. Several difficulties are involved in analysing executables though, including incomplete information about the program flow, missing information about program variables, bit manipulation etc. This article surveys different suggested approaches to overcome some of these problems.