Position: Reverse engineer (m/f/d) in Berlin, Germany
Company: think-cell
Experience required: 1y
English level: upper

Join us as a reverse engineer

Location: Berlin, Germany

Do you have experience with binary code analysis? Using tools like IDA is your second nature? Do you enjoy analyzing malware or finding security vulnerabilities? Then analyzing a large application like Office will give you a whole new set of challenges!

You need to understand data structures and algorithms involving dozens of functions all from nothing but binary. Do you belong to the few people in the world who have these skills? Then we are looking for you. 

Here is what we offer in a nutshell:
- A wide array of extremely challenging tasks
- An international team of brilliant minds
- A working environment that makes this team stay and grow
- Enough time to make sure that every detail of your solution is perfect
- A flat organization and plenty of room for your ideas
- No scheduled meetings
- Family-friendly working hours, no deadlines, no overtime
- Support for relocation
- A competitive salary from the start and a raise to EUR 120,000 annually after only one year

**About our reverse engineering**

think-cell distinguishes itself from other Microsoft Office add-ins by having an intuitive user interface, smart algorithms that automate many tasks and, not least, a deep integration into its Office host application. To achieve this deep integration, we use the public APIs offered by Office and Windows whenever we can, but unfortunately, they do not let us do everything we want to do. So we add our own customization hooks into the Office and Windows binaries. When think-cell loads, it finds the code locations and installs its hooks.

Instead of using fixed addresses, we find code locations using machine code patterns to be robust against minor changes. If an update to Office or Windows still breaks some of the patterns, think-cell will automatically download and install any available version with updated patterns.

Finding ways to achieve a desired customization is a truly zen-like activity. It requires deep analytical skills, the ability to juggle vast amounts of information in the head and quickly separate promising from less promising approaches.