about summary refs log tree commit diff stats
path: root/example/loader
diff options
context:
space:
mode:
authorWilliam Bruneau <william.bruneau@epfedu.fr>2019-12-02 11:07:06 +0100
committerWilliam Bruneau <william.bruneau@epfedu.fr>2019-12-02 18:38:38 +0100
commit2cf53c576fae38f7882f4b86909bf2e0f076d6b1 (patch)
treea31f551785f12f995d8c2f098b9d807dc6ca5c15 /example/loader
parentb4f573d849e8469a40e0161097151b2b3d5249b4 (diff)
downloadmiasm-2cf53c576fae38f7882f4b86909bf2e0f076d6b1.tar.gz
miasm-2cf53c576fae38f7882f4b86909bf2e0f076d6b1.zip
Example: add get_exports.dll
Diffstat (limited to 'example/loader')
-rw-r--r--example/loader/get_exports.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/example/loader/get_exports.py b/example/loader/get_exports.py
new file mode 100644
index 00000000..19caba42
--- /dev/null
+++ b/example/loader/get_exports.py
@@ -0,0 +1,18 @@
+from argparse import ArgumentParser
+from miasm.jitter.loader.pe import get_export_name_addr_list
+from miasm.analysis.binary import Container
+
+
+parser = ArgumentParser(description="Retrieve exported functions of a DLL")
+parser.add_argument("filename",
+                    help="DLL filename")
+args = parser.parse_args()
+
+
+fdesc = open(args.filename, 'rb')
+cont = Container.from_stream(fdesc)
+
+exported_funcs = get_export_name_addr_list(cont.executable)
+
+for name_or_ordinal, address in exported_funcs:
+    print(name_or_ordinal, hex(address))