小端序逆置
#include <stdio.h>
#include <stdint.h>
#include <string.h>
// 逆置整数并将其转换为字节数组
void int_to_bytes_little_endian(uint32_t value, char *bytes) {
for (int i = 0; i < 4; ++i) {
bytes[i] = (value >> (8 * i)) & 0xFF;
}
}
int main() {
// 密文:要逆置的内容
uint32_t v6[12] = {
0x513E1D7B, 0xF1A2215, 0x56510A56, 0x545D2800,
0x5744B07, 0x8545140, 0x56721954, 0x7655041D,
0x57540B56, 0x73550B07, 0x5084F01, 0
};
// 定义一个足够大的char数组来存放所有的字节
char flag[48]; // 12个整数,每个整数4个字节
// 将每个整数逆置并放入flag数组
for (int i = 0; i < 12; ++i) {
int_to_bytes_little_endian(v6[i], &flag[i * 4]);
}
// 输出flag数组中的内容
for (int i = 0; i < 48; ++i) {
printf("%02X ", (unsigned char)flag[i]);
}
putchar('\n');
return 0;
}