Jump to content

Recommended Posts

Posted (edited)

I'm not sure if this discussion is allowed here, so I'm not posting code.

My two questions is related to a script I made recently. It's used for brute-forcing passwords of archive files (zip, rar, etc). I made two versions of it, one using arrays, another using recursion. The thing is, I can incorporate resume on the one using arrays since I can just prime the array before I start looping, however the recursive one is trickier.

Question 1: Is there a good way of allowing a recursive algorithm, such as string generation using a character space, to be resumed?

The next one deals with the script's efficiency. I have no clue how fast other programs, of the same nature, perform. Mine does roughly 103 attempts per second on an Intel Core 2 Duo E6320 1.86GHz system (single-instance, system mostly idle).

Question 2: How slow is my script at doing it's job?

And lastly...

Question 3: Are discussions like this allowed here?

EDIT: Title change

Edited by omikron48
  • Moderators
Posted

omikron48,

In reverse order:

brute-forcing passwords - Are discussions like this allowed here?

In my opinion, definitely not. I think you did well not to post any code. :(

How slow is my script?

Impossible to say without seeing the script - which of course we never will! :)

Is there a good way of allowing a recursive algorithm to be resumed?

Given the tricky nature of recursion, I tend to avoid it if I can, so my experience in this area is somewhat limited. However, I cannot see that breaking out of recursive code to try something and then resuming the code at the same point to let it continue to the end would pose a problem. If you reenter the recursive code elsewhere or alter any of the affected variables during the excursion, then all bets are off. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (edited)

It was just something to do, so I coded it. One of the legit ways of using the tool would be for cracking archives whose password has already been forgotten.

It was ridiculous trying to calculate how many years it would take a single instance to iterate a 6 character string with a character space of roughly 75 characters at 103 attempts per second.

I was just wondering whether there was a nice way to resume a recursive algorithm at different program runs. For an array based solution all you need to do is preset the array and adjust your counters to match the value of the resume point then you just continue looping through it. I was trying to think if a similar method could be pulled off for a recursive algorithm but just thinking about it more makes it look more awkward to me.

I can't imagine a good way to setup a recursion with the correct levels and counters so it can resume from an arbitrary value point.

Edited by omikron48
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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