Open AnErrupTion opened 3 years ago
I cannot really reproduce this error without also knowing what the changes are that you made in the previous stages.
Also as a reminder (for all readers), OldRod is not going to support mods out of the box. Substantial architectural changes will break OldRod.
I did not make a lot of changes, mostly changing the Koi stream name, changing VMEntry detection and adding a check in the VisitCompilationUnit. I guess you'd need the source of my modified OldRod, I'll upload it when I can.
that look like chines koi to me
Describe the bug I'm trying to decompile a modded KoiVM. I've already modified the code for the earlier steps (like the Koi stream and VMEntry type detection) to work. However there's one last problem at the IL to CIL recompiler. At one point, every (or almost every) recompilation of "initial CIL AST"s will fail, resulting in a "The given key is missing from the dictionary" error. When using the
--salvage
option, at the end of everything there are exactly 546 errors, all of which seem to be that same dictionary error.To Reproduce Here's the binary file I'm trying to decompile : Brain.zip
Expected behavior I'm expecting OldRod to recompile the executable without any problems (I do expect warnings but no errors, or very minor errors), but this clearly isn't the case.
Screenshots
Additional context I don't know if this will help, but I've modified some function (in the same stage, IL to CIL recompiler) that also failed the recompilation. It was an
IndexOutOfRangeException
(or something like that) about getting the signature index by index of a parameter (I think it was in theVisitCompilationUnit
function), and I simply added a condition to break if the parameter index is less or equal to 0. I also don't have a deep knowledge of (C)IL or stuff like that, so any help is appreciated.