}
bool getDataBlockFromHexFile(const std::string &pathfile, anna::DataBlock &db) throw() {
-
// Get hex string
static char buffer[8192];
std::ifstream infile(pathfile.c_str(), std::ifstream::in);
+
if(infile.is_open()) {
infile >> buffer;
std::string hexString(buffer, strlen(buffer));
msg += hexString;
anna::Logger::debug(msg, ANNA_FILE_LOCATION);
);
-
anna::functions::fromHexString(hexString, db);
// Close file
infile.close();
void _exit(const std::string &message, int resultCode = 1) {
- if (resultCode)
+ if(resultCode)
std::cerr << message << std::endl << std::endl;
else
std::cout << message << std::endl << std::endl;
+
exit(resultCode);
}
// Tracing:
//if (cl.exists("trace"))
// anna::Logger::setLevel(anna::Logger::asLevel(cl.getValue("trace")));
-
// Check hex content input file (look extension):
anna::DataBlock db_aux(true);
+
if(isHex) {
- if (!getDataBlockFromHexFile(inputFile, db_aux))
+ if(!getDataBlockFromHexFile(inputFile, db_aux))
_exit("Error reading hex file provided");
try {
outputFile += ".as.xml";
std::ofstream out(outputFile, std::ifstream::out);
out << G_codecMsg.asXMLString();
-
// Close output file:
out.close();
-
std::string msg = "Open 'file.trace' in order to see process traces.\n";
msg += "Open '"; msg += outputFile; msg += "' to see decoding results.";
_exit(msg, 0);
}
// Normal input: pcap file:
-
// SNIFFING //////////////////////////////////////////////////////////////////////////////////////////////7
//temporary packet buffers
struct pcap_pkthdr header; // The header that pcap gives us
// Close output file:
out.close();
-
std::string msg = "Open 'file.trace' in order to see process traces.\n";
msg += "Open '"; msg += outputFile; msg += "' to see decoding results.";
_exit(msg, 0);