在.net程序中,如果要停止Web调试代理通过将IE / Edge代理端口设置为自身来捕获来自程序的请求,则可以使用App.config将默认代理设置为false。通过这种方式,我们可以在某种程度上保护内部机制。 但是,如果用户想要破解程序具有CS的基本知识,则该配置是裸露的,用户可以轻松更改它。那么,是否有必要将其放入代码内部,以便黑客必须将其反编译以进行黑客攻击?
答案 0 :(得分:0)
不要。出于几个原因(至少):
相反,只需加密您的流量即可(如果您使用的是Web服务,请使用HTTPS)。然后,即使它通过代理或网络嗅探器,也仍然无法读取。
答案 1 :(得分:0)
正如加布里埃尔(Gabriel)所述,只需不要将代理设置指定为硬编码即可。 如果需要安全性,请找到一种以未知格式序列化数据的方法。
因此,无论如何都可以在代码内部添加它,以便黑客必须进行反编译以进行黑客攻击
除非使用某些其他步骤,否则可以使用ildasm.exe轻松查看DLL的源。请看一看- How can I protect my .NET assemblies from decompilation?。
如果使用的是:WebRequest类请查看WebRequest.DefaultWebProxy属性,将其设置为null不会使用任何代理。 https://docs.microsoft.com/en-us/dotnet/api/system.net.webrequest.defaultwebproxy?view=netframework-4.7.2#System_Net_WebRequest_DefaultWebProxy
如果计划使用HttpClient类-您可能需要传递自定义处理程序,WebRequestHandler应该通过将UseProxy设置为false来完成这项工作。https://docs.microsoft.com/en-us/dotnet/api/system.net.http.webrequesthandler?view=netframework-4.7.2
更新: 添加注释,使其无法发表评论:在代理服务器的情况下,即使HTTPS流量也可以轻松解密。