示例#1
0
int main()
{
  usb_init();
  SetLogFilename("snooper.log");

  g_return_on_error = 1;

  while(1) {
    while (!OpenProxmark(0)) { sleep(1); }
    while (1) {
      UsbCommand cmdbuf;
      CommandReceived("hf 14a snoop");
      HANDLE_ERROR;
      ReceiveCommand(&cmdbuf);
      HANDLE_ERROR;
      for (int i = 0; i < 5; ++i) {
        ReceiveCommandPoll(&cmdbuf);
      }
      HANDLE_ERROR;
      CommandReceived("hf 14a list");
      HANDLE_ERROR;
    }
  }

  CloseProxmark();
  return 0;
}
示例#2
0
void ReceiveCommand(UsbCommand *c)
{
//  printf("%s()\n", __FUNCTION__);
  int retval = 0;
  do {
    retval = ReceiveCommandPoll(c);
    if (retval != 1) printf("ReceiveCommandPoll returned %d\n", retval);
  } while(retval<0);
//  printf("recv %x\n", c->cmd);
}
示例#3
0
static void *usb_receiver(void *targ)
{
  struct usb_receiver_arg *arg = (struct usb_receiver_arg*)targ;
  UsbCommand cmdbuf;

  while (arg->run) {
    if (ReceiveCommandPoll(&cmdbuf)) {
      UsbCommandReceived(&cmdbuf);
      fflush(NULL);
    }
  }

  pthread_exit(NULL);
  return NULL;
}
示例#4
0
int main(int argc, char **argv)
{
    if (argc != 3 && argc != 4)
    {
        printf("\n\tusage: cli <command 1> <command 2> [logfile (default cli.log)]\n");
        printf("\n");
        printf("\texample: cli hi14asnoop hi14alist h14a.log\n");
        printf("\n");
        return -1;
    }

    usb_init();
    if (argc == 4)
        SetLogFilename(argv[3]);
    else
        SetLogFilename("cli.log");

    return_on_error = 1;

    while (1) {
        while (!OpenProxmark(0)) {
            sleep(1);
        }
        while (1) {
            UsbCommand cmdbuf;
            CommandReceived(argv[1]);
            HANDLE_ERROR;
            ReceiveCommand(&cmdbuf);
            HANDLE_ERROR;
            for (int i = 0; i < 5; ++i) {
                ReceiveCommandPoll(&cmdbuf);
            }
            HANDLE_ERROR;
            CommandReceived(argv[2]);
            HANDLE_ERROR;
        }
    }

    CloseProxmark();
    return 0;
}