diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2019-12-04 11:07:55 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-04 11:07:55 +0100 |
| commit | a900c85a32e1504da96e9ffe7138f85e13ebee04 (patch) | |
| tree | a31f551785f12f995d8c2f098b9d807dc6ca5c15 /example/loader/sc2pe.py | |
| parent | c37cec913ac7724f20b0da3e2ef66ae45bbb54c4 (diff) | |
| parent | 2cf53c576fae38f7882f4b86909bf2e0f076d6b1 (diff) | |
| download | miasm-a900c85a32e1504da96e9ffe7138f85e13ebee04.tar.gz miasm-a900c85a32e1504da96e9ffe7138f85e13ebee04.zip | |
Merge pull request #1106 from WilliamBruneau/loader_examples
More loader examples
Diffstat (limited to 'example/loader/sc2pe.py')
| -rw-r--r-- | example/loader/sc2pe.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/example/loader/sc2pe.py b/example/loader/sc2pe.py new file mode 100644 index 00000000..95359419 --- /dev/null +++ b/example/loader/sc2pe.py @@ -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)) |