Skip to content

Commit

Permalink
Example: add sc2pe.py
Browse files Browse the repository at this point in the history
  • Loading branch information
WilliamBruneau committed Dec 2, 2019
1 parent c37cec9 commit b4f573d
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions example/loader/sc2pe.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import sys

from argparse import ArgumentParser
from miasm.loader import pe_init


parser = ArgumentParser(description="Create a PE from a shellcode")
parser.add_argument("filename",
help="x86 shellcode filename")
parser.add_argument("-p", "--pename",
help="new PE filename (default is 'sc_pe.exe')",
default="sc_pe.exe")
parser.add_argument("-w", "--word-size",
help="word size (default is 32 bits)",
choices=[32, 64],
type=int,
default=32)
args = parser.parse_args()


data = open(args.filename, 'rb').read()
pe = pe_init.PE(wsize=args.word_size)
s_text = pe.SHList.add_section(name="text", addr=0x1000, data=data)
pe.Opthdr.AddressOfEntryPoint = s_text.addr
open(args.pename, 'wb').write(bytes(pe))

0 comments on commit b4f573d

Please sign in to comment.