VB.NET的程序很容易反编译的,所以写到类中好像并不安全
牧野网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
建议
1.用户登录所使用的账户的权限一定要控制好
2.可以把连接字符串硬编码到exe或者dll中,然后用.NET的混淆软件加密混淆(一定要选择加密字符串)
3.使用其他的技术使用户间接操作数据库。可以在服务器远程建立一个服务器(接受Sockets连接),或者建立一个动态网页。让用户连接到这些客户端,发送一些指令,对数据库的查操作由这个服务器上的程序代它完成,然后把结果给用户
.net软件加密锁,可试试德国的威步,威步(WIBU)信息系统的软件加密狗,还能申请免费试用版。
加密锁:威步(WIBU)的CodeMeter,AxProtector(for.net)两款软件加密锁性能非常不错
混淆的问题,与传统的代码混淆工具(Obfuscator)不同,AxProtector可以完全阻止对.NET 程序集(由 C#, VB.NET, Delphi.NET, ASP.Net… 等语言编写)的反编译。通俗的讲,AxProtector在破解者和您的 .NET 代码之间构建了强大的防破解保护屏障,生成一个基于 Windows 的而不是基于 MSIL 的兼容格式文件。原始的 .NET 代码完整的被加密后封装在本地代码内,无论何时都不会释放到硬盘,对于破解者是不可见的。
与单纯的.net加密软件不同,AxProtector与CodeMeter硬件加密狗配套餐使用,采用了更为严密的密钥管理,及最先进的AES、RSA、ECC等加密算法存储或传输密钥,保证通讯安全。
.Net代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的.class 文件可以非常轻易地被反编译。一般软件开发商会采用一种叫做混淆器的工具。混淆器的作用是对编译好的代码进行混淆,使得其无法被反编译或者反编译后的代码混乱难懂。由于混淆器只是混淆了方法名称或流程,而不能防止源代码被反编译,因此混淆器的作用只是增加了反编译的难度,最终的结果也是治标不治本。对于一些掌握工具的人来说几乎还是透明的。AxProtector是一款真正意义的加密源代码、防止反编译的.net软件加密软件。
AxProtector加密了.net原代码,任何时候原代码都不可能被还原到硬盘当中。采用AxProtector加密后的.net代码只有在程序调用或执行某一段函数的时候,才能通过AxProtectorClass在内存中解密后返回到程序中执行,运行之后迅速立即加密。这种随机加密、按需解密原代码的功能,能很好的防止.Net程序的反编译,同时能够很好地防止API加密点被摘除。有效地保证了源代码的执行效率和安全性。
微软的 InstallShield 2011
打包注册表项,运行库,程序文件.....
{最好在XP-X86 环境下打包,上下兼容}
PS:其实自己也能做,就像读取文本再写进去过程中加下密,
就像RAR,然后利用一个可执行程序进行解压{俗称-安装,术语-封装}
在文库里搜索一下 封装教程 内容更多
建议和 加壳 一起学,
Private Function myEncrypt(ByVal Code As String) As String
Dim Result As String = ""
Dim CurrentChar As Char
For i As Integer = 0 To Code.Length - 1
CurrentChar = Code.Substring(i, 1)
Select Case Code.Substring(i, 1)
Case "Z"
Result = "a"
Case "z"
Result = "A"
Case Else
Result = Chr(Asc(CurrentChar) + 1)
End Select
Next
Return Result
End Function
'vb.net 2005 调试通过
如果是vb 的话,基本没有必要加壳,因为vb是不能反编译的,反编译出来的都是汇编码,破解的话不比重写一个新的简单多少。
vb.net可以反编译,一般都是混淆器,.net加壳很多都会不稳定,慎用。
无论加不加壳,代码带内存中运行都是一样的,都可以通过内存调试的方式破解。
最安全的加密方式是虚拟机,基本上无解,不过,代价嘛。。。。。。
vb.net的最新版本号是2010,和VB有很大不同,基本上你可以把它看成是全新的语言,VB6不再升级了,如果把VC作为一个成熟的语言,那么VB.NET和VC.NET是同等地位,而VB6只能算是一个玩具,仅仅作为培训对编程的认识有用。