diff options
Diffstat (limited to 'example/asm_box.py')
| -rw-r--r-- | example/asm_box.py | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/example/asm_box.py b/example/asm_box.py deleted file mode 100644 index e610eda1..00000000 --- a/example/asm_box.py +++ /dev/null @@ -1,36 +0,0 @@ -#! /usr/bin/env python - -from miasm.core import parse_asm -from miasm.core import asmbloc -from miasm.arch.ia32_arch import * -from elfesteem import * -e = pe_init.PE() -s_text = e.SHList.add_section(name = "text ", addr = 0x1000, rawsize = 0x100) -s_iat = e.SHList.add_section(name = "iat" , rawsize = 0x100) -new_dll = [({ "name" : "USER32.dll", - "firstthunk" : s_iat.addr}, - ["MessageBoxA"])] -e.DirImport.add_dlldesc(new_dll) -s_myimp = e.SHList.add_section(name = "myimp",rawsize = len(e.DirImport)) -e.DirImport.set_rva(s_myimp.addr) -all_bloc, symbol_pool = parse_asm.parse_txt(x86_mn, r''' -main: - push 0 - push title - push msg - push 0 - call [ MessageBoxA ] - ret -title: -.string "Hello!" -msg: -.string "World!" -''') -symbol_pool.add_label('base_address', 0) -symbol_pool.set_offset(symbol_pool.getby_name("MessageBoxA"),e.DirImport.get_funcvirt('MessageBoxA')) -symbol_pool.set_offset(symbol_pool.getby_name("main"), e.rva2virt(s_text.addr)) -resolved_b, patches = asmbloc.asm_resolve_final(x86_mn, all_bloc[0], symbol_pool) -for p in patches: - e.virt[p] = patches[p] -e.Opthdr.AddressOfEntryPoint = e.virt2rva(symbol_pool.getby_name("main").offset) -open('msg.exe', 'wb').write(str(e)) |