Author | Post | ||
Gome |
Why not? I am disappointed by how many people really know how to write a brute force algoritm. Maybe we can enlarge this topic a bit and find out some alternative approaches in writing a brute force algorithm. I always use this as a base code (for fixed size): boolean loop = true; char[] word = new char[]{'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'}; int idx=0; while(loop) { //Perform check check(word); //Goto next word idx = 0; word[idx]++; //Update word while(word[idx]>'z') { word[idx]='a'; idx++; if(idx>7) { loop = false; break; } word[idx]++; } } Normally this requires some modifications and as for inline assembly it needs translation too, but this is the main idea behind the algoritm. Any other suggestions? Or maybe you know another algoritm which has a very nice implementation.. |
||
12.07.2006 16:16:19 |
|
||
unknown user |
i wouldn't do the bounds check to see if max length is reached either that , or larger ascii ranges, simply doing @@:mov esi,addr add dword ptr ds:[esi],4 jz @b the speedloss is linear, so it might take 10 times longer but hey if your sleeping anyways it doesn't really matter |
||
12.07.2006 16:46:43 |
|
||
Blacklotis |
I included what I think is a decent implementation of how to do this in ASM in my tutorial that is hosted here at TBS. A friend of mine wrote some very nice algo's in java and C. I'll have to get them from him. |
||
13.07.2006 01:16:13 |
|