char *getDevMemSTR (void) { FILE *fh; unsigned char read[32]; char *key; int n = 0; key = (char *) malloc(20 * sizeof(char)); fh = fopen("/dev/mem", "r"); fseek(fh, 0xFFFF2, SEEK_SET); fgets(read, 14, fh); for (n = 0; n < 14; n++) { sprintf(key, "%s%2.2x", key, read[n]); } return key; }