about summary refs log tree commit diff stats
path: root/example/elfesteem/test_pe.py
diff options
context:
space:
mode:
Diffstat (limited to 'example/elfesteem/test_pe.py')
-rw-r--r--example/elfesteem/test_pe.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/example/elfesteem/test_pe.py b/example/elfesteem/test_pe.py
new file mode 100644
index 00000000..e9cff0b4
--- /dev/null
+++ b/example/elfesteem/test_pe.py
@@ -0,0 +1,31 @@
+#! /usr/bin/env python
+
+import miasm.elfesteem.pe as pe
+from miasm.elfesteem.pe_init import PE
+import rlcompleter
+import readline
+import pdb
+import sys
+from pprint import pprint as pp
+readline.parse_and_bind("tab: complete")
+
+
+e_ = PE()
+mysh = b"\xc3"
+s_text = e_.SHList.add_section(
+    name="text", addr=0x1000, rawsize=0x1000, data=mysh)
+e_.Opthdr.AddressOfEntryPoint = s_text.addr
+new_dll = [({"name": "kernel32.dll",
+             "firstthunk": s_text.addr + 0x100},
+            ["CreateFileA", "SetFilePointer", "WriteFile", "CloseHandle"]
+            ),
+           ({"name": "USER32.dll",
+             "firstthunk": None},
+            ["SetDlgItemInt", "GetMenu", "HideCaret"]
+            )
+           ]
+e_.DirImport.add_dlldesc(new_dll)
+
+s_myimp = e_.SHList.add_section(name="myimp", rawsize=0x1000)
+e_.DirImport.set_rva(s_myimp.addr)
+open('uu.bin', 'wb').write(bytes(e_))