about summary refs log tree commit diff stats
path: root/example/asm/shellcode.py
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2015-12-16 18:42:48 +0100
committerserpilliere <serpilliere@users.noreply.github.com>2015-12-16 18:42:48 +0100
commit4915549bfcb8c7a1870f51935337c6eb7c7cda29 (patch)
tree9b6540b736f6163197fe8dd4ff066a27a638aff4 /example/asm/shellcode.py
parentb998b1a8b2814585692e885e656c48357fbbb9b8 (diff)
parent797b00e9449368448518ffa5497935569049c3ba (diff)
downloadmiasm-4915549bfcb8c7a1870f51935337c6eb7c7cda29.tar.gz
miasm-4915549bfcb8c7a1870f51935337c6eb7c7cda29.zip
Merge pull request #295 from cea-sec/fix_virt_api
Update api according to Elfesteem
Diffstat (limited to 'example/asm/shellcode.py')
-rw-r--r--example/asm/shellcode.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/example/asm/shellcode.py b/example/asm/shellcode.py
index 253386b5..9dc5c6bc 100644
--- a/example/asm/shellcode.py
+++ b/example/asm/shellcode.py
@@ -10,8 +10,8 @@ from miasm2.analysis.machine import Machine
 from miasm2.core.interval import interval
 
 parser = ArgumentParser("Multi-arch (32 bits) assembler")
-parser.add_argument('architecture', help="architecture: " + \
-                        ",".join(Machine.available_machine()))
+parser.add_argument('architecture', help="architecture: " +
+                    ",".join(Machine.available_machine()))
 parser.add_argument("source", help="Source file to assemble")
 parser.add_argument("output", help="Output file")
 parser.add_argument("--PE", help="Create a PE with a few imports",
@@ -96,8 +96,13 @@ if args.encrypt:
     patches = new_patches
 
 print patches
-for offset, raw in patches.items():
-    virt[offset] = raw
+if isinstance(virt, StrPatchwork):
+    for offset, raw in patches.items():
+        virt[offset] = raw
+else:
+    for offset, raw in patches.items():
+        virt.set(offset, raw)
+
 
 # Produce output
 open(args.output, 'wb').write(str(output))