如何在winforms应用程序中隐藏我的服务器IP变量

Sol*_*ake 1 c# string obfuscation winforms

在C#winforms应用程序中隐藏/保护包含我的服务器IP地址的字符串的最佳方法是什么?

这是事情,为了激活我创建的应用程序,用户应填写一些包含用户名和密码文本框的表单,然后连接到我的服务器以验证他输入的详细信息.

现在我想要的是隐藏/保护或者以某种方式加密包含服务器地址的字符串,因此没有人可以实际更改/访问它或者至少使它很难被反转..这可能吗?

我不确定我是否清楚这个问题,但我希望你们有这个想法......

Ben*_*igt 7

这是一种荒唐的做法.通过默默无闻的安全性开始时非常弱,并且您连接的IP地址不仅会显示在源代码中,还会显示在传出数据包,防火墙日志,连接表,数据包捕获等中.

隐藏连接的对等IP地址是一个很大的兴趣领域,并导致诸如洋葱路由之类的技术.隐藏源代码中的地址是您最不担心的问题.当您使用洋葱路由时,目标IP地址甚至不会出现在您的源代码中,只会出现一些仅对下一跳洋葱路由器有意义的cookie,因此混淆源代码变得不成问题.


编辑:基于评论,现在很清楚,所需要的是验证发送响应的远程计算机的身份.有很多方法可以实现这一点,但保护源代码不是其中之一.IP地址可以很容易地被欺骗.存储在应用程序二进制文件中的公钥可以被覆盖,也可以完全绕过验证码.

实际上,您需要程序中的一些重要功能不包含在安装程序中,而是作为身份验证过程的一部分下载(如果身份验证失败,服务器可以选择不发送它).响应可能会被盗,并且无需身份验证即可用于激活其他安装,但这只能由能够有效验证至少一次的人员完成.

如果您对此感到担心,那么您需要使用隐写术在响应中编码客户端的身份.然后,当非法副本开始出现时,您知道哪个有效用户制作了第一个副本.

或者将软件的专有部分保留在服务器上,不要将它们下载到客户端.这是最安全的方法.