DESCRIPTION:
In this position, the Reverse Engineer will perform active and passive analysis on subject software, in order to develop Proof-of-concept capabilities, and subsequent mature, releasable tools.
QUALIFICATIONS:
- Proficient with Windows Development; .Net Framework and Core
- C++ proficiency
- Knowledge of COM interfaces a plus
- C# experience, specifically with Common Language Infrastructure (CLI), Common Language Runtime (CLR), Just in Time (JIT) Compilation, and managed v unmanaged code
- Reverse Engineering Tools: IDA and dotPeek, Ghidra experience a plus
- Proficient with WinDbg
- Python
- SIP and TCP/IP Packet networking knowledge a plus
- Visual Studio experience a plus
- Subversion and/or Git knowledge a plus
- Docker a plus
LEVEL 3:
This position is hands-on hardware and software analysis, proof-of-concept creation, and product development in support of an exciting mission! In this position, the Reverse Engineer will perform breakdown hardware of subject devices, including soldering/de-soldering, perform active and passive analysis on subject hardware and firmware, and document detailed functionality reports. The placed engineer will author Proof-of-concept capabilities based on his/her analysis, most likely in C, but some situations call for C++ or assembler.
Additionally, the placed candidate will spend approximately 25% of his/her time conducting research on subject devices, potentially including, but not limited to:
- Open Source/Internet Research
- Searching and discovering of data in Customer Enterprise Tools and Repositories
- Interfacing with Analysts, External Stakeholders, and client leadership
QUALIFICATIONS:
Reverse software developer proficient static analysis tools such as Ghidra and IDA, as well as proficiency using debuggers to step through decompiled code. Comfortable reading/writing assembler, particularly but not limited to, x86, ARM. Experience with C, C++, and comfortable reading/writing assembler, Understanding of Linux internals, embedded Linux, and/or pre-Linux Real Time Operating Systems.
Some exposure/experience with hardware breakdown, soldering, board analysis, or a strong desire to learn.
REQUIREMENTS:
LEVEL 2:
BS in (Computer Science, Electrical Engineering, Computer Engineering, Physics or similar)
2 yrs + BS
9 yrs + no degree
LEVEL 3:
BS/Masters in (Computer Science, Electrical Engineering, Computer Engineering, Physics or similar)
12 yrs + Masters
15 yrs + BS
20 yrs + no degree