Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Salasanan kryptaus (VB6)

Sivun loppuun

Jakke1 [10.11.2007 15:02:01]

#

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. :)

Antti Laaksonen [10.11.2007 16:25:51]

#

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ä.

Jakke1 [10.11.2007 18:46:54]

#

Kiitos, toimii. :)


Ps. Voisiko joku auttaa ton toisenkin kysymyksen kanssa? ;P

Jakke1 [12.11.2007 12:01:05]

#

Mistäs tuollaisen heksaeditorin saa? o.O

nörtti [12.11.2007 13:07:12]

#

Heksaeditori tulee esim. Notepad++ ohjelman mukana.

Antti Laaksonen [12.11.2007 20:17:51]

#

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.

Jakke1 [01.12.2007 22:36:57]

#

Mitäköhän v*ttua..Ei toimi enää :O Teen just samalla lailla kun ennenkin...

Newb [03.12.2007 16:05:05]

#

koodii?

Jakke1 [04.12.2007 18:06:21]

#

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

Newb [04.12.2007 21:50:05]

#

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.

Jakke1 [14.12.2007 00:56:07]

#

Kerrohan mikä tuossa on salasana? txtpassword xD

Jaja, se heittää erroria "kaannetty" sanan kohdalla, sendaa koko perhanan rojekti mulle, jakke@jaakkoky.net

Merri [14.12.2007 02:14:20]

#

Muuttujat kannattaa kylläkin määrittää, eli Dim ja Option Explicit kehiin.

Jakke1 [14.12.2007 02:45:19]

#

Jaaha, pitää kattoa..

neau33 [15.12.2007 21:02:45]

#

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: AndT­his­Has­Got­Nothing­To­Do­With­Any­Of­The­Passu­Characters -> 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

Jakke1 [16.12.2007 17:00:43]

#

Sultahan tulee muuten pitiä koodeja, väi etitkö noi vaan netistä? =o


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta