Jos teen visual basic illa salasanasuojauksen johonkin ohjelmaan, saako sen kryptattua jotenkin? Meinaan että normaalisti sen saa kräkättyä >1min..
Jos saa kertokaa vinkki tai jotain. :)
Mikään salaus tuskin on murtamaton, jos hakkeri on riittävän taitava. Mutta jos et kirjoita salasanaa aivan sellaisenaan lähdekoodiin, niin ei sitä kovin moni hakkeri saa selville.
Esim. jos salasana on "kissa", ei kannata kirjoittaa näin:
If salasana = "kissa" Then
Tällöin salasana selviää nimittäin tutkimalla käännetyn ohjelman koodia heksaeditorissa:
http://koti.mbnet.fi/pllk/muut/kissa.png
Saman koodin voi kirjoittaa vähän mutkikkaammin vaikka näin:
kaannetty = Chr(97) + Chr(115) + Chr(115) + Chr(105) + Chr(107) If StrReverse(salasana) = kaannetty Then
Nyt salasana muodostetaan väärinpäin merkkien koodeista (esim. kirjaimen "a" koodi on 97), ja salasanaa ei mitenkään näe suoraan käännetyn ohjelman koodia tutkimalla. Tietenkin riittävän taitava ja viitseliäs hakkeri saa tämänkin salasanan selville perehtymällä tarkasti ohjelman sisäiseen toimintaan, mutta ehkä 1 % hakkereista on riittävän taitavia ja 0 % riittävän viitseliäitä.
Kiitos, toimii. :)
Ps. Voisiko joku auttaa ton toisenkin kysymyksen kanssa? ;P
Mistäs tuollaisen heksaeditorin saa? o.O
Heksaeditori tulee esim. Notepad++ ohjelman mukana.
Heksaeditoreita löytyy Googlella hakusanoilla "hex editor" tai "hex editor windows".
Heksaeditori on ohjelma, jonka avulla näkee tarkasti, mitä tietoa tiedoston sisällä on.
Mitäköhän v*ttua..Ei toimi enää :O Teen just samalla lailla kun ennenkin...
koodii?
Private Sub cmdOK_Click()
'check for correct password
kaannetty = Chr(97) + Chr(115) + Chr(115) + Chr(105) + Chr(107)
If StrReverse(salasana) = kaannetty Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Form2.Show (Esimerkki...)
Else
MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End SubKai se jotenki noin meni..=o
Kooditagit?
Mulla toimi näin
Private Sub cmdOK_Click()
'check for correct password
kaannetty = Chr(97) + Chr(115) + Chr(115) + Chr(105) + Chr(107)
If StrReverse(txtpassword.text) = kaannetty Then
'place code to here to pass the
'success to the calling sub
'setting a global var is the easiest
LoginSucceeded = True
Me.Hide
Form2.Show (Esimerkki...)
Else
MsgBox "Invalid Password, try again!", , "Login"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
End SubEli StrReverse(salasana):n vaihtaa StrReverse(txtPassword.text):ksi.
Kerrohan mikä tuossa on salasana? txtpassword xD
Jaja, se heittää erroria "kaannetty" sanan kohdalla, sendaa koko perhanan rojekti mulle, jakke@jaakkoky.net
Muuttujat kannattaa kylläkin määrittää, eli Dim ja Option Explicit kehiin.
Jaaha, pitää kattoa..
MOI taas Jakke1!
tässä sulle vähän salasanasysteemiä...k
Kirjoittele salasana, klikkaa nappia & käy rekisterissä tsekkaamassa miltä näyttää (älä sulje ohjelmaa...) eli: Käynnistä -> Suorita -> kirjoita lootaan: regedit -> OK --> Muokkaa -> Etsi -> kirjoita lootaan: AndThisHasGotNothingToDoWithAnyOfThePassuCharacters -> OK ...siihen vasempaan lootaan kohdalla: value ilmestyy sun salasanas melko selväkielisenä...palaa nyt takas ohjelmaan, kirjoittele salasanas uudelleen ja klikkaa nappia...
'formille TextBoxi & nappi
Private rekkari As String
Private Sub Form_Load()
Me.Caption = "Salaword"
Command1.Caption = "Tallenna"
End Sub
Private Sub Command1_Click()
If Len(Text1.Text) > 2 Then
Dim passu As String
For i = 2 To Len(Text1.Text) - 1
passu = passu & CStr(CLng("&H" & _
CStr(Asc(Mid(Text1.Text, i, 1)) * 255)))
If i < Len(Text1.Text) - 1 Then passu = passu & "-"
Next i
Select Case Command1.Caption
Case "Tallenna"
rekkari = Hex$(CLng("&H" & Asc(Right(Text1.Text, 1))) _
* 65536) & _
"-" & Hex$(CLng("&H" & Asc(Left(Text1.Text, 1))) _
* 1048576) & "-" & passu
SaveSetting "ThisHasGotNothingToDoWithAnyPassu", _
"AndThisHasGotNothingToDoWithAnyOfThePassuCharacters", _
"value", rekkari
Command1.Caption = "Vertaa": Text1.Text = "": Exit Sub
Case "Vertaa"
Dim taulu() As String, passuData As String
rekkari = GetSetting("ThisHasGotNothingToDoWithAnyPassu", _
"AndThisHasGotNothingToDoWithAnyOfThePassuCharacters", "value")
taulu = Split(rekkari, "-")
Dim vertailu As String
For i = 2 To UBound(taulu)
vertailu = vertailu & Chr(Hex(taulu(i)) / 255)
Next i
vertailu = Chr(Hex(CLng("&H" & taulu(1)) / 1048576)) & _
vertailu & Chr(Hex(CLng("&H" & taulu(0)) / 65536))
If vertailu = Text1 Then MsgBox "Jee!"
Text1.Text = ""
Command1.Caption = "Tallenna": Exit Sub
End Select
End If
End Sub
Private Sub Form_Load()
Me.Caption = "Salawordi"
Command1.Caption = "Tallenna"
End SubSultahan tulee muuten pitiä koodeja, väi etitkö noi vaan netistä? =o
Aihe on jo aika vanha, joten et voi enää vastata siihen.