Hoi,
Ik heb een kleine uitleg geschreven waarom het onveilig is:
Stel je hebt een klein programma wat opslaat of er een gebruiker ingelogd is of niet in een boolean:
Form1:
[CPP]Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "Beheerder" Then
Form2.Beheerder = True
Form2.ShowDialog()
ElseIf TextBox1.Text = "Gebruiker" Then
Form2.Beheerder = False
Form2.ShowDialog()
End If
End Sub
End Class
[/CPP]
Form2:
[CPP]Public Class Form2
Public Beheerder As Boolean = False
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Beheerder = True Then
MsgBox("Beheerders rechten!")
Else
MsgBox("Geen beheerders rechten!")
End If
End Sub
End Class[/CPP]
Dan open je het programma, start je een 'hack'-programma op en ga je op zoek naar de geheugenplek die bijhoudt wat de waarde van 'Beheerder' is. Dat kost wat moeite, maar in mijn geval was dat adres "02925178". Als ik dan inlogde als "Gebruiker" en die geheugenplek van 0 naar de 1 veranderde, 'dacht' het programma dat ik een beheerder was.
Kijk maar:

(Ik heb de waarde aangepast in het achtergrond programma en ondertussen geen codes aangepast. Je zal me daarvoor op mijn woord moeten geloven.)
Ik hoop dat ik duidelijk heb gemaakt wat ik bedoelde. Het komt erop neer dat alleen een boolean om bij te houden dat iemand wel of geen beheerder is vrij makkelijk te omzeilen is... Deze truc werkt (denk ik) niet als je gewoon verschillende forms hebt voor beheerders en 'normale' gebruikers. Dan nog steeds zullen er wel manieren zijn om het te omzeilen, maar die zijn dan waarschijnlijk wel al ingewikkelder.
MartinJM