masterzorag's Activity

Friday, December 10, 2010

...bruteforge has been C revamped!

I've completed the first C version, time to release;
All features of bruteforge 0.56 are implemented, with less skips, I've added full support to Extended ASCII Codes; (you can use your favourite 'èòàìù...')
bruteforge 0.6x, linux/elf386 here
documentation will be posted here

I was focused on a new function, the 'Filter Mode', from now you can pass your favourite wordlist to trim down over your favourite criteria mix...
So, not only generate wordlist in conditional way, but we can start filtering huge wordlists! (...this project seems moving like a squid...)

A diff about performance versions, I've done a simpe test, generating 100.000.000 words in a lowercasealpha, starting from 'a':
0.56 generates those in real 18m25.013s, doing 90.496 words/sec;
0.612 do the same job in real 0m24.451s, doing 4.089.812 words/sec;
In this test performance gain is 45.19x, I have no reason to maintain the python version,
anyway, script is open...

Monday, November 15, 2010


First part is over, with something added like full support to Extended ASCII Codes, less skips and more speed, (almost x16 faster of python code when prints to terminal), code is running;
user have to define a 'template' text file like previously for advanced, program reads first 4 lines as:
starting word
ending word
it summarizes criteria to understand those combinations that will be skipped;
you can have multiple 'settingfiles' to run bruteforge over, it prints out generated words;
I've to made -lp -n -v -q customizables from commandline, add the fixed mode and more...
here a snapshot, follow a short demo from the cold North! Thanks!

Thursday, October 21, 2010

Meanwhile, at lower levels...

Writing OpenCL code needs some C knowledges, in time I've thinked about PMK algo, Cell/BE, python, and C...
How can C code run faster, pointers, arrays and structs, ints, memory allocation/alignment and more...
Time to see what can be done in C, so how easy can be porting mine bruteforge python script other than code written by others?
I've wrote this time ago, code and algorithms are in my mind! I want to see the diffs, and learning C for my needs, of course.
As expected, C uses less memory (68kb over 1990Kb) and runs moOore faster, it generates 10.000.000 words in 3.384s, the python version computes the same numbers of words in 1m46.062s, so I've got a x31 speedup in front of 1/31 in memory!
My new code isn't well optimized, I'll spend some more time with it, but actual results are impressive; so I'm working to complete the C port of bruteforge with renewed logics; all will be in function of the -so called- 'advanced mode', so users can sets a custom charset (including special and spaces characters) and assign a maximum number of use for every char to compose a word!
Patterns eventually excluded like 'abc', 'stuv'... due to consecutiveness will be ever skipped by setting pattern's length, this also for consecutive repetition of same char like 'aaa', 'rrrr'... but I'm re-evaluating others skips like inversed consecutives that in case can skip too often probable words!
When completed, maybe I'll learned C better (a little bit) to expand functionalities, like transform words to compute some kind of hash...
Mine PS3 don't play games, but is hungry of ints!

Thursday, May 20, 2010

"Cops can't stop me!", but I need fuel!

Can't release anything yet, I've tested, but sometimes got wrong results!
Too busy at the moment, I'm not a real programmer, I've to spend some time working now...
I'm not surrendered, but working changes needs study.
By the way, IBM has released an upgrade to OpenCL, with big changes about device control and more, but I haven't test yet.
I've to end up with a simple host code to run the cpyrit_opencl alone and setup timing to see if any changes are good!

Friday, April 30, 2010

Mine PS3 hits 7000 PMKs/s!

Small changes in the code about feeding and organizing the WorkSizes, but there are other improvements we can do about; personally I have two of those, one is make use of uint4 power, the other regards the use of couples of WorkItem per WorkGroup...
I'm passed from 1200 to 7000 PMKs without changes in the kernel!
There is now a place in the performance-graph? Eh eh

Friday, March 19, 2010

pyrit: OpenCL + PS3

Less than one month to see the results, setting up gentoo with a broken xlcl compiler, than wiping all for F12, now OpenCL are running as core in pyrit, and computing.
Thanks to joker that points me in a right direction, now lukas can update again his performance graph!

Thursday, February 25, 2010

Now what?! I've got a PS3

With bruteforge 0.52 you can do any wordlist!
In a spare time will try to approaching the ppc world, to setup a gentoo system on my 60gb PS3
First milestone will be run python 2.6 and how bruteforge performs on the cell, than interfacing pyrit
I've read here about the OpenCL on cell, I'll try.

Wednesday, February 17, 2010

0.52 Stable, Fast and Colorful

Gots 'acqua' in 5.334s with 511443 attempts = 95883 words/s, main faster;
Cosmetics changes in debug/verbose mode to be more read-friendly;
Fixed possible fixed mode related exceptions/issues.

Monday, February 8, 2010

Here comes the advanced mode!

Added advanced mode
You can set your custom charset + max same per-char use times 
bruteforge expect for a file called 'advanced' that contains only 2 lines:
first for charset, second for max same per-char use times, that obiouvsly must be filled by digits, one example:
cat advanced
Import adding -c 9, you have set composing with max 2 a, max 1 b, max 3 c, only 1 ? and so on, that's so... how can tell... ummm
This mode locks also the charset order!
Added to the main logic, advanced overrides the -s switch, but bruteforge ever skips based on -p [ when importing custom patterns with -i, when charset can compose patterns ]
Remember that fixing with this mode gives you a fixed number of combinations, add -d to understand the concept
Set your options, and generate!

Thursday, February 4, 2010

Now at 0.45, more options!

Added special charset selection;
Added custom charset selection via user input after -c 7;
Added the '##fixed##' implementation, changing only '#' in word;
Not only will do '##fixed##', but also '##fi#ed##', and '##f#x#d##', and what you want, must use '#'.
You can fix 3 'a' and set -s 3 to not use more 'a' when changing the rest of the word, es. '#a#a#a########' change # in all putting no more 'a'.
When fixing, resulting word lenght not increase!
To show a summary of your criteria, add -d -n 1, so program stops in verbose/debug mode after first attempt.

user# wget
user# chmod +x ./bruteforge
user# ./bruteforge -h
for help, without arguments shows a short description and rules.

Crunch some bytes,
I'll made a new video in a next time!

Friday, January 22, 2010

Power up!

Fourth version, from scratch, again.

The code is now splitted into ten small functions that can be also imported from the interpreter, the main script got 2 new features:
Unique char composing via the -s 1 switch, and a very simple Custom patterns importing options.
Importing works reading one patterns for line from a custom file and appends ALL, so put everything you want to exclude.

My first Python version gots the word 'acqua' at 512099 in 20.328s, this version scores 511443 in 6.898s!
More than three times faster with more skips; if you haven't see any of my video, this is mine testing algorithm to compare versions, ever with 26 char in set, starting from 'a'.

So, switching to Python, brings to mine code ability to run everywhere, from linux to windows, also on an iphone; it's a simple script, you need only Python => 2.6
If interested, enter a terminal, and:
# wget
# bruteforge -h
Run without arguments for a small descriptions about conditions and rules, or put an eye at the code at same url