dnpatch
dnpatch copied to clipboard
[Wrong code in release] PatchHelper / GetInstructions
Hello i found a bug in PatchHelper.GetInstructions
its suposed to return Instruction[] and anyway no matter how hard i tried it was always returnign me an exception that i cannot cast IList<Instruction> to Instruction[]
so my quick workaround was to edit it from this code below
public Instruction[] GetInstructions(Target target)
{
TypeDef type = this.FindType(target.Namespace + "." + target.Class, target.NestedClasses);
MethodDef methodDef = this.FindMethod(type, target.Method, target.Parameters, target.ReturnType);
return (Instruction[])methodDef.Body.Instructions;
}
into this one
public Instruction[] GetInstructions(Target target)
{
TypeDef type = this.FindType(target.Namespace + "." + target.Class, target.NestedClasses);
IEnumerator<Instruction> enumerator = this.FindMethod(type, target.Method, target.Parameters, target.ReturnType).Body.Instructions.GetEnumerator();
List<Instruction> list = new List<Instruction>();
while (enumerator.MoveNext())
{
Instruction item = enumerator.Current;
list.Add(item);
}
return list.ToArray();
}
if someone of you have some time please apply it to new release THANKS :) it will deffenetly help others Hope you guys are doing well!!!
PS. i was checking dnpatch.zip and dnlib.zip release files as i remember