Hacker gesucht!

  • Hallo, einer von euch hatte die Idee mit der Fensterliste... Ich habs geschafft, Wenn sich ein neues Fenster öffnet geht der PC aus :D

    Es ist ziemlich "agressiv"... Hier ist mal nur die Engine, damit es geht muss man es anmachen, es startet noch nicht automatisch... Eben nur um mal den Code anzugucken...
    Damit es geht müsst ihr noch mit dem Autoit-befehl driveGetSerial (..) herausfinden wie die Serial von eurem stick ist...

    Und noch was ganz wichtiges: Wozu ist diese Tool überhaupt da???

    Es soll den zweck haben das ihr einen USB-STICK wie einen Schlüssel benutzen könnt.
    (Rechner geht an, wenn ihr nicht den passenden Stick einsteckt wird er mit einem großen Fenster verpserrt...)


    Die benötigete Data.ini (Ihr müsst sie "per Hand" noch ausfüllen...)
    Data.ini

    Spoiler anzeigen


    data.ini


    Erklärungen:
    Serial.........Die serial nummer müsst ihr mit DriveGetSerial herausfinden und hier eintragen...
    methode........Das was passiert wenn ein Fenster geöffnet wird....Methoden wie in den Batch-skripten:


    Herunterfahren Neustarten abmelden
    -s -r alles andere... z.B.: digjghigkm Wäre das gleich wie log off... ;)

    letter........Der Laufwerksbuchstabe des Sticks (Du findest ihn unter Arbeitspaltz)

    Ich bin natürlich dabei ein Tool zu schreiben welches dashier automatisch übernimmt xD

    Viel spaß, Das Schwert!!!


    [ops]
    serial=469949998
    methode=log off
    letter=I:

    Der Code

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #include <Array.au3>
    #include <String.au3>
    HotKeySet ("Q", "_exist") ;!!!!!!!! Unbedingt vor veröfentlichung löschen!!!!!!!;;;;;Dient nur als not-aus für Testphase
    If IniRead ("data.ini", "ops", "password", "False") == "True" Then HotKeySet ("^p", "pwd")
    $ini = IniRead ( "data.ini", "ops", "serial", "noser" )
    $letter = IniRead ("data.ini", "ops", "letter", "nole")
    If $letter = "nole" Then
    MsgBox (0, "Fehler!", "Kein Laufwerk-buchstabe angegeben!")
    Exit
    EndIf
    If IniRead ("data.ini", "ops", "methode", "0") == "-s" Then
    $methode = 4
    ElseIf IniRead ("data.ini", "ops", "methode", "0") == "-r" Then
    $methode = Shutdown (2)
    Else
    $methode = 0
    EndIf
    _trystart ()
    Func _trystart ()
    If $ini = "noser" Then
    MsgBox (0, "Fehler!", "Keine Serial-nummer definiert!")
    Exit
    EndIf
    $drive = DriveGetSerial ($letter)
    If $drive = $ini Then _exist ()
    _nodrive ()
    EndFunc
    Func pwd ()
    If InputBox ("Security system", "Geben sie das Passwort ein!", "", "*") == _StringEncrypt (0, IniRead ("data.ini", "ops", "pwd", ""), "pwdpasswort") Then
    _exist ()
    EndIf
    EndFunc
    Func _exist ()
    $drive = ""
    If WinExists ( "Security" ) Then WinClose ( "Security" )
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _nodrive ()
    #Region ### START Koda GUI section ### Form=C:\Programme\AutoIt3\Extras\FD\Forms\Security v2.kxf
    $Form1 = GUICreate("Security", @desktopwidth, @desktopheight, 0, 2, $WS_POPUP)
    $Label1 = GUICtrlCreateLabel("Security alert: No acces to system!", 304, 320, 682, 54)
    GUICtrlSetFont(-1, 26, 400, 0, "Arial Black")
    $again = GUICtrlCreateButton("Try-again", 0, 712, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    GUISetStyle ( $WS_POPUP, $WS_EX_TOPMOST )
    $list = WinList ()
    While 1
    $list2 = WinList ()
    If WinExists ("Windows Task-Manager") Then Shutdown ($methode)
    If $list[0][0] <> $list2[0][0] Then
    If WinExists ("", "Dieser Datenträger bzw. das Gerät enthält Inhalte verschiedener Typen.") Then WinClose ("", "Dieser Datenträger bzw. das Gerät enthält Inhalte verschiedener Typen.")
    ContinueLoop
    Exit
    ;Shutdown ($methode) Achtung! Zu testzwecken deaktiviert... Bitte bei "echter" Benutzung wieder aktivieren
    EndIf
    If Not WinActive ( "Security" ) Then WinActivate ( "Security" )
    GUISetState (@SW_MAXIMIZE)
    If GUIGetMsg () = $again Then _trystart ()
    _MouseTrap ( 0, 0, @desktopwidth, @DesktopHeight - 50)
    WEnd
    EndFunc

    [/autoit]


    Viel spaß damit :D:D

    Bitte um Feedback!! Sei es lob oder tadel!!


    EDIT:
    Der button hies noch "Herunterfahren", war aber auch Try-again... Jetzt verbessert :D

    Theorie ist wenn man weiß wie's geht, aber nichts klappt.
    Praxis ist wenn's klappt aber man weiß nicht weiso.

    Bei Microsoft sind Theorie und Praxis vereint: Nichts klappt und keiner weiß wieso ;)

    Einmal editiert, zuletzt von Das Schwert (23. Juni 2009 um 18:38)

  • Was trage ich in die data.ini, wenn ich nicht gleich abmelden oder herunter fahren machen möchte, sondern z. B. die Funktion xy ausführen möchte?

    methode= ???

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Ersetz einfach im Code vom prog Shutdown ($methode) and den stellen vo es vorkommt zu

    [autoit]

    ;Shutdown ($methode)
    MsgBox (0, "", "Der rechner würde jetzt runterfahren")
    Exit

    [/autoit]


    :D

    Theorie ist wenn man weiß wie's geht, aber nichts klappt.
    Praxis ist wenn's klappt aber man weiß nicht weiso.

    Bei Microsoft sind Theorie und Praxis vereint: Nichts klappt und keiner weiß wieso ;)

    Einmal editiert, zuletzt von Das Schwert (25. Juni 2009 um 07:29)

  • Ich danke für die Interesse^^

    Theorie ist wenn man weiß wie's geht, aber nichts klappt.
    Praxis ist wenn's klappt aber man weiß nicht weiso.

    Bei Microsoft sind Theorie und Praxis vereint: Nichts klappt und keiner weiß wieso ;)