Code Monkey home page Code Monkey logo

pardictattack's Introduction

The "hash_gen.cpp" file is used to generate hash values from plain text and store the data into hash_value.dat file. This is simluating that the database and OS in real world store user passwords. 

Compile "hash_gen.cpp" file by using command "g++ -o hash_gen hash_gen.cpp". If you want to generate hashs for different plain text, please modify the "hash_gen.cpp" directly.

The "cracker.cpp" file is used to dictionary attack. We use "clock()" function to time the program. Compile the code using command "g++ -o cracker cracker.cpp"

Using command "./cracker $dictionary_path $hash_value.dat_path" to crack the password hash that saved inside the .dat file. 

=================================================================
Update 3/17/2016
Add parallelized programe (openMP version) to github.

Use command "g++ -fopenmp -o crackeromp cracker_omp.cpp " to compile "cracker_omp.cpp" file and submit bash "crackeromp.bash" to discovery cluster to run.

output file can be found in output folder.

=================================================================
Update 3/28/2016
Clean up folder. You can find sequential code in "seq_code" folder and Parallelized code in "par_code" folder.

Fix errors in SHA256.h file and regenerate correct hash list.

==================================================================
Update 3/29/2016
Added cracker.cu file. You can find it in "par_code/cudaonly" folder.
To compile and run the program, please follow the below steps:
1. "nvcc -G -g -lineinfo -o crackercu cracker.cu" --- compile the .cu file
2. "bsub -Is -XF -q par-gpu-2 -n 1 /bin/bash" -- use par-gpu-2 queue since our program designed for Tesla K40 GPU (useing K20 GPU will lead a memory leak error)
3. "./crackercu $dictionary_path $hash_value.dat_path" --- run the program. Please use "10_million_password_list_top_10000.txt" as the dictionary and "hash_value.dat" as the input hash value. Make sure you put a correct path.

Please load the following module:
1. gnu-4.4-compilers 
2. fftw-3.3.3
3. platfor-mpi
4. cuda-7.0
5. oracle_java-1.7u40

====================================================================
Update 12/4/2016
Added MPI+CUDA code, you can find them in "par_code/cudampi"
To compile and run the program, please follow the below steps:
1. "mpicc -c mpi.c -o mpi.o" this well compile "mpi.c" file
2. "nvcc -c crackerMPI.cu -o cracker.o" this will comile .cu file
3. "mpicc mpi.o cracker.o -L/shared/apps/cuda7.0/lib64 -lcudart -lstdc++ -o final" this will combin mpi file and cuda file
4. "bsub < cudampi.bash" submit thie job. Please modify the bash file and make sure you put the correct path of both "hash_value.dat1" file and dictionary file. All dictionary files can be found in dictionary folder.

If you can not run the cuda+mpi code, please let me know. And we will keep updating our github repo. 

pardictattack's People

Contributors

mrfuzzbear avatar adhfshi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.