From b063a2da3024a2e3175e1ba9b0a87cb6c7470765 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 20 Aug 2016 14:04:59 +0100 Subject: candlestick --- host/cryptopad.c | 122 ------------------------------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 host/cryptopad.c (limited to 'host/cryptopad.c') diff --git a/host/cryptopad.c b/host/cryptopad.c deleted file mode 100644 index 42b1d36..0000000 --- a/host/cryptopad.c +++ /dev/null @@ -1,122 +0,0 @@ -#include "project.h" -#include "../common/vendor_req.h" - -#define TIMEOUT 4000 - -struct libusb_device * find_device(libusb_context *ctx) -{ - libusb_device **list; - ssize_t num_devs; - ssize_t i; - - num_devs = libusb_get_device_list(ctx, &list); - for (i = 0; i < num_devs; ++i) { - struct libusb_device_descriptor desc; - struct libusb_device *dev = list[i]; - - if (libusb_get_device_descriptor(dev, &desc)) - continue; - - - if (desc.idVendor!=0x1d6b) continue; - if (desc.idProduct!=0x1932) continue; - - return dev; - - } - libusb_free_device_list(list, 0); - - return NULL; -} - - -static void usage(char *n) -{ -fprintf(stderr,"Usage:\n" - "%s [-g [-n secs]] [-s [-p pwd]] [-h]\n" - " -h display this message\n" - " -g ask cryptopad to type password\n" - " -n secs wait secs before typing password\n" - " -s set password in cryptopad\n" - " -p pwd password to set, prompts otherwise\n" - " -w wipe password from cryptopad\n", - n); - -exit(1); -} - - - - -int main(int argc,char *argv[]) -{ - libusb_context *ctx; - libusb_device *dev; - libusb_device_handle *devh; - int wflag=0,gflag=0,sflag=0; - char *pass=NULL; - int c,ret; - int delay=0; - - - while((c=getopt(argc,argv,"hwgsp:n:"))!=-1) { - switch(c) { - case 'n': - if (optarg) delay=atoi(optarg); - break; - case 'g': - gflag++; - break; - case 's': - sflag++; - break; - case 'w': - wflag++; - break; - case 'p': - pass=optarg; - break; - default: - usage(argv[0]); - } - } - - if ((ret=libusb_init(&ctx))) - errx(EX_IOERR, "unable to initialize libusb: %i", ret); - - dev=find_device(ctx); - - if (!dev) err(1,"no cryptopad found"); - - if ((ret=libusb_open(dev, &devh))) err(1,"unable to open usb device: %i",ret); - - - if (sflag) { - char *pwd; - if (!pass) pass=getpass("Enter password:"); - - pwd=malloc(strlen(pass)+2); - strcpy(pwd,pass); - strcat(pwd,"\n"); - - libusb_control_transfer( devh, LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE, VENDOR_REQ_SET_KEY, 0, 0, pwd, strlen(pwd), TIMEOUT ); - } - - - if (gflag) - libusb_control_transfer( devh, LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE, VENDOR_REQ_SEND_KEY, delay, 0, NULL, 0, TIMEOUT ); - - if (wflag) - libusb_control_transfer( devh, LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE, VENDOR_REQ_CLEAR_KEY, 0, 0, NULL, 0, TIMEOUT ); - - - libusb_close(devh); - - return 0; -} - - - - - - -- cgit v1.2.3