run_il_simplification
Apply IL simplification passes (constant folding, dead branch elimination, opaque predicate evaluation, string decryption) to a .NET method for optimized intermediate language code.
Instructions
Run a d810-ng-style IL simplification pass set on one method.
Currently supported passes:
constant_fold— replace arithmetic on constants with the constant result.dead_branch_elim— remove branches that are provably dead after constant folding.opaque_predicate_eval— evaluate predicates whose truth is provable from prior dataflow.string_decrypt— replaceldstr; call Get<name>(); retpatterns with the literal string. The decryption function name is auto-detected from the assembly's #Strings heap.
Args:
path: path to a .NET assembly
method_fqn: "Namespace.Type::MethodName"
passes: optional override; default is
["constant_fold", "dead_branch_elim",
"opaque_predicate_eval", "string_decrypt"].
Returns::
{
"path": "...",
"method_fqn": "...",
"passes_applied": [...],
"before_il_size": N,
"after_il_size": M,
"il_before": "...",
"il_after": "..."
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| method_fqn | Yes | ||
| passes | No |