int main(int argc, char **argv) { opencl_info(); fflush(stdout); fflush(stderr); return EXIT_SUCCESS; }
int main (int argc, char **argv) { // this increases the size on windows dox boxes setup_console (); const time_t proc_start = time (NULL); // hashcat main context hashcat_ctx_t *hashcat_ctx = (hashcat_ctx_t *) malloc (sizeof (hashcat_ctx_t)); const int rc_hashcat_init = hashcat_init (hashcat_ctx, event); if (rc_hashcat_init == -1) return -1; // install and shared folder need to be set to recognize "make install" use char *install_folder = NULL; char *shared_folder = NULL; #if defined (INSTALL_FOLDER) install_folder = INSTALL_FOLDER; #endif #if defined (SHARED_FOLDER) shared_folder = SHARED_FOLDER; #endif // initialize the user options with some defaults (you can override them later) const int rc_options_init = user_options_init (hashcat_ctx); if (rc_options_init == -1) return -1; // parse commandline parameters and check them const int rc_options_getopt = user_options_getopt (hashcat_ctx, argc, argv); if (rc_options_getopt == -1) return -1; const int rc_options_sanity = user_options_sanity (hashcat_ctx); if (rc_options_sanity == -1) return -1; // some early exits user_options_t *user_options = hashcat_ctx->user_options; if (user_options->version == true) { printf ("%s\n", VERSION_TAG); return 0; } if (user_options->usage == true) { usage_big_print (PROGNAME); return 0; } // init a hashcat session; this initializes opencl devices, hwmon, etc welcome_screen (hashcat_ctx, VERSION_TAG); const int rc_session_init = hashcat_session_init (hashcat_ctx, install_folder, shared_folder, argc, argv, COMPTIME); int rc_final = -1; if (rc_session_init == 0) { if (user_options->opencl_info == true) { // if this is just opencl_info, no need to execute some real cracking session opencl_info (hashcat_ctx); rc_final = 0; } else { // now execute hashcat opencl_info_compact (hashcat_ctx); rc_final = hashcat_session_execute (hashcat_ctx); } } // finish the hashcat session, this shuts down opencl devices, hwmon, etc hashcat_session_destroy (hashcat_ctx); // finished with hashcat, clean up const time_t proc_stop = time (NULL); goodbye_screen (hashcat_ctx, proc_start, proc_stop); hashcat_destroy (hashcat_ctx); free (hashcat_ctx); return rc_final; }