Encrypted code is a phrase that presupposes a cipher, and on the PIC32MX250F128C there is none to presuppose. The flash stores plain binary — the same machine words the core executes, readable by any tool that can address the array. What the part does have is code protect: a single configuration bit that, when armed, blocks external access to the flash entirely. The difference between encryption and protection is not pedantry; it determines every answer a customer gets.
Protection Is A Switch, Not A Cipher
Encryption transforms data with a key; the stored form is unintelligible without it. Code protect does nothing to the data — it locks the door. On this family the lock is DEVCFG0 bit 28, active low: a programmed zero arms it, and the flash controller then refuses external reads of both partitions, the 128 KB program array from 0x1D000000 to 0x1D01FFFF and the 3 KB boot bank at 0x1FC00000. Microchip’s programming specification names the sole exit: the chip erase command, which blanks the part. No key exists because no cipher exists. No partial readout exists because the controller enforces a single rule.
The practical consequences follow directly. An unprotected part is fully readable — nothing was ever scrambled. A protected part is fully sealed — and the seal’s release costs the contents. There is no middle case where “the encryption was weak” or “the key was short,” because there was never a key. Requests framed in cipher language usually stem from forum vocabulary migrating into purchase orders; the register read settles the vocabulary in minutes.
What The Register Actually Says
The four DEVCFG words in the boot bank’s last page describe the security state completely: code protect, program write protect (pages guarded against modification during execution — reads unaffected), boot write protect, and the debug channel selection. Reading them is the first step of every job on this part and the basis of the copy protection assessment. Write protection in particular gets misread as security constantly; it is a mutability lock, and a part wearing it reads like an open book.
Why The Vocabulary Persists
The confusion has stamina because the industry around it does. Resellers advertise unlocks, exploits and decryption for parts that never encrypted anything; forums inherit the vocabulary; purchase orders reproduce it. The register read ends the conversation in one step, but the step requires someone to open the register at all. On the buyer’s side the practical guidance is short: ask any provider which bit they intend to read and what they expect it to tell them. An answer that names DEVCFG, states the polarity and describes the erase-based exit is an answer grounded in the silicon. Anything that promises to recover an encrypted image from a part with no cipher is selling the vocabulary, not the work — and the difference shows up as either a clean deliverable or a refund policy.
The 36-pin package adds its own delay to the same jobs: fixtures quoted before the lead count is confirmed are fixtures re-quoted later. Marking, lead count and protection state are three facts worth one email; the FAQ page lists the rest, and the schedule holds.
The Part Behind The Terminology
The 250F128C is the 36-pin VTLA member of the flagship 128 KB USB family: 128 KB of flash, 32 KB of SRAM, full-speed USB 2.0 with device, host and OTG modes, I2S audio, parallel master port, four general plus two USB-dedicated DMA channels, 10-bit converter at 1 Msps, M4K core at 50 MHz and 83 DMIPS. Package logistics for the 36-pin variant — the pin count standard fixtures skip — get their own treatment on the 150F128C page. Boot flash is the family-standard 3 KB at 0x1FC00000 through 0x1FC00BFF, with 256-word page erases and 32-word program rows across the array.
Where Real Data Hiding Happens
Products that genuinely protect their data on this part do it in software: obfuscated record formats in the emulated-EEPROM region, authenticated firmware updates, host-side verification. Those schemes are visible in the recovered image — that is the point of recovering it — but they are the designer’s work, not the silicon’s. A recovery report describes what is there; it does not invent a cipher that the datasheet says was never built. The distinction matters most in the summary a customer acts on: whether the data was hidden, and by what layer.
The Straight Answer
If the protection bit is clear, the image comes back complete — program flash, boot bank, configuration words, two verified captures of each — and the “encrypted code” of the purchase order turns out to be ordinary, readable firmware. If the bit is armed, the honest scope is short and the FAQ covers the follow-ups. Either way the answer comes from the register, not the vocabulary, and stating it that plainly is the service. The NDA page governs the exchange; the register governs everything else.
For the wider branch, the PIC32MX extraction index lists every part with its geometry and package.