diff miscprog/pircksum.c @ 181:bf4286245c74

Pirelli's RF calibration cracked
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 13 Jul 2014 01:11:22 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/miscprog/pircksum.c	Sun Jul 13 01:11:22 2014 +0000
@@ -0,0 +1,36 @@
+/*
+ * This program has been used to verify and refine my understanding of the
+ * checksum scheme used for Pirelli's RF calibration data.
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+main(argc, argv)
+	char **argv;
+{
+	FILE *f;
+	u_long offset, len;
+	u_char inb, accum;
+
+	if (argc != 4) {
+		fprintf(stderr, "usage: %s fact.bin offset len\n", argv[0]);
+		exit(1);
+	}
+	f = fopen(argv[1], "r");
+	if (!f) {
+		perror(argv[1]);
+		exit(1);
+	}
+	offset = strtoul(argv[2], 0, 16);
+	len = strtoul(argv[3], 0, 16);
+	fseek(f, offset, SEEK_SET);
+	for (accum = 0; len; len--) {
+		inb = getc(f);
+		accum += inb;
+	}
+	inb = getc(f);
+	printf("Computed cksum %02X, following byte %02X\n", accum, inb);
+	exit(0);
+}