这是一个两部分问题。但它都与同样的事情有关。
我想使用应用的IL代码来应用补丁。我想知道什么是正确的方法。显然我可以反编译它并读取和编辑il代码文件然后重新编译。但有没有办法在文件中将其作为msil代码读取。并且可能实时编辑它。
我试图编辑可执行文件的反编译代码。但每次我重新编译它都会导致执行问题。就像它再也找不到它的切入点了。我该如何计算?我猜我需要知道命令及其参数的长度,或者使入口点成为Label或其他东西。如果有像这样的Visual Studio模板,我会很高兴。
答案 0 :(得分:6)
作为已经多次阅读ECMA-335规范的人和以两种不同的语言实现了CLI图像加载器(在一次完整的IL分析中),我会说这会对我来说仍然是一项挑战性的任务。我这样说是因为看起来两者都是1)你没有这样做2)你正在寻找一个简单的答案。规范绝对应该是你的起点。
minimal 程序将是:
编辑:这不会让您不必了解.NET程序集的详细结构,但它可以节省您在实际实现中的一些时间,并帮助您将混淆器逻辑与加载器完全分离。
答案 1 :(得分:1)