Pitch

Modernize the binary. Prove it didn't break.

There are millions of business-critical .NET Framework assemblies with no source code. ProvenPort modernizes them to modern .NET — and is the only approach that proves the result behaves identically to the original.

Problem

A vast install base is stranded on a legacy runtime.

.NET Framework powered enterprise software for two decades. Today it is legacy — no new features, mounting security and compliance pressure — yet enormous amounts of it survive only as compiled binaries: source lost, vendors vanished, authors moved on.

Can't read it

Reverse-engineering yields code that frequently won't rebuild — and even when it does, no one can vouch for it.

Can't trust it

The modern runtime silently changed subtle behaviors. A "successful" port can be quietly, dangerously wrong.

Can't risk it

These are payroll engines, trading libraries, medical and industrial components. "Probably fine" is not an acceptable migration standard.

So the binary stays frozen — accumulating risk — because the safe path doesn't exist. Until now.

Solution

ProvenPort treats the binary as the golden master — and proves equivalence.

We don't ask you to trust modernized code. We measure it: establish the original binary's exact behavior, reproduce the same conditions on modern .NET, and compare. Differences are reconciled with verified, behavior-preserving changes until the old and new builds agree.

The output isn't just a modern build.
It's a modern build with a proof.

Why now

The window is open — briefly.

Legacy pressure peaks

.NET Framework is end-of-the-road; security, compliance, and talent scarcity are forcing migration decisions now.

AI makes it tractable

AI collapses the cost of the long tail of edge cases — but only when wrapped in a system that can measure binaries and verify every change.

The expertise is rare

The hard part lives deep in .NET internals — exactly where general-purpose AI fails and few engineers can operate.

Defensibility

The advantage compounds with every binary we touch.

Conversion is a commodity. The defensible asset is the verified know-how that makes a port faithful — and the ability to prove it. Both grow with use.

Compounding know-how

A growing library of verified, behavior-preserving techniques, accumulated from real binaries — expensive to rebuild and widening with every engagement.

Outcomes flywheel

Every binary we process expands what the system can handle. The product gets more capable — and harder to copy — the more it runs.

Verification, not vibes

Equivalence is established by measurement, turning "trust me" into an auditable result — the thing enterprises need to sign off a migration.

Author–market fit

Two decades inside .NET binaries. This is not an advantage you assemble from a weekend prototype.

Traction

Already proven against real, independent libraries.

For each library we modernize the legacy binary, then run the library's own test suite against the modernized assembly. Third-party validation, not self-reported demos.

