Reply to Re: [Help] Brute Force

Your name:

Reply:


Posted by Daemon on 01/01/06 22:02

Lüpher Cypher wrote:
> Daemon wrote:
>
>> Hello,
>>
>> I am trying to create a script that will create a loop threw ascii
>> characters 32 - 126, but be limited to the number in a varible,
>> controlling how many returns. I figgured a control of how many array
>> keys would be a good spot, say I only want strings that start with 3
>> characters and end at 5 charcters.
>>
>> And I wanted to use an array for all possible ascii characters. So
>> far, the code I have is a bit of a mess and was hoping for some one
>> that has more knowledge in php to lead me in the right direction to
>> how to accomplish my task at hand.
>>
>> <?php
>
> ...
>
>> ?>
>>
>
> Man, that was some crazy code. :)
>
> Let me see if I understand what you are trying to do. You have
> characters with ascii codes 32..126, you want to generate all possible
> strings consisting of characters with those codes, whose length is
> between some minimum and maximum?
> Like, if min=3 and max=5 and restricting to set 'a'..'z', it'd be
> aaa, aab, aac, ..., aaz, aba, abb, ..., zzz, aaaa, aaab, ..., zzzz
> Right? Then why not use recursion?
>
> $startCode = 32;
> $endCode = 126;
>
> function gen(&$resultArray,$min,$max,$parentStr) {
> global $startCode,$endCode;
> if (strlen($parentStr)+1 >= $min &&
> !isset($resultArray[strlen($parentStr)+1])) {
> $resultArray[strlen($parentStr)+1] = array();
> }
> for ($i = $startCode; $i <= $endCode; $i++) {
> $str = $parentStr.chr($i);
> if (strlen($str) >= $min) {
> array_push(&$resultArray[strlen($str)],$str);
> }
> if (strlen($str) < $max) {
> gen(&$resultArray,$min,$max,$str);
> }
> }
> }
>
> function generate($min,$max) {
> $resultArray = array();
> gen(&$resultArray,$min,$max,"");
> return $resultArray;
> }
>
> $arr = generate(3,5);
> echo "<pre>";print_r($arr);echo "</pre>";
>
>
> luph
Thats incredible... exactly what I was talking about... I will have to
do some work.. so it doesnt go into an array when its generated, cause
that'll return a large arrays when you want to create large amounts of
information.

I saw a brute force script for MD5 and was just amaazed at the
complexity of the script just returning aa = md5(aa) then ab =
md5(ab)... and so on.

What I was thinking however, to skip the large returns is to place all
the characters in their own key postition in an array, much like placing
rows of data in a table to align with its appropriat column

"Age Sex Country
12 M UK
15 F USA"

So for the brute force script...

Array (known as $stringArray)
[0] => position 0 (or known as 1)
[1] => position 1 (or known as 2)
.........

And that 0 would change 1 as soon as it went through the loop
properally, and reset 0 as it soon did so.

And then just simply use:

$gen_string = $null; // Nullify the string before using.
array_reverse($stringArray) // Reverse the array, or itll look like
[0].[1].[2]...
foreach ($stringArray as $key => $string) { // Foreach will go threw the
array from first to last!!
$gen_string .= $stringArray[$key]; // I'm sure there was an eiser way
to do this, but its logical!!
}

But from this script it'll give me a better opertunity too so.

And so far for the reason I have come up with this idea... hey, its
logical, its not well known so why not build it!! We need more hackers
in the world!

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация