CUDA Multiforcer 0.7 Source

Discussion and support for the CUDA Multiforcers (Windows and Linux)
  • Ads

Re: CUDA Multiforcer 0.7 Source

Postby xdunk » Fri Aug 14, 2009 3:53 am

497.1 M /SEC for single hash....
xdunk
 
Posts: 7
Joined: Wed Aug 05, 2009 3:29 am

Re: CUDA Multiforcer 0.7 Source

Postby three » Fri Aug 14, 2009 2:28 pm

Hi,

have you some project files for compiling in Windows with Visual Studio or Visual C++ 06?

Best regards
Marko
three
 
Posts: 1
Joined: Fri Aug 14, 2009 2:24 pm

Re: CUDA Multiforcer 0.7 Source

Postby bizonix » Wed Oct 14, 2009 5:45 pm

How i compile this source for MacOs
all components installed argtable,cuda sdk,gcc

my errror is
Code: Select all
make: *** No rule to make target `-largtable2', needed by `../../bin/darwin/release/CUDA-Multiforcer'.  Stop


Code: Select all
LD_LIBRARY_PATH=/usr/local/lib:/usr/local/cuda/lib:/opt/local/include
PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/cuda/bin:/usr/local/cuda/lib:/usr/local/lib:/opt/local/include
DYLD_LIBRARY_PATH=/usr/local/cuda/lib:/opt/local/include

Code: Select all
gcc version 4.2.1 (Apple Inc. build 5646)
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix

Code: Select all
$ ls -la /usr/local/lib/libarg*
-rwxr-xr-x  1 root  wheel   35536 11 окт 04:03 /usr/local/lib/libargtable2.0.1.4.dylib
lrwxr-xr-x  1 root  wheel      24 11 окт 04:03 /usr/local/lib/libargtable2.0.dylib -> libargtable2.0.1.4.dylib
-rw-r--r--  1 root  wheel  119960 11 окт 04:03 /usr/local/lib/libargtable2.a
lrwxr-xr-x  1 root  wheel      24 11 окт 04:03 /usr/local/lib/libargtable2.dylib -> libargtable2.0.1.4.dylib
-rwxr-xr-x  1 root  wheel     851 11 окт 04:03 /usr/local/lib/libargtable2.la
bizonix
 
Posts: 1
Joined: Wed Oct 14, 2009 4:55 pm

Re: CUDA Multiforcer 0.7 Source

Postby Bitweasil » Wed Oct 14, 2009 7:43 pm

The Makefile kind of sucks... sorry about that. I'll see if I can find the makefile I used on OS X.
Bitweasil
Site Admin
 
Posts: 912
Joined: Tue Jan 20, 2009 4:26 pm

Re: CUDA Multiforcer 0.7 Source

Postby Sc00bz » Fri Dec 11, 2009 10:10 am

Hoo yeah this is with a 9800 GTX+ (1.355 trillion passwords/s, "67.07 quadrillion hash-password checks/s"):
Stepping rate: 1355001.4M MD4/s
Search rate: 67072570775.5M NTLM/s

Too bad those numbers are wrong.
Bug: "MD4/s" and "NTLM/s" instead of "MD5s/s" or "passwords/s" and "hash-password checks/s"
Bug: Incorrect summary when finished with a character set per character position. It assumes the first character set size for each character position.

Fix:
Code: Select all
File Multiforcer.cu:
Line 486:
-  uint64_t perThread, start_point = 0;
+  uint64_t perThread, start_point = 0, keySpace;

Lines 557-561:
  for (i = 0; i < Run_Data->password_length; i++) {
    if (Run_Data->charset_length_array[i] > 0) {
      perThread *= (Run_Data->charset_length_array[i]);
    }
  }
+  keySpace = perThread;

Lines 659-660:
-  printf("Stepping rate: %0.1fM MD4/s\n", pow((float)Run_Data->charset_length, (float)Run_Data->password_length) / (ref_time * 1000.0));
-  printf("Search rate: %0.1fM NTLM/s\n\n", (float) Hash_Data->number_of_hashes * pow((float)Run_Data->charset_length, (float)Run_Data->password_length) / (ref_time * 1000.0));
+  printf("Stepping rate: %0.1fM %ss/s\n", keySpace / (ref_time * 1000.0), Hash_Types[hash_type]);
+  printf("Search rate: %0.1fM %ss/s\n\n", (float) Hash_Data->number_of_hashes * (float) keySpace / (ref_time * 1000.0), Hash_Types[hash_type]);


or (less accurate but less changes)
Code: Select all
File Multiforcer.cu:
Lines 658-660:
  printf("Compute done: Reference time %0.1f seconds\n", ref_time / 1000.0); 
-  printf("Stepping rate: %0.1fM MD4/s\n", pow((float)Run_Data->charset_length, (float)Run_Data->password_length) / (ref_time * 1000.0));
-  printf("Search rate: %0.1fM NTLM/s\n\n", (float) Hash_Data->number_of_hashes * pow((float)Run_Data->charset_length, (float)Run_Data->password_length) / (ref_time * 1000.0));
+  printf("Stepping rate: %0.1fM %ss/s\n", start_point / (ref_time * 1000.0), Hash_Types[hash_type]);
+  printf("Search rate: %0.1fM %ss/s\n\n", (float) Hash_Data->number_of_hashes * (float) start_point / (ref_time * 1000.0), Hash_Types[hash_type]);


or instead of using %s and Hash_Types[hash_type]:
Code: Select all
printf("Stepping rate: %0.1fM passwords/s\n", ...
printf("Search rate: %0.1fM hash-password checks/s\n\n", ...


You may consider creating "char *Hash_Names[];" so it doesn't say "FASTMD5s/s" you would also want to use that for the other times you use Hash_Types for output.
Code: Select all
File Multiforcer.cu:
Line 51:
char* Hash_Types[] = {"MD5", "FASTMD5", "MD4", "FASTMD4", "NTLM", "FASTNTLM", "SHA1", "FASTSHA1"};
+char *Hash_Names[] = {"MD5", "MD5", "MD4", "MD4", "NTLM", "NTLM", "SHA1", "SHA1"};

Line 301:
-     printf("%s : ", Hash_Types[hash_type]);
+     printf("%s : ", Hash_Names[hash_type]);

Line 335:
-        fprintf(outputfile, "%s:", Hash_Types[hash_type]);
+        fprintf(outputfile, "%s:", Hash_Names[hash_type]);

Lines 659-660:
-  printf("Stepping rate: %0.1fM %ss/s\n", keySpace / (ref_time * 1000.0), Hash_Types[hash_type]);
-  printf("Search rate: %0.1fM %ss/s\n\n", (float) Hash_Data->number_of_hashes * (float) keySpace / (ref_time * 1000.0), Hash_Types[hash_type]);
+  printf("Stepping rate: %0.1fM %ss/s\n", keySpace / (ref_time * 1000.0), Hash_Names[hash_type]);
+  printf("Search rate: %0.1fM %ss/s\n\n", (float) Hash_Data->number_of_hashes * (float) keySpace / (ref_time * 1000.0), Hash_Names[hash_type]);

Sc00bz
 
Posts: 93
Joined: Thu Jan 22, 2009 9:31 pm

Re: CUDA Multiforcer 0.7 Source

Postby Sc00bz » Fri Dec 11, 2009 10:10 am

Oh yeah "593 warning(s)" WTF?
Sc00bz
 
Posts: 93
Joined: Thu Jan 22, 2009 9:31 pm

Re: CUDA Multiforcer 0.7 Source

Postby Reelix » Wed Dec 16, 2009 10:58 pm

Don't suppose you feel like uploading an EXE for us simple folk? :)

Bitweasil doesn't seem to come online these days... :<
Reelix
 
Posts: 17
Joined: Thu Mar 26, 2009 10:51 pm

Re: CUDA Multiforcer 0.7 Source

Postby Sc00bz » Thu Dec 17, 2009 11:16 am

I added support for "-l #" where # is the number of bits of the hash (23 to 32) for the large lookup table.
These are the max "-l #" you can use given the amount of video card memory (you may need to go lower but this is not likely). "-l 32" is the same as the old argument "-l"
Code: Select all
Video card ram | -l #
---------------+-------
      +896 MiB | -l 32
       512 MiB | -l 31
       256 MiB | -l 30
       128 MiB | -l 29
        64 MiB | -l 28

Yeah so I kind of also fixed the 593 warnings which most were caused by using uint64_t where it wasn't needed and you were passing that into a function that takes a uint32_t (which is a warning).
Yeah so here's the code and an exe. I would suggest running any program you find in a forum... through a virus scanner and in an environment where you can take a snapshot of your hard drive before you run it and restore it afterward. This does not protect you against everything as it could infect other computers on your network or steal information. So the full proof method is to do a clean install of your OS on a spare computer download it, disconnect it from the network, run, take digital pictures of the results displayed on your screen, format the hard drive, and OCR the pictures. :D

But don't worry I'm not evil :twisted:.

I just notice that --maxthreads and --autotune don't do anything.
Attachments
CUDA-Multiforcer.zip
(4.64 MiB) Downloaded 465 times
Sc00bz
 
Posts: 93
Joined: Thu Jan 22, 2009 9:31 pm

Re: CUDA Multiforcer 0.7 Source

Postby Sc00bz » Fri Dec 18, 2009 9:02 pm

We'll I forgot I didn't finish looking up different video cards' ram. Now that I think about it, this is retarded to try and guess whether you can use -t 31 if you have 320 MiB of ram (I'd guess not if you have two 1600x1200 monitors as it uses 75 MiB video memory for me on Windows XP). Also it will depend on how many hashes you are trying to crack if you have 30 million hashes you'll probably have no ram left. FYI this uses 33 bytes of video ram per hash (37 bytes if it's SHA1).
Code: Select all
  Available  |
Video Memory | -l #
-------------+-------
     512 MiB | -l 32
     256 MiB | -l 31
     128 MiB | -l 30
      64 MiB | -l 29
      32 MiB | -l 28


I totally forgot to mention this I included the modified source code and I made it really easy to compile for Windows. Just install the all CUDA stuff from "get CUDA" and put the CUDA-Multiforcer folder in with all the other sample projects from Nvidia and open it in Visual Studio 2008 and compile.
Sc00bz
 
Posts: 93
Joined: Thu Jan 22, 2009 9:31 pm

Re: CUDA Multiforcer 0.7 Source

Postby sapling » Mon Dec 28, 2009 1:34 pm

Trying to compile your modified source version in Ubuntu with no success. I havent recompiled in so long its possible that I am missing a step or doing something wrong but regardless I cant figure out whats going wrong.
So here is whats happening...
I go to compile the code in my projects directory after making one small change to the location of common because in my folder structure its in ../../C/common/
And I get an error as root
machinename:/home/username/NVIDIA_GPU_Computing_SDK/projects/CUDA-Multiforcer# /usr/local/cuda/bin/nvcc Multiforcer.cu
pstdint.h(410): error: invalid redeclaration of type name "int32_t"
/usr/include/sys/types.h(198): here

1 error detected in the compilation of "/tmp/tmpxft_00003b54_00000000-4_Multiforcer.cpp1.ii".

And I get the same error trying to run make as a normal user as wellL
machinename:/home/username/NVIDIA_GPU_Computing_SDK/projects/CUDA-Multiforcer$ /usr/local/cuda/bin/nvcc Multiforcer.cu
pstdint.h(410): error: invalid redeclaration of type name "int32_t"
/usr/include/sys/types.h(198): here

1 error detected in the compilation of "/tmp/tmpxft_00003b54_00000000-4_Multiforcer.cpp1.ii".


Anyone have any thoughts on why its saying the redecleration of type name int32_t is both pstdint.h and types.h...?
sapling
 
Posts: 9
Joined: Mon Dec 28, 2009 1:29 pm

PreviousNext

Return to CUDA Multiforcers

Who is online

Users browsing this forum: No registered users and 1 guest

cron