Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 933 Bytes

Memory and Array.md

File metadata and controls

37 lines (31 loc) · 933 Bytes
void stringToWordArray(const char* hexString, u32* wordArray) {
	size_t length = strlen(hexString);
	for (size_t i = 0; i < length; i += 8) {
		sscanf(&hexString[i], "%8x", &wordArray[i / 8]);
	}
}

const char* keyString = "0f1e2d3c4b5a69788796a5b4c3d2e1f0"
u32 key[4];
stringToWordArray(keyString, key);

printf("%08x\n", key[0]); // 0f1e2d3c
printf("%08x\n", key[1]); // 4b5a6978
printf("%08x\n", key[2]); // 8796a5b4
printf("%08x\n", key[3]); // c3d2e1f0
(gdb) x/16xb key
0x7fffffffd960:	0x3c	0x2d	0x1e	0x0f	0x78	0x69	0x5a	0x4b
0x7fffffffd968:	0xb4	0xa5	0x96	0x87	0xf0	0xe1	0xd2	0xc3
u8* ptr_key = (u8*)key;

printf("%02x\n", ptr_key[0]); // 3c
printf("%02x\n", ptr_key[1]); // 2d
printf("%02x\n", ptr_key[2]); // 1e
printf("%02x\n", ptr_key[3]); // 0f
printf("%02x\n", ptr_key[4]); // 78
printf("%02x\n", ptr_key[5]); // 69
printf("%02x\n", ptr_key[6]); // 5a
printf("%02x\n", ptr_key[7]); // 4b