summaryrefslogtreecommitdiff
path: root/examples/bin-info/src/bin-info.cpp
diff options
context:
space:
mode:
authorKyleMiles <krm504@nyu.edu>2022-01-27 22:43:28 -0500
committerKyleMiles <krm504@nyu.edu>2022-01-28 00:24:06 -0500
commit6812c973c9fa9b4ad642ab81856c05f87bd6fcc4 (patch)
treedace4156d03148bcaf02df138ab4e0d93e61bc6f /examples/bin-info/src/bin-info.cpp
parent519c9db22367f2659d1a54599fab47e6313be06e (diff)
Format All Files
Diffstat (limited to 'examples/bin-info/src/bin-info.cpp')
-rw-r--r--examples/bin-info/src/bin-info.cpp154
1 files changed, 78 insertions, 76 deletions
diff --git a/examples/bin-info/src/bin-info.cpp b/examples/bin-info/src/bin-info.cpp
index 33f84f7d..9503c734 100644
--- a/examples/bin-info/src/bin-info.cpp
+++ b/examples/bin-info/src/bin-info.cpp
@@ -16,107 +16,109 @@ using namespace BinaryNinja;
using namespace std;
#ifndef _WIN32
-#include <libgen.h>
-#include <dlfcn.h>
+ #include <libgen.h>
+ #include <dlfcn.h>
string get_plugins_directory()
{
- Dl_info info;
- if (!dladdr((void *)BNGetBundledPluginDirectory, &info))
- return NULL;
+ Dl_info info;
+ if (!dladdr((void*)BNGetBundledPluginDirectory, &info))
+ return NULL;
- stringstream ss;
- ss << dirname((char *)info.dli_fname) << "/plugins/";
- return ss.str();
+ stringstream ss;
+ ss << dirname((char*)info.dli_fname) << "/plugins/";
+ return ss.str();
}
#else
string get_plugins_directory()
{
- return "C:\\Program Files\\Vector35\\BinaryNinja\\plugins\\";
+ return "C:\\Program Files\\Vector35\\BinaryNinja\\plugins\\";
}
#endif
-bool is_file(char *fname)
+bool is_file(char* fname)
{
- struct stat buf;
- if (stat(fname, &buf) == 0 && (buf.st_mode & S_IFREG) == S_IFREG)
- return true;
+ struct stat buf;
+ if (stat(fname, &buf) == 0 && (buf.st_mode & S_IFREG) == S_IFREG)
+ return true;
- return false;
+ return false;
}
-int main(int argc, char *argv[])
+int main(int argc, char* argv[])
{
- if (argc != 2) {
- cerr << "USAGE: " << argv[0] << " <file_name>" << endl;
- exit(-1);
- }
+ if (argc != 2)
+ {
+ cerr << "USAGE: " << argv[0] << " <file_name>" << endl;
+ exit(-1);
+ }
- char *fname = argv[1];
- if (!is_file(fname)) {
- cerr << "Error: " << fname << " is not a regular file" << endl;
- exit(-1);
- }
+ char* fname = argv[1];
+ if (!is_file(fname))
+ {
+ cerr << "Error: " << fname << " is not a regular file" << endl;
+ exit(-1);
+ }
- /* In order to initiate the bundled plugins properly, the location
- * of where bundled plugins directory is must be set. Since
- * libbinaryninjacore is in the path get the path to it and use it to
- * determine the plugins directory */
- SetBundledPluginDirectory(get_plugins_directory());
- InitPlugins();
+ /* In order to initiate the bundled plugins properly, the location
+ * of where bundled plugins directory is must be set. Since
+ * libbinaryninjacore is in the path get the path to it and use it to
+ * determine the plugins directory */
+ SetBundledPluginDirectory(get_plugins_directory());
+ InitPlugins();
- Ref<BinaryData> bd = new BinaryData(new FileMetadata(), argv[1]);
- Ref<BinaryView> bv;
- for (auto type : BinaryViewType::GetViewTypes())
- {
- if (type->IsTypeValidForData(bd) && type->GetName() != "Raw")
- {
- bv = type->Create(bd);
- break;
- }
- }
+ Ref<BinaryData> bd = new BinaryData(new FileMetadata(), argv[1]);
+ Ref<BinaryView> bv;
+ for (auto type : BinaryViewType::GetViewTypes())
+ {
+ if (type->IsTypeValidForData(bd) && type->GetName() != "Raw")
+ {
+ bv = type->Create(bd);
+ break;
+ }
+ }
- if (!bv || bv->GetTypeName() == "Raw")
- {
- fprintf(stderr, "Input file does not appear to be an exectuable\n");
- return -1;
- }
+ if (!bv || bv->GetTypeName() == "Raw")
+ {
+ fprintf(stderr, "Input file does not appear to be an exectuable\n");
+ return -1;
+ }
- bv->UpdateAnalysisAndWait();
+ bv->UpdateAnalysisAndWait();
- cout << "Target: " << fname << endl << endl;
- cout << "TYPE: " << bv->GetTypeName() << endl;
- cout << "START: 0x" << hex << bv->GetStart() << endl;
- cout << "ENTRY: 0x" << hex << bv->GetEntryPoint() << endl;
- cout << "PLATFORM: " << bv->GetDefaultPlatform()->GetName() << endl;
- cout << endl;
+ cout << "Target: " << fname << endl << endl;
+ cout << "TYPE: " << bv->GetTypeName() << endl;
+ cout << "START: 0x" << hex << bv->GetStart() << endl;
+ cout << "ENTRY: 0x" << hex << bv->GetEntryPoint() << endl;
+ cout << "PLATFORM: " << bv->GetDefaultPlatform()->GetName() << endl;
+ cout << endl;
- cout << "---------- 10 Functions ----------" << endl;
- int x = 0;
- for (auto func : bv->GetAnalysisFunctionList()) {
- cout << hex << func->GetStart() << " " << func->GetSymbol()->GetFullName() << endl;
- if (++x >= 10)
- break;
- }
- cout << endl;
+ cout << "---------- 10 Functions ----------" << endl;
+ int x = 0;
+ for (auto func : bv->GetAnalysisFunctionList())
+ {
+ cout << hex << func->GetStart() << " " << func->GetSymbol()->GetFullName() << endl;
+ if (++x >= 10)
+ break;
+ }
+ cout << endl;
- cout << "---------- 10 Strings ----------" << endl;
- x = 0;
- for (auto str_ref : bv->GetStrings()) {
- char *str = (char *)malloc(str_ref.length+1);
- bv->Read(str, str_ref.start, str_ref.length);
- str[str_ref.length] = 0;
+ cout << "---------- 10 Strings ----------" << endl;
+ x = 0;
+ for (auto str_ref : bv->GetStrings())
+ {
+ char* str = (char*)malloc(str_ref.length + 1);
+ bv->Read(str, str_ref.start, str_ref.length);
+ str[str_ref.length] = 0;
- cout << hex << str_ref.start << " ("
- << dec << str_ref.length << ") "
- << str << endl;
- free(str);
+ cout << hex << str_ref.start << " (" << dec << str_ref.length << ") " << str << endl;
+ free(str);
- if (++x >= 10)
- break;
- }
+ if (++x >= 10)
+ break;
+ }
- // Shutting down is required to allow for clean exit of the core
- BNShutdown();
+ // Shutting down is required to allow for clean exit of the core
+ BNShutdown();
- return 0;
+ return 0;
}