TypeConfuseDelegateNetFx35
gadget
CLR2-only: supports .NET Framework 3.5 and does not support CLR4 or later. Runs Process.Start(string, string) by rebuilding CLR 2's Array.FunctorComparer<string> through Workflow ObjectSerializedRef and triggering it from TreeSet<string>. The SOAP form is a direct List<object>/TreeSet<string> document: only the internal comparer reconstruction uses ObjectSerializedRef, with no outer surrogate carrier or nested BinaryFormatter stream. The payload names CLR-v2 framework identities automatically; an explicit --legacyfx is redundant. The target needs System.Core 3.5 and System.Workflow.ComponentModel. NetDataContractSerializer is not supported: its CLR-2 reader rejects the graph because ObjectSerializedRef's required memberDatas member is missing. On .NET Framework 4.8.1 the Workflow object reference rejects this CLR-2 reconstruction with ArgumentException before the sink. A local --test is therefore routed automatically to the separately shipped .NET Framework 3.5 / CLR2 process; --testclr2 selects it explicitly.
Declared metadata, not a runtime result. How to read evidence.
.\ysonet.exe -g TypeConfuseDelegateNetFx35 -hTarget declarations
| Variant | Formatters | Inputs | Requirements | Runtime tokens |
|---|---|---|---|---|
| Default | BinaryFormatter, SoapFormatter, LosFormatter | command | built-in, net-framework | net-fx-3.5 |
No module-specific options declared.
Credit: [Finders: James Forshaw] [Contributors: Soroush Dalili]