add --byteswap-data for --decrypt, etc
This commit is contained in:
+17
@@ -286,6 +286,7 @@ int main(int argc, char** argv) {
|
|||||||
string key_file_name;
|
string key_file_name;
|
||||||
const char* config_filename = "system/config.json";
|
const char* config_filename = "system/config.json";
|
||||||
bool parse_data = false;
|
bool parse_data = false;
|
||||||
|
bool byteswap_data = false;
|
||||||
const char* replay_log_filename = nullptr;
|
const char* replay_log_filename = nullptr;
|
||||||
struct sockaddr_storage cat_client_remote;
|
struct sockaddr_storage cat_client_remote;
|
||||||
for (int x = 1; x < argc; x++) {
|
for (int x = 1; x < argc; x++) {
|
||||||
@@ -329,6 +330,8 @@ int main(int argc, char** argv) {
|
|||||||
key_file_name = &argv[x][6];
|
key_file_name = &argv[x][6];
|
||||||
} else if (!strcmp(argv[x], "--parse-data")) {
|
} else if (!strcmp(argv[x], "--parse-data")) {
|
||||||
parse_data = true;
|
parse_data = true;
|
||||||
|
} else if (!strcmp(argv[x], "--byteswap-data")) {
|
||||||
|
byteswap_data = true;
|
||||||
} else if (!strncmp(argv[x], "--replay-log=", 13)) {
|
} else if (!strncmp(argv[x], "--replay-log=", 13)) {
|
||||||
behavior = Behavior::REPLAY_LOG;
|
behavior = Behavior::REPLAY_LOG;
|
||||||
replay_log_filename = &argv[x][13];
|
replay_log_filename = &argv[x][13];
|
||||||
@@ -368,6 +371,13 @@ int main(int argc, char** argv) {
|
|||||||
data = parse_data_string(data);
|
data = parse_data_string(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (byteswap_data) {
|
||||||
|
uint32_t* dwords = reinterpret_cast<uint32_t*>(data.data());
|
||||||
|
for (size_t x = 0; x < (data.size() >> 2); x++) {
|
||||||
|
dwords[x] = bswap32(dwords[x]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (behavior == Behavior::DECRYPT_DATA) {
|
if (behavior == Behavior::DECRYPT_DATA) {
|
||||||
crypt->decrypt(data.data(), data.size());
|
crypt->decrypt(data.data(), data.size());
|
||||||
} else if (behavior == Behavior::ENCRYPT_DATA) {
|
} else if (behavior == Behavior::ENCRYPT_DATA) {
|
||||||
@@ -376,6 +386,13 @@ int main(int argc, char** argv) {
|
|||||||
throw logic_error("invalid behavior");
|
throw logic_error("invalid behavior");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (byteswap_data) {
|
||||||
|
uint32_t* dwords = reinterpret_cast<uint32_t*>(data.data());
|
||||||
|
for (size_t x = 0; x < (data.size() >> 2); x++) {
|
||||||
|
dwords[x] = bswap32(dwords[x]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isatty(fileno(stdout))) {
|
if (isatty(fileno(stdout))) {
|
||||||
print_data(stdout, data);
|
print_data(stdout, data);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user