2017-10-09 54 views
-1

这是一个比特定的问题,但在我的情况下,我有一个程序,我被给了,但不幸的是它已经坏了。 (它以前工作,这是前一阵子)如何修改现有程序?

该程序是一个C#WPF .exe,但我只是学习编程,我不知道如何解决它。我可以查看它背后的代码,我想,当我反编译它(dotPeek,但似乎只读)时,但我不知道如何编辑和重新编译程序以像以前一样工作。我尝试了谷歌搜索,但我不确定哪些条款可以回答这个问题,而我用过的则证明没有结果。

文艺青年最爱的 - 如何修改程序(特别是C#WPF的.exe)从@PaulF

+2

_”如何修改程序(尤其是C#WPF .exe)“_您需要获取该程序的源代码/项目。很可能,从反编译修复它最终会比编写它从头开始。 – Fildor

+0

另一个问题是:什么是错误?可以通过适当的配置来修复吗?你有代码的所有权?如果它不是您的代码并且是封闭源代码,那么在对其进行逆向工程时,您甚至可能会遇到许可证问题。 – Fildor

+3

程序不会自行破坏 - 除了被破坏 - 如果是这种情况,那么反编译将无法正常工作。所以你需要了解它为什么停止工作 - 反编译和重新编译很可能不起作用。从工作时间到停止工作时(可能是操作系统版本或PC)发生了什么变化?你能回到它正在工作的状态吗? – PaulF

回答

2

汇集各方意见:

程序不倾向于打破他们自己的协议 - 超越入门损坏 - 如果那么情况下,反编译将无法正常工作。因此,您需要了解为什么它停止工作 - 反编译&重新编译可能无效。从工作时间到停止工作时(可能是操作系统版本或PC)发生了什么变化?你能回到它正在工作的状态吗?

如果这不是问题,那么:

你有访问源代码?否则,如果不重写它并重新部署它,那么它就无法工作,这不是件坏事。然后你将能够获得源代码并希望能够控制它。

dotPeek允许您查看反编译的代码,但您无法安全地对文件执行任何操作。

这些都是你的只有三种选择:

  1. 弄清楚什么依赖性/配置已更改
  2. 获取源和修改
  3. 重新写
+1

如果源代码不可用,还有其他几个工具在这里提到,我没有使用过,所以不能告知它们的性能如何:https://reverseengineering.stackexchange.com/questions/77/is-there-any三通到反编译-一个净组装或程序 – PaulF