{"product_id":"fre-july-26","title":"July 2026: Firmware Reverse Engineering (Online 4-Day Class)","description":"\u003cdiv\u003e\n\u003cdiv\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eThis course provides a comprehensive deep-dive into firmware reverse engineering using Binary Ninja and Firmware Ninja, designed for vulnerability researchers and reverse engineers targeting embedded systems. Through a series of hands-on modules and practical exercises, students will learn to navigate the unique challenges of firmware analysis.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eDATES\u003c\/strong\u003e: July 27-30, 2026\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTIMES: \u003c\/strong\u003e9am-4pm ET\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePRICE: \u003c\/strong\u003e$4,800.00\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSYLLABUS: \u003c\/strong\u003e\u003ca rel=\"noopener\" href=\"https:\/\/binary.ninja\/training\/fre-syllabus.html\" title=\"Novice to Ninja Syllabus\" target=\"_blank\"\u003eHere \u003c\/a\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLOCATION\u003c\/strong\u003e: Online (Zoom + Discord)\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eParticipants will learn how firmware interacts with hardware and develop expertise in static analysis of raw binaries and common real-time operating systems. The course emphasizes real-world problem solving and equips students to load and triage firmware consisting of unknown memory maps, unknown base addresses, and missing symbol information. Students will learn how to overcome these hurdles and implement tailored solutions to improve firmware decompilation. Additionally, students will explore powerful tooling like the Firmware Ninja plugin to accelerate analysis through entropy inspection, memory insights, board descriptions, and automated workflows.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eThe training also includes advanced topics such as automated analysis techniques using the Binary Ninja Python API, signature matching with WARP, and advanced program analysis concepts. By the end of the course, participants will be able to reverse common embedded real-time operating systems and custom microcontroller ROMs across numerous platforms with confidence and efficiency.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3 style=\"line-height: 1.38; margin-top: 20pt; margin-bottom: 6pt;\" dir=\"ltr\"\u003ePrerequisites\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eExperience reverse engineering using Binary Ninja or other static analysis frameworks. Experience with ARM assembly is helpful. Familiarity with Python and C is helpful, but not required.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3 style=\"line-height: 1.38; margin-top: 20pt; margin-bottom: 6pt;\" dir=\"ltr\"\u003eCourse Agenda\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eOverview of Binary Ninja\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eMigration from other tools\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eWhat firmware really is (and isn't)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eChallenges of firmware static analysis\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eHow embedded systems boot\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eIdentifying the load base address manually and with BASE\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eConstructing memory maps for raw binaries\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eIdentifying code and data regions in raw binaries\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eUnderstand the relationship between firmware and hardware\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eHandling interrupts and control flow redirection\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eData Buses (SPI, I2C, UART, CANBUS, etc.)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eSensors and Analog-to-Digital Converters (ADCs)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eRecognizing MMIO and static memory interactions\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eUsing Binary Ninja's ILs to simplify complex code\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eCreating and extending custom BinaryViews\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eUsing WARP to generate signatures and identify functions\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eImprove your workflow with Firmware Ninja\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eWriting scripts to automate analysis across firmware corpora\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eIntegrating with Sidekick for AI-assisted RE\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eDevelop a custom architecture plugin\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eRE common flavors of firmware:\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-top: 0; margin-bottom: 0; padding-inline-start: 48px;\"\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eMicrocontroller \/ DSP ROMs\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eVehicle Electronic Control Units (ECU)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eBoot Firmware (U-Boot, UEFI, aboot)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eReal-time Operating Systems (VxWorks)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli aria-level=\"1\" style=\"list-style-type: disc; font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre;\" dir=\"ltr\"\u003e\u003cspan style=\"font-size: 11pt; font-family: Arial,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;\"\u003eBaseband\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"list-style-type: disc; font-size: 11pt; font-family: Arial, sans-serif; color: rgb(0, 0, 0); background-color: transparent; font-weight: 400; font-style: normal; font-variant-caps: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-position: normal; text-decoration-color: currentcolor; text-decoration-line: none; text-decoration-style: solid; text-decoration-thickness: auto; vertical-align: baseline; text-wrap-mode: nowrap; white-space-collapse: preserve;\"\u003e \u003c\/p\u003e\n\u003ch3\u003eTrainers\u003cstrong\u003e\u003c\/strong\u003e\n\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eBrandon Miller\u003c\/strong\u003e (@zznop) has a background in embedded development, reverse engineering, and vulnerability research with over 15 years of experience. He started his career in military intelligence before transitioning to a government contractor role where he worked in Cyber R\u0026amp;D. He is now a software developer at Vector 35 focused primarily on improving Binary Ninja for firmware analysis.\u003c\/p\u003e","brand":"Vector 35","offers":[{"title":"Default Title","offer_id":41366692462650,"sku":null,"price":4800.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1783\/9513\/files\/binji-arm.png?v=1776867466","url":"https:\/\/shop.binary.ninja\/products\/fre-july-26","provider":"Vector 35 ","version":"1.0","type":"link"}