- sscanf(argv[1],"%x",&uid);
- sscanf(argv[2],"%x",&nt);
- sscanf(argv[3],"%x",&nr0_enc);
- sscanf(argv[4],"%x",&ar0_enc);
- sscanf(argv[5],"%x",&nr1_enc);
- sscanf(argv[6],"%x",&ar1_enc);
+ bool moebius_attack = (argc == 8);
+
+ sscanf(argv[1],"%" SCNx32, &data.cuid);
+ sscanf(argv[2],"%" SCNx32, &data.nonce);
+ data.nonce2 = data.nonce;
+ sscanf(argv[3],"%" SCNx32, &data.nr);
+ sscanf(argv[4],"%" SCNx32, &data.ar);
+ if (moebius_attack) {
+ sscanf(argv[5],"%" SCNx32, &data.nonce2);
+ sscanf(argv[6],"%" SCNx32, &data.nr2);
+ sscanf(argv[7],"%" SCNx32, &data.ar2);
+ } else {
+ sscanf(argv[5],"%" SCNx32, &data.nr2);
+ sscanf(argv[6],"%" SCNx32, &data.ar2);
+ }