The topic of my thesis was inspired by the difficulty, complexity, and overall cost of reverse engineering. Reverse engineering tasks can be eased or automated - partially or fully - with certain methods. To achieve this goal, i utilized binary instrumentation - Intel's binary instrumentation framework called PIN, to be exact.
In the first part of my thesis i present Intel's PIN framework. After a brief look at its history, i introduce its architecture, operation, components, basic concepts, methods, and features. Generally binary instrumentation, and programming PIN has very special problems and needs, which i try to point out and overcome.
After the introduction of the framework i present the architecture and requirements of my toolkit. The concrete tools with the purpose of aiding reversing, their design decisions and implementations are also discussed in detail.
Finally, i measure and inspect the performance impact of the tools on real applications, compare the results to my preliminary expectations, and draw the appropriate conclusions.