vb.net – 编译的exe中的硬编码字符串可以改变吗?

假设您的应用中有一些带有硬编码字符串的代码.

If somevalue = "test123" Then

End If

编译应用程序后,是否有人可以修改.exe文件并将“test123”更改为其他内容?如果是这样,它只会在字符串包含相同数量的字符时才有效吗?

最佳答案 这是可能的,但不一定是直截了当的.例如,如果您的字符串已加载到内存中,则有人可以使用内存管理器工具直接修改字符串地址的值.

或者,他们可以反编译您的应用程序,更改字符串,并重新编译它以使用新字符串创建新程序集.但是,这是否可能发生取决于您的应用程序以及更改该字符串的重要性.

您可以使用混淆器来使其更难做,但最终,一个坚定的破解者将能够做到这一点.问题是该字符串是否足够重要,如果是这样,可能会考虑另一种方法,例如使用Web服务来提供字符串.

点赞