這個(gè)應(yīng)該沒(méi)法比,delphi .net 就是delphi , vb.net 也就是VB

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到仁布網(wǎng)站設(shè)計(jì)與仁布網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋仁布地區(qū)。
一般來(lái)說(shuō),VB因?yàn)槭俏④浀漠a(chǎn)品與windows 結(jié)合緊密一些,開(kāi)發(fā)一般病毒可能簡(jiǎn)單點(diǎn)..甚至一般的VB腳本都可以對(duì)系統(tǒng)產(chǎn)生威脅...但如果對(duì)較高層次的病毒,限于VB自身限制可能有點(diǎn)難度..
而DELPhi 因?yàn)槿绻斫馍钊牒?編制病毒也很容易,另外,DELPHI 可以對(duì)內(nèi)存/指針/等底層進(jìn)行很容易讀寫(xiě),還可以嵌入?yún)R編..編制高級(jí)病毒是可行了.....
不過(guò),沒(méi)有不好的工具,只有垃圾的人......原理明白后,所謂語(yǔ)言只是實(shí)現(xiàn)罷了...
注冊(cè)碼很好做啊 利用現(xiàn)在成熟的加密解密技術(shù) 很不容易破解的 但現(xiàn)在的.net時(shí)代 問(wèn)題的關(guān)鍵不在這里 而是在如何加密自己的軟件不讓反編譯 看看現(xiàn)在的.net軟件 就算使用了亂碼器 都好容易被反編譯出來(lái) 只要被反編譯 就會(huì)刪掉你程序的注冊(cè)功能部分 然后再重新編譯 就可以無(wú)需注冊(cè)正常使用了 根本就不用去破解你那深?yuàn)W的注冊(cè)碼!
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 調(diào)試通過(guò)
VB.NET的程序很容易反編譯的,所以寫(xiě)到類(lèi)中好像并不安全
建議
1.用戶登錄所使用的賬戶的權(quán)限一定要控制好
2.可以把連接字符串硬編碼到exe或者dll中,然后用.NET的混淆軟件加密混淆(一定要選擇加密字符串)
3.使用其他的技術(shù)使用戶間接操作數(shù)據(jù)庫(kù)。可以在服務(wù)器遠(yuǎn)程建立一個(gè)服務(wù)器(接受Sockets連接),或者建立一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)。讓用戶連接到這些客戶端,發(fā)送一些指令,對(duì)數(shù)據(jù)庫(kù)的查操作由這個(gè)服務(wù)器上的程序代它完成,然后把結(jié)果給用戶
vb.net code注意隨機(jī)密碼按鈕在沒(méi)用,調(diào)試時(shí)你自己輸入密碼,一定為8位,我是將文件存在D盤(pán),你自己在修改一下,那個(gè)就很簡(jiǎn)單
Imports System.IO
Imports System.Security.Cryptography
Imports System.Text
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sSecretKey As String = Me.TextBox2.Text
EncryptFile(Me.TextBox1.Text, "D:\JMtest.txt", sSecretKey)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sSecretKey As String = Me.TextBox2.Text
DecryptFile("D:\JMtest.txt", "D:\Decrypted.txt", sSecretKey)
End Sub
Sub EncryptFile(ByVal sInputFilename As String, ByVal sOutputFilename As String, ByVal sKey As String)
Dim fsInput As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
Dim fsEncrypted As New FileStream(sOutputFilename, FileMode.Create, FileAccess.Write)
Dim DES As New DESCryptoServiceProvider
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey)
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
Dim desencrypt As ICryptoTransform = DES.CreateEncryptor()
Dim cryptostream As New CryptoStream(fsEncrypted, desencrypt, CryptoStreamMode.Write)
Dim byteArrayInput(fsInput.Length - 1) As Byte
fsInput.Read(byteArrayInput, 0, byteArrayInput.Length)
cryptostream.Write(byteArrayInput, 0, byteArrayInput.Length)
cryptostream.Close()
End Sub
Sub DecryptFile(ByVal sInputFilename As String, ByVal sOutputFilename As String, ByVal sKey As String)
Dim DES As New DESCryptoServiceProvider
DES.Key() = ASCIIEncoding.ASCII.GetBytes(sKey)
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey)
Dim fsread As New FileStream(sInputFilename, FileMode.Open, FileAccess.Read)
Dim desdecrypt As ICryptoTransform = DES.CreateDecryptor
Dim cryptostreamDecr As New CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read)
Dim fsDecrypted As New StreamWriter(sOutputFilename)
fsDecrypted.Write(New StreamReader(cryptostreamDecr, System.Text.ASCIIEncoding.Default).ReadToEnd)
fsDecrypted.Flush()
fsDecrypted.Close()
End Sub
Private Sub BtnChoose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnChoose.Click
OpenFileDialog1.FileName = ""
OpenFileDialog1.Filter = "txt files (*.txt)|*.txt"
OpenFileDialog1.ShowDialog()
If OpenFileDialog1.FileName "" Then
Me.TextBox1.Text = OpenFileDialog1.FileName
End If
End Sub
End Class
將以下代碼保存到模塊中:
Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileStringByKeyName Lib "kernel32" Alias _
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
Public Function GetIniParam(NomFichier As String, NomSection As String, NomVariable As String) As String
Dim ReadString As String * 255
Dim returnv As String
Dim mResultLen As Integer
mResultLen = GetPrivateProfileString(NomSection, NomVariable, "(Unassigned)", ReadString, Len(ReadString) - 1, NomFichier)
If IsNull(ReadString) Or Left$(ReadString, 12) = "(Unassigned)" Then
Dim Tempvalue As Variant
Dim Message As String
Message = "配置文件 " NomFichier " 不存在."
returnv = ""
Else
returnv = Left$(ReadString, InStr(ReadString, Chr$(0)) - 1)
End If
GetIniParam = returnv
End Function
Public Function WriteWinIniParam(NomDuIni As String, sLaSection As String, sNouvelleCle As String, sNouvelleValeur As String)
Dim iSucccess As Integer
iSucccess = WritePrivateProfileStringByKeyName(sLaSection, sNouvelleCle, sNouvelleValeur, NomDuIni)
If iSucccess = 0 Then
WriteWinIniParam = False
Else
WriteWinIniParam = True
End If
End Function
調(diào)用方法:
Call WriteWinIniParam(App.Path "\LiveUpdate.ini", "LiveUpdate", "AppName", txtAppName.Text)
txtFile.Text = GetIniParam(App.Path "\LiveUpdate.ini", "LiveUpdate", "FILES1")
名稱(chēng)欄目:vb.netdes安全,vbs 安全
鏈接URL:http://chinadenli.net/article40/dsgcjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站排名、自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)