Evo kompletan program u Visual basicu za zastitu programa od kopiranja, uradjen preko XOR komande koja sifrira serijski broj diska sa nekim slovima npr . "rgdrajko". Ovo je sastavni deo programa "Autotestovi za polaganje vozackog ispita" ciji sam deo koda dao na ovom forumu.
Deo koda iz prikljucenog zip fajla sa kompletnim kodom:
Public Sub SifriranjeSerijskogBrojaCD()
Dim sastserijskibrojCDdiskaod10cifara As String
Dim sifraod10cifara As String
Dim rezultat As Integer
Dim rezultatstring As String
Dim sifriraniseriskibrojCDdiskaodpreko20cifara As String
On Error GoTo greska
'slovoCD = Left(App.Path, 1)
slovoCD = Left(txtDisk.Text, 1)
decimalniserijskibrojCDdiska = GetSerialNumber(slovoCD + ":")
lblDecSerijskiBrojDiska.Caption = decimalniserijskibrojCDdiska
heksadecimalniserijskibrojCDdiska = Hex(decimalniserijskibrojCDdiska)
lblHexSerijskiBrojDiska.Caption = heksadecimalniserijskibrojCDdiska
sastserijskibrojCDdiskaod10cifara = heksadecimalniserijskibrojCDdiska & Left(decimalniserijskibrojCDdiska, 2)
lblsastserijskibrojCDdiskaod10cifara.Caption = sastserijskibrojCDdiskaod10cifara
sifraod10cifara = Chr(vbKeyR) & Chr(vbKeyG) & Chr(vbKeyD) & Chr(vbKeyR) & Chr(vbKeyA) & Chr(vbKeyJ) & Chr(vbKeyK) & Chr(vbKeyO) & Chr(vbKeyG) & Chr(vbKeyO)
lblSifraod10znakova.Caption = sifraod10cifara
'Sifriranje seriskog broja diska sa sifraod10cifara
sifriraniseriskibrojCDdiskaodpreko20cifara = ""
For n = 1 To 10
rezultat = Asc(Mid(sastserijskibrojCDdiskaod10cifara, n, 1)) Xor Asc(Mid(sifraod10cifara, n, 1))
rezultatstring = Hex(rezultat)
If Len(rezultatstring) < 2 Then
rezultatstring = "0" & Hex(rezultat)
End If
sifriraniseriskibrojCDdiskaodpreko20cifara = sifriraniseriskibrojCDdiskaodpreko20cifara & rezultat
Next n
lblsifriraniseriskibrojCDdiskaodpreko20cifara.Capt ion = sifriraniseriskibrojCDdiskaodpreko20cifara
Text1.Text = Mid(sifriraniseriskibrojCDdiskaodpreko20cifara, 1, 7)
Text2.Text = Mid(sifriraniseriskibrojCDdiskaodpreko20cifara, 8, 7)
Text3.Text = Mid(sifriraniseriskibrojCDdiskaodpreko20cifara, 15, 7)
Text4.Text = Mid(sifriraniseriskibrojCDdiskaodpreko20cifara, 22)
Exit Sub
greska:
lblDecSerijskiBrojDiska.Caption = ""
lblHexSerijskiBrojDiska.Caption = ""
lblsastserijskibrojCDdiskaod10cifara.Caption = ""
lblsifriraniseriskibrojCDdiskaodpreko20cifara.Capt ion = ""
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Exit Sub
End Sub
Kompletan izvorni kod:
https://www.mycity.rs/must-login.png
|