Jump to content

Continueloop


Recommended Posts

Download Files

See description at bottom of code...

#include <GUIConstants.au3>
FileInstall("MLCAU3.bmp", "MLCAU3.bmp")

Opt("GUIOnEventMode", 1)
HotKeySet("^q", "Close")

GUICreate("MLC", 325, 175)

GUISetOnEvent($GUI_EVENT_CLOSE, "Close")

$filemenu = GUICtrlCreateMenu("&File")
$fileitemexit = GUICtrlCreateMenuitem("E&xit" & @TAB & "Ctrl+Q", $filemenu)
GUICtrlSetOnEvent($fileitemexit, "Close")

$helpmenu = GUICtrlCreateMenu("&Help")
$helpiteminfo = GUICtrlCreateMenuitem("&Last Number Discovery", $helpmenu)
GUICtrlSetOnEvent($helpiteminfo, "Discover")
$helpitemabout = GUICtrlCreateMenuitem("&About MLC", $helpmenu)
GUICtrlSetOnEvent($helpitemabout, "About")

GUICtrlCreateLabel("1st Number(s)", 5, 10)
$digitgroup1 = GUICtrlCreateInput("", 80, 5, 150, 20, $ES_READONLY)

GUICtrlCreateLabel("2nd Number(s)", 5, 35)
$digitgroup2 = GUICtrlCreateInput("", 80, 30, 150, 20, $ES_READONLY)

GUICtrlCreateLabel("Last Number", 5, 60)
$lastnumber = GUICtrlCreateInput("", 80, 55, 40, 20, $ES_READONLY)
$updownlast = GUICtrlCreateUpdown($lastnumber)
GUICtrlSetLimit($updownlast, 39, 0)
GUICtrlSetOnEvent($updownlast, "Find")

$clear = GUICtrlCreateButton("Clear", 125, 55, 40, 20)
GUICtrlSetOnEvent($clear, "Clear")

$combolist = GUICtrlCreateList("", 235, 4, 85, 150, BitOR($WS_BORDER, $WS_VSCROLL, $LBS_DISABLENOSCROLL, $WS_TABSTOP, $LBS_NOTIFY))

GUICtrlCreatePic("MLCAU3.bmp", 5, 80, 225, 70)

GUISetState(@SW_SHOW)

While 1
    Sleep(1000)
WEnd

Func Find()
    GUICtrlSetData($digitgroup1, "")
    GUICtrlSetData($digitgroup2, "")
    GUICtrlSetData($combolist, "")
    For $x = 0 To 39
        If Mod($x, 4) <> Mod(GUICtrlRead($lastnumber), 4) Then ContinueLoop
        $digitgroup1current = GUICtrlRead($digitgroup1)
        GUICtrlSetData($digitgroup1, $digitgroup1current & $x & " ")
        Select
            Case Mod($x, 4) = 0 Or Mod($x, 4) = 1
                $y = $x + 2
            Case Mod($x, 4) = 2 Or Mod($x, 4) = 3
                $y = $x - 2
        EndSelect
    $cadd = GUICtrlRead($lastnumber) + 2
    $csub = GUICtrlRead($lastnumber) - 2
    Select
        Case $csub = -1 Or $csub = -2
            $csub = $csub + 40
        Case $cadd = 40 Or $cadd = 41
            $cadd = $cadd - 40
    EndSelect
        If $y = $cadd Or $y = $csub Then ContinueLoop
        $digitgroup2current = GUICtrlRead($digitgroup2)
        GUICtrlSetData($digitgroup2, $digitgroup2current & $y & " ")
    Next
    $group1text = StringReplace(StringStripWS(GUICtrlRead($digitgroup1), 3), " ", ",")
    $group2text = StringReplace(StringStripWS(GUICtrlRead($digitgroup2), 3), " ", ",")
    $splittext1 = StringSplit($group1text, ",")
    $splittext2 = StringSplit($group2text, ",")
    For $x = 1 To $splittext1[0]
        For $y = 1 To $splittext2[0]
            $asub2 = $splittext1[$x] - 2
            $asub6 = $splittext1[$x] - 6
    Select
        Case $asub2 = -1 Or $asub2 = -2
            $asub2 = $asub2 + 40    
        Case $asub6 = -1 Or $asub6 = -2 Or $asub6 = -3 Or $asub6 = -4 Or $asub6 = -5 Or $asub6 = -6
            $asub6 = $asub6 + 40                
    EndSelect
        If $splittext2[$y] = $asub2 Or $splittext2[$y] = $asub6 Then ContinueLoop   
            GUICtrlSetData($combolist, $splittext1[$x] & " : " & $splittext2[$y] & " : " & GUICtrlRead($lastnumber))
        Next
    Next
EndFunc  ;==>Find

Func Clear()
    GUICtrlSetData($digitgroup1, "")
    GUICtrlSetData($digitgroup2, "")
    GUICtrlSetData($lastnumber, "")
    GUICtrlSetData($combolist, "")
EndFunc  ;==>Clear

Func Discover()
    MsgBox(0, "MLC", "To find the last number:" & @CR & @CR & "1.Pull lock and turn the dial" & @CR & "2.Find the twelve sticking points" & @CR & "3.Rule out the 7 in-between #s" & @CR & "4.Rule out the 4 with same digit in the one's place" & @CR & "5.What remains is the last number")
EndFunc  ;==>Discover

Func About()
    MsgBox(0, "MLC", "Masterlock Cracker" & @CR & "Written in AutoIt")
EndFunc  ;==>About

Func Close()
    Exit
EndFunc  ;==>Close

When I run this script and the first first number possibility is 0 or 1 an extra/wrong combo is generated. If you choose the last digit in the excel sheet to be 0, in the first column you see 0:30:0. With my program, the last combo if the first number is 1 is 0:34:0. Why is that? Thanks.

Edited by techguy86

My Programs:Dissolve (Updated 5-30-06)Credit Card Validator (Not created as of yet)Master Lock Combination Cracker (Updated 7-08-07)Go Site-Seeing:My Website: - Click Here

Link to comment
Share on other sites

I fixed it. I needed to change a Select statement to an If Then statement. All better. I'll add the ability to export the 64 combinations later. The Files Run the .exe or .au3 it's up to you. That should explain everything.

Edited by techguy86

My Programs:Dissolve (Updated 5-30-06)Credit Card Validator (Not created as of yet)Master Lock Combination Cracker (Updated 7-08-07)Go Site-Seeing:My Website: - Click Here

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...