100
libraries validated
610k+
tests run green
480k+
in a single library
100%
of applicable cases
LibraryFrameworkDomainTests passingStatus
Icednet 4.5x86 / x64 encoder-decoder481,397 / 481,397validated
MathNet.Numericsnet 4.8Numerical computing20,908 / 20,908validated
NodaTimenet 4.5Date & time18,702 / 18,702validated
Humanizernet 4.8Text & localization15,023 / 15,023validated
NUnitnet 4.6.2Test framework6,264 / 6,264validated
FakeItEasynet 4.6.2Mocking / test fakes5,119 / 5,119validated
AutoFixturenet 4.5.2Test-data generation4,382 / 4,382validated
Markdignet 4.6.2Markdown parser3,795 / 3,795validated
System.Reactivenet 4.7.2Reactive extensions (Rx)3,692 / 3,692validated
AngleSharpnet 4.6.2HTML / CSS DOM engine3,643 / 3,643validated
Newtonsoft.Jsonnet 4.5JSON serializer3,464 / 3,464validated
MimeKitnet 4.6.2MIME / email parsing2,429 / 2,429validated
Sentrynet 4.6.2Error reporting2,386 / 2,386validated
SSH.NETnet 4.6.2SSH / SFTP client2,310 / 2,310validated
DocumentFormat.OpenXmlnet 4.6Office Open XML2,304 / 2,304validated
Pollynet 4.6.1Resilience (retry / breaker)1,895 / 1,895validated
Cronosnet 4.5Cron scheduling1,868 / 1,868validated
BouncyCastle.Cryptographynet 4.6.1Cryptography suite1,529 / 1,529validated
DotLiquidnet 4.5Liquid templating1,427 / 1,427validated
Nito.Comparersnet 4.6.1Comparer composition1,351 / 1,351validated
ExCSSnet 4.8CSS parser1,263 / 1,263validated
McMaster.Extensions.CommandLineUtilsnet 4.7.2Command-line apps1,120 / 1,120validated
SauceControl.Blake2Fastnet 4.6BLAKE2 hashing1,102 / 1,102validated
Verifynet 4.6.2Snapshot testing1,071 / 1,071validated
CsvHelpernet 4.8CSV parsing1,058 / 1,058validated
MailKitnet 4.6.2IMAP / SMTP / POP31,052 / 1,052validated
Bogusnet 4.0Fake-data generation1,051 / 1,051validated
SmartFormatnet 4.6.2String templating1,021 / 1,021validated
TimeZoneNamesnet 4.6.2Localized TZ names1,001 / 1,001validated
MessagePacknet 4.7.2MessagePack serializer997 / 997validated
YamlDotNetnet 4.7YAML serializer884 / 884validated
FluentValidationnet 4.6.1Validation813 / 813validated
Refitnet 4.6.2Typed REST client810 / 810validated
CommonMarknet 4.5Markdown (CommonMark)736 / 736validated
NCalcnet 4.6.2Expression evaluation718 / 718validated
CommandLineParsernet 4.6.1Command-line parsing684 / 684validated
Semvernet 4.5.2Semantic versioning665 / 665validated
QRCodernet 4.0QR-code generation644 / 644validated
MoonSharp.Interpreternet 4.5Lua scripting638 / 638validated
Colourfulnet 4.5Color science579 / 579validated
Serilognet 4.7Structured logging578 / 578validated
FileHelpersnet 4.5Delimited / fixed-width files558 / 558validated
Flurlnet 4.7.2HTTP / URL building542 / 542validated
ExcelDataReadernet 4.6.2Excel reading501 / 501validated
Statelessnet 4.6.2Workflow / state machines424 / 424validated
Jilnet 4.5Fast JSON serializer410 / 410validated
DiscUtils.Corenet 4.5Disk images / filesystems404 / 404validated
NodaMoneynet 4.5Money / currency391 / 391validated
Mono.Cecilnet 4.0IL metadata read / write353 / 353validated
ICSharpCode.SharpZipLibnet 4.5Compression / archives339 / 339validated
KellermanSoftware.Compare-NET-Objectsnet 4.6Object-graph comparison322 / 322validated
Rationalsnet 4.7Rational arithmetic317 / 317validated
Pipelines.Sockets.Unofficialnet 4.6.2Socket pipelines287 / 287validated
K4os.Compression.LZ4net 4.6.2LZ4 compression282 / 282validated
Lib.Harmonynet 4.5.2Runtime method patching276 / 276validated
EmailValidationnet 4.6.2Email validation269 / 269validated
DiffPlexnet 4.5Text diffing248 / 248validated
Ensure.Thatnet 4.6.2Guard clauses226 / 226validated
Utf8Jsonnet 4.5UTF-8 JSON serializer209 / 209validated
HtmlSanitizernet 4.6.2HTML sanitization198 / 198validated
ObjectDumpernet 4.8Object-graph dump192 / 192validated
LiteDBnet 4.5Embedded database186 / 186validated
zxcvbn-corenet 4.6.1Password-strength169 / 169validated
MiniProfiler.Sharednet 4.7.2Application profiling125 / 125validated
FluentFTPnet 4.6.2FTP client121 / 121validated
JsonSubTypesnet 4.6JSON polymorphism120 / 120validated
Sprachenet 4.5Parser combinators117 / 117validated
Namotion.Reflectionnet 4.6.2Reflection / XML docs116 / 116validated
Mono.TextTemplatingnet 4.7.2T4 templating112 / 112validated
Enums.NETnet 4.6.1Enum utilities111 / 111validated
DotNet.Globnet 4.5Glob matching110 / 110validated
GraphQL.Clientnet 4.6.1GraphQL client110 / 110validated
prometheus-netnet 4.6.2Metrics / Prometheus108 / 108validated
TimeZoneConverternet 4.6.2Timezone conversion101 / 101validated
JsonDiffPatch.Netnet 4.5JSON diff / patch93 / 93validated
LitJsonnet 4.5JSON serializer93 / 93validated
OptimizedPriorityQueuenet 4.5Priority queues89 / 89validated
HtmlAgilityPacknet 4.5HTML parsing85 / 85validated
TinyMappernet 4.0Object-to-object mapping81 / 81validated
Scrutornet 4.6.2DI assembly scanning80 / 80validated
Scientistnet 4.5.1Refactoring experiments76 / 76validated
DiffEnginenet 4.6.2Diff-tool launching74 / 74validated
Optionalnet 4.5Functional option type69 / 69validated
MarkdownSharpnet 4.0Markdown parser58 / 58validated
BCrypt.Net-Nextnet 4.6.2Password hashing (bcrypt)53 / 53validated
K4os.Hash.xxHashnet 4.6.2xxHash hashing42 / 42validated
Cyotek.Drawing.BitmapFontnet 4.8Bitmap-font parsing39 / 39validated
FastMembernet 4.6.1Fast reflection38 / 38validated
Otp.NETnet 4.6.1OTP / 2FA (TOTP/HOTP)37 / 37validated
FuzzySharpnet 4.6.1Fuzzy string matching37 / 37validated
Hashids.netnet 4.5ID obfuscation33 / 33validated
NGettextnet 4.6gettext localization30 / 30validated
Fastenshteinnet 4.6.2String distance28 / 28validated
NeoSmart.Unicodenet 4.6.1Emoji / Unicode25 / 25validated
Pluralize.NETnet 4.6Pluralization19 / 19validated
System.IO.Abstractionsnet 4.7.2Filesystem abstraction18 / 18validated
OneOfnet 4.5Discriminated unions11 / 11validated
ValueOfnet 4.8Value objects8 / 8validated
RandomDataGenerator.Netnet 4.5Random data6 / 6validated
Figglenet 4.5.2FIGlet ASCII-art text4 / 4validated
The proof point that matters

