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 Sub
Kai 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 Sub
Eli 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 Sub
Sultahan tulee muuten pitiä koodeja, väi etitkö noi vaan netistä? =o
Aihe on jo aika vanha, joten et voi enää vastata siihen.