Do you enjoy solving tough problems? Does supporting critical national security missions have special meaning to you? Are you the type that thrives working in a team environment? If so, this is a terrific opportunity to conceptualize and drive development of game-changing solutions that are re-shaping the battlespace environment and saving lives.
Apply your knowledge towards reverse engineering. Contribute to solving national security cyber challenges by supporting hardware and software reverse engineering projects. Responsibilities include investigating embedded software/hardware devices and their inherent communication implementations, analysis of embedded binaries and firmware to identify functional behavior. Successful candidates are self-motivated and work effectively in both team or individual situations. They have excellent communication skills and can handle multiple projects and activities simultaneously. Ability to excel in a fast-paced and highly technical R&D environment.
What you will Get to Do:
Investigate embedded software/hardware devices and their inherent communication implementations
Analyze embedded binaries and firmware to identify functional behavior
Perform dynamic analysis of software and firmware using tools like JTAG, SWD, openocd, and gdb.
Identify and isolate common operating system code from application code
Implement custom designs in C/C++ and assembly (x86, ARM, Thumb)
Develop testing procedures and document results for customer presentation.
Conduct and/or participate in technical reviews of requirements, specifications, designs, codes, and other artifacts
An active TS/SCI clearance is required to begin employment.
BS degree in Computer Science, Software Engineering, Computer Engineering, or Electrical Engineering (ABET/EAC Accredited).
A minimum of 4+ years of experience doing embedded software development or reverse engineering
Required Skills and Experience:
Experience programming in Python, C, and/or C++ for Linux/RTOS
Experience working with board support packages (BSP), U-Boot, and device drivers
Experience with embedded interfaces such as UART, SPI, I2C, GPIO
Experience using in-circuit debuggers and programmers, JTAG/Serial-wire (SWD)
Thorough understanding of memory management concepts (Heap, Stack, Volatile/Nonvolatile).
Working knowledge of RF communications technologies, network communications technologies, and hardware design
Desired Skills and Experience:
Thorough understanding of ARM Cortex-M firmware development
Experience with IDA Pro and/or Ghidra
Experience programming directly in ARM/Thumb assembly
Experience developing applications within an RTOS framework (FreeRTOS, ThreadX, CMSIS)
What We Can Offer You:
- We’ve been named a Best Place to Work by the Washington Post.
- Our employees value the flexibility at CACI that allows them to balance quality work and their personal lives.
- We offer competitive benefits and learning and development opportunities.
- We are mission-oriented and ever vigilant in aligning our solutions with the nation’s highest priorities.
- For over 55 years, the principles of CACI’s unique, character-based culture have been the driving force behind our success.