In one library, the modernized build initially diverged on a specific input — a genuine behavioral change introduced by the modern runtime, invisible at build time. ProvenPort detected it, pinpointed the cause, and restored the original behavior. That's the entire value proposition in a single case: a migration that doesn't just convert — it knows the behavior is identical.

Green tests aren't enough

A test suite only covers the inputs its authors imagined. ProvenPort verifies the behavior itself: on a library with 15,000+ passing tests, it independently surfaced behavioral changes the modern runtime introduced that those tests never exercised. "The tests are green" is necessary but not sufficient — "we measured that it behaves identically" is what actually lets you sign off the migration.

Market

Whoever owns a binary they can't afford to break.

Enterprises & ISVs

Financial, healthcare, industrial, and government systems carrying source-less .NET Framework components into a modern stack — under audit and compliance scrutiny.

Modernization & M&A

System integrators and acquirers who inherit undocumented binaries and need a defensible, evidence-backed path forward.

Migration is a board-level mandate with a hard deadline and no good options. ProvenPort is the option that comes with a receipt.

Author

Sébastien Lebreton

Principal Engineer working on Microsoft IDEs and developer tools. Creator of Reflexil, the widely-used .NET IL assembly editor. Co-founder of DataGalaxy. Two decades operating in exactly the domain ProvenPort requires — IL, decompilation, debuggers, and .NET runtime internals.

ProvenPort's advantage is not a clever prompt; it is accumulated, verifiable engineering in a domain most teams cannot enter.

The ask

Looking for design partners.

We're partnering with a small number of organizations that have source-less .NET Framework binaries on the critical path to modernization. You bring a real binary and its acceptance criteria; we deliver a modern build with a proof — and shape the product around your evidence requirements.

Become a design partner →

hello@provenport.ai