static void __init win_init(void) { /* Dr MingW JIT */ LoadLibrary ("exchndl.dll"); setup_console(); pdc_ncurses_init(); }
void sighandler(int s) { if(opt_hide_cursor) { printf("\033[?25h"); fflush(stdout); } setup_console(0); _exit(128 + s); }
int main(int argc, const char *argv[], const char *env[]) { HANG_LIMIT(20000000); setup_console(); fb_new_page(); welcome_msg(); if(setup_disk() != 0) { console_write_msg(STDERR_FILENO, "*couldn't setup disk\n"); HANG(); } console_print("*disk set up\n"); HANG(); return 0; }
int main(int argc, char **argv) { HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL); InitCommonControls(); setup_console(); // default screenshot filename char *filename = NULL; // coordinates bool use_coords = false; int x1, y1, x2, y2; // parse command line int i; // parse options for (i=1; i<argc; i++) { if (argv[i][0] != '-') // argument is not an option break; else if (strcmp(argv[i], "-f") == 0 || strcmp(argv[i], "--fullscreen") == 0) { RECT rect; get_screen_rect(&rect); x1 = rect.left; y1 = rect.top; x2 = rect.right; y2 = rect.bottom; use_coords = true; } else if (strcmp(argv[i], "-c") == 0 || strcmp(argv[i], "--coords") == 0) { if (i+1 >= argc) { printf("error: expected argument for -c,--coord\n"); usage(); return 1; } if (sscanf(argv[++i], "%d,%d,%d,%d", &x1, &y1, &x2, &y2) != 4) { printf("error: expected 4 comma separated integers\n"); usage(); return 1; } use_coords = true; } else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--version") == 0) { // display version information version(); return 1; } else if (strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "--help") == 0) { // display help info usage(); return 1; } else { printf("error: unknown option '%s'\n", argv[i]); usage(); return 1; } } // argument after options is a filename if (i < argc) filename = argv[i]; // create screenshot window BoxCutterWindow win(hInstance, "BoxCutter", filename); if (use_coords) { win.show(); } else { // manually acquire coordinates win.show(); win.maximize(); win.activate(); main_loop(&win); if (win.have_coords()) { win.get_coords(&x1, &y1, &x2, &y2); } else { printf("error: cannot retrieve screenshot coordinates\n"); return 1; } } // display screenshot coords printf("screenshot coords: (%d,%d)-(%d,%d)\n", x1, y1, x2, y2); // save bitmap if (filename) { // save to file if (!capture_screen(filename, x1, y1, x2, y2)) { MessageBox(win.get_handle(), "Cannot save screenshot", "Error", MB_OK); return 1; } printf("screenshot saved to file: %s\n", filename); } else { // save to clipboard if (!capture_screen_clipboard(win.get_handle(), x1, y1, x2, y2)) { MessageBox(win.get_handle(), "Cannot save screenshot to clipboard", "Error", MB_OK); return 1; } printf("screenshot saved to clipboard.\n"); } win.close(); return 0; }
int main(int argc, char **argv) { static struct option long_options[] = { {"help", no_argument, 0, 'h'}, {"noclear", no_argument, 0, 'c'}, {"alpha", no_argument, 0, 'a'}, {"unhide", no_argument, 0, 'u'}, {"noinfo", no_argument, 0, 'i'}, {"stretch", no_argument, 0, 'f'}, {"colorstrech", no_argument, 0, 'k'}, {"delay", required_argument, 0, 's'}, {"enlarge", no_argument, 0, 'e'}, {"ignore-aspect", no_argument, 0, 'r'}, {"dfb", required_argument, 0, 'd'}, {0, 0, 0, 0} }; int c, i; if(argc < 2) { help(argv[0]); fprintf(stderr, "Error: Required argument missing.\n"); return(1); } while((c = getopt_long_only(argc, argv, "hcauifks:erd:", long_options, NULL)) != EOF) { switch(c) { case 'a': opt_alpha = 1; break; case 'c': opt_clear = 0; break; case 's': opt_delay = atoi(optarg); break; case 'u': opt_hide_cursor = 0; break; case 'h': help(argv[0]); return(0); case 'i': opt_image_info = 0; break; case 'f': opt_stretch = 1; break; case 'k': opt_stretch = 2; break; case 'e': opt_enlarge = 1; break; case 'r': opt_ignore_aspect = 1; break; case 'd': opt_dfb = optarg; break; } } fprintf(stderr,"opt_dfv = %s \n", opt_dfb); if(!argv[optind]) { fprintf(stderr, "Required argument missing! Consult %s -h.\n", argv[0]); return(1); } signal(SIGHUP, sighandler); signal(SIGINT, sighandler); signal(SIGQUIT, sighandler); signal(SIGSEGV, sighandler); signal(SIGTERM, sighandler); signal(SIGABRT, sighandler); if(opt_hide_cursor) { printf("\033[?25l"); fflush(stdout); } setup_console(1); for(i = optind; argv[i]; ) { int r = show_image(argv[i]); if(!r) break; i += r; if(i < optind) i = optind; } setup_console(0); if(opt_hide_cursor) { printf("\033[?25h"); fflush(stdout); } return(0); }
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; }
/** * Parse command line options. * * @param argv program arguments */ void read_options(int argc, char *argv[]) { struct parsed_cmd_line_t cmd_line; #ifdef _WIN32 int i; vector_t *expanded_cnames; #endif memset(&opt, 0, sizeof(opt)); opt.mem = rsh_vector_new_simple(); opt.find_max_depth = -1; /* initialize cmd_line */ memset(&cmd_line, 0, sizeof(cmd_line)); rsh_blocks_vector_init(&cmd_line.options); cmd_line.argv = argv; cmd_line.argc = argc; /* parse command line and apply encoding options */ parse_cmdline_options(&cmd_line); read_config(); #ifdef _WIN32 /* set default encoding if no encoding options were specified, */ /* this should be done here, even if config file was not found. */ if( (opt.flags & OPT_ENCODING) == 0 ) opt.flags |= OPT_UTF8; #endif /* note: encoding and -o/-l options are already applied */ IF_WINDOWS(setup_console()); setup_output(); /* setup program output */ apply_cmdline_options(&cmd_line); /* process the rest of command options */ /* options were processed, so we don't need them anymore */ rsh_blocks_vector_destroy(&cmd_line.options); #ifdef _WIN32 expanded_cnames = rsh_vector_new_simple(); /* convert paths to internal encoding and expand wildcards. */ for(i = 0; i < cmd_line.n_files; i++) { wchar_t* path = cmd_line.files[i]; wchar_t* p = wcschr(path, L'\0') - 1; /* strip trailing '\','/' symbols (if not preceded by ':') */ for(; p > path && IS_PATH_SEPARATOR_W(*p) && p[-1] != L':'; p--) *p = 0; expand_wildcards(expanded_cnames, path); } opt.cmd_vec = expanded_cnames; opt.files = (char**)expanded_cnames->array; opt.n_files = (int)expanded_cnames->size; free(cmd_line.files); LocalFree(cmd_line.warg); #else opt.files = cmd_line.files; opt.n_files = cmd_line.n_files; rsh_vector_add_ptr(opt.mem, opt.files); #endif make_final_options_checks(); set_default_sums_flags(argv[0]); /* detect default hashes from program name */ }
void setup_arch(char **cmdline_p, unsigned long * memory_start_p, unsigned long * memory_end_p) { extern int _stext, _etext; extern int _sdata, _edata; extern int _sbss, _ebss, _end; extern int _ramstart, _ramend; memory_start = &_end + 512; /*not confident reffered h8 port*/ memory_end = &_ramend - 4096; /* <- stack area */ config_BSP(&command_line[0], sizeof(command_line)); setup_console();/*whether it is required*/ printk("\r\n uClinux for SH7615H\n"); printk("\r\n Modified for Hirakawa Hewtech by Ushustech\n"); #ifdef DEBUG printk("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, (int) &_sdata, (int) &_edata, (int) &_sbss, (int) &_ebss); printk("KERNEL -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x " "STACK=0x%06x-0x%06x\n", #ifdef CAT_ROMARRAY (int) romarray, ((int) romarray) + romarray[2], #else (int) &_ebss, (int) memory_start, #endif (int) memory_start, (int) memory_end, (int) memory_end, (int) &_ramend); #endif init_task.mm->start_code = (unsigned long) &_stext; init_task.mm->end_code = (unsigned long) &_etext; init_task.mm->end_data = (unsigned long) &_edata; init_task.mm->brk = (unsigned long) &_end; ROOT_DEV = MKDEV(BLKMEM_MAJOR,0); /* Keep a copy of command line */ *cmdline_p = &command_line[0]; memcpy(saved_command_line, command_line, sizeof(saved_command_line)); saved_command_line[sizeof(saved_command_line)-1] = 0; #ifdef DEBUG if (strlen(*cmdline_p)) printk("Command line: '%s'\n", *cmdline_p); else printk("No command line passed\n"); #endif *memory_start_p = memory_start; *memory_end_p = memory_end; /*rom_length = (unsigned long)&_flashend - (unsigned long)&_romvec;*/ #ifdef CONFIG_CONSOLE #ifdef CONFIG_FRAMEBUFFER conswitchp = &fb_con; #else conswitchp = 0; #endif #endif }
int main(int argc, char **argv) { static struct option long_options[] = { {"help", no_argument, 0, 'h'}, {"noclear", no_argument, 0, 'c'}, {"alpha", no_argument, 0, 'a'}, {"unhide", no_argument, 0, 'u'}, {"noinfo", no_argument, 0, 'i'}, {"stretch", no_argument, 0, 'f'}, {"colorstrech", no_argument, 0, 'k'}, {"delay", required_argument, 0, 's'}, {"enlarge", no_argument, 0, 'e'}, {"ignore-aspect", no_argument, 0, 'r'}, {"play_folder", required_argument, 0, 'd'}, {0, 0, 0, 0} }; int c, i; char* filelist=NULL; video_out_t vo={0}; vo.name="gles"; if(argc < 2) { help(argv[0]); fprintf(stderr, "Error: Required argument missing.\n"); return(1); } while((c = getopt_long_only(argc, argv, "hcauifks:er", long_options, NULL)) != EOF) { switch(c) { case 'a': opt_alpha = 1; break; case 'c': opt_clear = 0; break; case 's': opt_delay = atoi(optarg); break; case 'u': opt_hide_cursor = 0; break; case 'h': help(argv[0]); return(0); case 'i': opt_image_info = 0; break; case 'f': opt_stretch = 1; break; case 'k': opt_stretch = 2; break; case 'e': opt_enlarge = 1; break; case 'r': opt_ignore_aspect = 1; break; case 'd': filelist = create_filelist(optarg); break; } } #if 0 if(!argv[optind]) { fprintf(stderr, "Required argument missing! Consult %s -h.\n", argv[0]); return(1); } #endif if(vo_cfg(&vo)!=VO_ERROR_OK) { printf("video out device invalid\n"); exit(1); } vo_preinit(&vo); #ifndef WIN32 signal(SIGHUP, sighandler); signal(SIGINT, sighandler); signal(SIGQUIT, sighandler); signal(SIGSEGV, sighandler); signal(SIGTERM, sighandler); signal(SIGABRT, sighandler); if(opt_hide_cursor) { printf("\033[?25l"); fflush(stdout); } setup_console(1); #endif if(filelist) { filelist_t* pre=NULL; char* filename; while(enum_file(filelist,&pre,&filename)!=-1) { if(filename&&strlen(filename)>3) show_image(filename,&vo); } free_filelist(filelist); } else { for(i = optind; argv[i]; ) { int r = show_image(argv[i],&vo); if(!r) break; i += r; if(i < optind) i = optind; } } setup_console(0); if(opt_hide_cursor) { printf("\033[?25h"); fflush(stdout); } vo_uninit(&vo); return(0); }
int main(int argc, char *argv[]) { int rc, sync[2]; pid_t pid = -1; siginfo_t status; struct mount *mounts = NULL; struct netif *netifs = NULL; struct cgroup *cgroups = NULL; struct user *users = NULL; #if HAVE_LIBCAP_NG struct capability *caps = NULL; #endif char *master; _close_ int master_fd = -1; char ephemeral_dir[] = "/tmp/pflask-ephemeral-XXXXXX"; int clone_flags = CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWPID | #ifdef CLONE_NEWCGROUP CLONE_NEWCGROUP | #endif CLONE_NEWUTS; struct gengetopt_args_info args; if (cmdline_parser(argc, argv, &args) != 0) return 1; for (unsigned int i = 0; i < args.mount_given; i++) { validate_optlist("--mount", args.mount_arg[i]); mount_add_from_spec(&mounts, args.mount_arg[i]); } for (unsigned int i = 0; i < args.netif_given; i++) { clone_flags |= CLONE_NEWNET; if (args.netif_arg != NULL) { validate_optlist("--netif", args.netif_arg[i]); netif_add_from_spec(&netifs, args.netif_arg[i]); } } if (args.user_given && !args.user_map_given) { uid_t uid; gid_t gid; clone_flags |= CLONE_NEWUSER; if (user_get_uid_gid(args.user_arg, &uid, &gid)) { user_add_map(&users, 'u', uid, uid, 1); user_add_map(&users, 'g', gid, gid, 1); } } for (unsigned int i = 0; i < args.user_map_given; i++) { size_t count; uid_t id, host_id; char *start = args.user_map_arg[i], *end = NULL; validate_optlist("--user-map", args.user_map_arg[i]); clone_flags |= CLONE_NEWUSER; id = strtoul(start, &end, 10); if (*end != ':') fail_printf("Invalid value '%s' for --user-map", args.user_map_arg[i]); start = end + 1; host_id = strtoul(start, &end, 10); if (*end != ':') fail_printf("Invalid value '%s' for --user-map", args.user_map_arg[i]); start = end + 1; count = strtoul(start, &end, 10); if (*end != '\0') fail_printf("Invalid value '%s' for --user-map", args.user_map_arg[i]); user_add_map(&users, 'u', id, host_id, count); user_add_map(&users, 'g', id, host_id, count); } for (unsigned int i = 0; i < args.cgroup_given; i++) cgroup_add(&cgroups, args.cgroup_arg[i]); #if HAVE_LIBCAP_NG for (unsigned int i = 0; i < args.caps_given; i++) capability_add(&caps, args.caps_arg[i]); #endif if (args.no_userns_flag) clone_flags &= ~(CLONE_NEWUSER); if (args.no_mountns_flag) clone_flags &= ~(CLONE_NEWNS); if (args.no_netns_flag) clone_flags &= ~(CLONE_NEWNET); if (args.no_ipcns_flag) clone_flags &= ~(CLONE_NEWIPC); if (args.no_utsns_flag) clone_flags &= ~(CLONE_NEWUTS); if (args.no_pidns_flag) clone_flags &= ~(CLONE_NEWPID); if (args.attach_given) { master_fd = recv_pty(args.attach_arg); fail_if(master_fd < 0, "Invalid PID '%u'", args.attach_arg); process_pty(master_fd); return 0; } open_master_pty(&master_fd, &master); if (args.detach_flag) do_daemonize(); sync_init(sync); if (args.ephemeral_flag) { if (!mkdtemp(ephemeral_dir)) sysf_printf("mkdtemp()"); } pid = do_clone(&clone_flags); if (!pid) { closep(&master_fd); rc = prctl(PR_SET_PDEATHSIG, SIGKILL); sys_fail_if(rc < 0, "prctl(PR_SET_PDEATHSIG)"); rc = setsid(); sys_fail_if(rc < 0, "setsid()"); sync_barrier_parent(sync, SYNC_START); sync_close(sync); open_slave_pty(master); setup_user(args.user_arg); if (args.hostname_given) { rc = sethostname(args.hostname_arg, strlen(args.hostname_arg)); sys_fail_if(rc < 0, "Error setting hostname"); } setup_mount(mounts, args.chroot_arg, args.ephemeral_flag ? ephemeral_dir : NULL); if (args.chroot_given) { setup_nodes(args.chroot_arg); setup_ptmx(args.chroot_arg); setup_symlinks(args.chroot_arg); setup_console(args.chroot_arg, master); do_chroot(args.chroot_arg); } if (clone_flags & CLONE_NEWNET) config_netif(); umask(0022); #if HAVE_LIBCAP_NG setup_capabilities(caps); #endif if (args.chdir_given) { rc = chdir(args.chdir_arg); sys_fail_if(rc < 0, "Error changing cwd"); } if (args.chroot_given) { char *term = getenv("TERM"); if (!args.keepenv_flag) clearenv(); setenv("PATH", "/usr/sbin:/usr/bin:/sbin:/bin", 1); setenv("USER", args.user_arg, 1); setenv("LOGNAME", args.user_arg, 1); if (term) setenv("TERM", term, 1); } for (unsigned int i = 0; i < args.setenv_given; i++) { rc = putenv(strdup(args.setenv_arg[i])); sys_fail_if(rc != 0, "Error setting environment"); } setenv("container", "pflask", 1); if (argc > optind) rc = execvpe(argv[optind], argv + optind, environ); else rc = execle("/bin/bash", "-bash", NULL, environ); sys_fail_if(rc < 0, "Error executing command"); } sync_wait_child(sync, SYNC_START); if (args.chroot_given && (clone_flags & CLONE_NEWUSER)) setup_console_owner(master, users); setup_cgroup(cgroups, pid); setup_netif(netifs, pid); #ifdef HAVE_DBUS register_machine(pid, args.chroot_given ? args.chroot_arg : ""); #endif if (clone_flags & CLONE_NEWUSER) setup_user_map(users, pid); sync_wake_child(sync, SYNC_DONE); sync_close(sync); if (args.detach_flag) serve_pty(master_fd); else process_pty(master_fd); kill(pid, SIGKILL); rc = waitid(P_PID, pid, &status, WEXITED); sys_fail_if(rc < 0, "Error waiting for child"); switch (status.si_code) { case CLD_EXITED: if (status.si_status != 0) err_printf("Child failed with code '%d'", status.si_status); else ok_printf("Child exited"); break; case CLD_KILLED: err_printf("Child was terminated by signal '%d'", status.si_status); break; default: err_printf("Child failed"); break; } sync_close(sync); clean_cgroup(cgroups); if (args.ephemeral_flag) { rc = rmdir(ephemeral_dir); sys_fail_if(rc != 0, "Error deleting ephemeral directory: %s", ephemeral_dir); } cmdline_parser_free(&args); return status.si_status; }