Well this question may seem odd but it\'s simple - my point is if i have a \"goto\" (brtrue etc) in the decompiled code like example
br IL_0003
call *****
IL
Yes, Cecil will update the branch for you.
The only case you have to take care of, is the case where the branch is a short form branch. If you inject too much instructions, it might overflow.
There's a very simple way to handle this. Before injecting code, simply call the extension methods SimplifyMacros from the Mono.Cecil.Rocks, like this:
method.Body.SimplifyMacros ();
This will turn the br.s into br.
And when you're done injecting code, simply call:
method.Body.OptimizeMacros ();
Which is the opposite operation, that is, it will try to turn br into br.s if possible.