diff --git a/pupy/pupylib/payloads/dotnet.py b/pupy/pupylib/payloads/dotnet.py index 33196abb..e6398f12 100644 --- a/pupy/pupylib/payloads/dotnet.py +++ b/pupy/pupylib/payloads/dotnet.py @@ -9,7 +9,7 @@ import random import shlex from string import ascii_uppercase, ascii_lowercase -from os.path import join, splitext +from os.path import join, splitext, isfile from base64 import b64encode from pupylib.PupyOutput import Success, Error, List @@ -136,6 +136,10 @@ def dotnet_serve_payload(display, server, rawdll, conf, link_ip=""): dn = DotNetPayload(display, server, conf, rawdll) exe_path = dn.gen_exe(options='-target:library') + if not exe_path or not isfile(exe_path): + display(Error('Build failed')) + return + with open(exe_path, 'rb') as r: payload = r.read()