GrammaTech is seeking a Software Engineer in the Research/Reverse Engineering Team to develop new tools and integrate existing tools to advance the state-of-the-art in software reverse engineering and binary analysis. Application areas include: decompilation, firmware analysis and patching, software architecture recovery, and software functionality identification.
Location: Preference is for this candidate to be located in our office in Ithaca, NY. Although, management may consider a remote employee when there is a strong match of skills and experience.
Execute all phases of the software development lifecycle on existing codebases and new implementations
Write and maintain well-designed, documented, testable code and address quality assurance issues
Communicate task progress via verbal and written reports to keep stakeholders up to date on project progress
Prepare software deliveries for demonstrations, evaluations and customer transitions
Support demonstration events and customer installation and usage to ensure a smooth and successful evaluation
Experience working with at least one assembly language (x86, ARM, MIPS, etc.)
Advanced software application development skills in C/C++ and Python
Ph.D. in computer science - or - BS in computer science or equivalent with 3+ years' experience
Experience with reverse engineering tools (e.g. IDA Pro, radare2, binwalk, etc.)
Experience with firmware and/or RTOS development, configuration, deployment and/or emulation
Experience with fuzzers, at least using and configuring them; experience with AFL especially useful
Experience with symbolic execution