about summary refs log tree commit diff stats
path: root/example/x86_32_mod.S
diff options
context:
space:
mode:
authorCamille Mougey <camille.mougey@cea.fr>2015-01-06 17:37:16 +0100
committerCamille Mougey <camille.mougey@cea.fr>2015-01-23 17:24:41 +0100
commit69ce9d7a43e60d97fb02ccef0a4f8f3aa3d427ee (patch)
tree059f2b6f194defa5ea4bd70affd93d345d1e10e3 /example/x86_32_mod.S
parent8caaa01f9a6f18a127a5825783d53b49c3a5f532 (diff)
downloadmiasm-69ce9d7a43e60d97fb02ccef0a4f8f3aa3d427ee.tar.gz
miasm-69ce9d7a43e60d97fb02ccef0a4f8f3aa3d427ee.zip
AsmBox: Extract assembly code from AsmBox examples
Diffstat (limited to 'example/x86_32_mod.S')
-rw-r--r--example/x86_32_mod.S35
1 files changed, 35 insertions, 0 deletions
diff --git a/example/x86_32_mod.S b/example/x86_32_mod.S
new file mode 100644
index 00000000..df7792af
--- /dev/null
+++ b/example/x86_32_mod.S
@@ -0,0 +1,35 @@
+main:
+    CALL test_automod
+    CALL test_automod
+    RET
+
+test_automod:
+    PUSH EBP
+    MOV  EBP, ESP
+
+loop:
+    MOV  EAX, 0
+    CMP  EAX, 0
+    JMP  mod_addr
+mod_addr:
+    JNZ  end
+
+    PUSH 0
+    PUSH title
+    PUSH msg
+    PUSH 0
+    CALL DWORD PTR [ MessageBoxA ]
+
+    ; automodif code
+    MOV BYTE PTR [mod_addr], 0xEB
+    JMP loop
+end:
+    MOV BYTE PTR [mod_addr], 0x75
+    MOV ESP, EBP
+    POP EBP
+    RET
+
+title:
+.string "Hello!"
+msg:
+.string "World!"