»Python Toolsmithing 101«
2018-10-18, 09:30–11:30, Echternach - Diekirch

In this 2 hour workshop, the attendees will learn how to create (security) tools in Python. With more than 30 years experience in the development of tools, 12 years of publication, more than 100 tools and at least a couple of tools widely used by the security community, Didier Stevens will share his knowledge in this workshop and teach attendees how to develop their own tools in Python.

To get a major boost when attendees start developing their first tool, Didier will share his private templates for the development of tools and explain all the features and how to develop with these templates. These private templates will become public after this workshop. These templates are actually used by Didier to develop and publish new tools. One template is for binary files. This template can not only read and process binary files, but also binary files stored in compressed files, binary files provided via stdin, generated files, here-documents, … Output can be generated in different formats: binary, hexadecimal, ASCII/Hexadecimal, custom, … Another template is for text files. Like the binary file template, this template too has several input methods and output methods. Attendees will learn about features that are common across Didier Stevens’ tools, and that they can use in their own tools developed with the templates. After completing several exercises to get familiar with Python toolsmithing and Didier’s templates, 2 new tools (one binary tool and one text tool) will be developed by the attendees under Didier’s guidance. After the workshop, attendees will have enough knowledge to get started as a Python toolsmith. Depending on the complexity of the tools they want to create, a new tool can be as simple as programming one new Python function, thanks to the features provided by the template.