Skip to content

Commit 72e42e9

Browse files
Merge pull request #52 from Pennyw0rth/feature/linux_build
Finalize Native Builds
2 parents 310d178 + bf91d6d commit 72e42e9

File tree

5 files changed

+122
-97
lines changed

5 files changed

+122
-97
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Build ZippApps
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
name: Building Python ZipApp on ${{ matrix.os }}
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
matrix:
12+
os: [ubuntu-latest, macOS-latest, windows-latest]
13+
python-version: ["3.8", "3.9", "3.10", "3.11"]
14+
steps:
15+
- uses: actions/checkout@v3
16+
- name: NetExec set up python on ${{ matrix.os }}
17+
uses: actions/setup-python@v4
18+
with:
19+
python-version: ${{ matrix.python-version }}
20+
- name: Build Python ZipApp with Shiv
21+
run: |
22+
pip install shiv
23+
python build_collector.py
24+
- name: Upload nxc ZipApp
25+
uses: actions/upload-artifact@v3
26+
with:
27+
name: nxc-zipapp-${{ matrix.os }}-${{ matrix.python-version }}
28+
path: bin/nxc
29+
- name: Upload nxcdb ZipApp
30+
uses: actions/upload-artifact@v3
31+
with:
32+
name: nxcdb-zipapp-${{ matrix.os }}-${{ matrix.python-version }}
33+
path: bin/nxcdb
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Build Binaries
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
name: Building Binary on ${{ matrix.os }}
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
matrix:
12+
os: [ubuntu-latest, macOS-latest, windows-latest]
13+
python-version: ["3.11"]
14+
#python-version: ["3.8", "3.9", "3.10", "3.11"] # for binary builds we only need one version
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: NetExec set up python on ${{ matrix.os }}
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: ${{ matrix.python-version }}
21+
- name: Build Native Binary
22+
run: |
23+
pip install pyinstaller
24+
pip install .
25+
pyinstaller netexec.spec
26+
- name: Upload Windows Binary
27+
if: runner.os == 'windows'
28+
uses: actions/upload-artifact@v3
29+
with:
30+
name: nxc.exe
31+
path: dist/nxc.exe
32+
- name: Upload Nix/OSx Binary
33+
if: runner.os != 'windows'
34+
uses: actions/upload-artifact@v3
35+
with:
36+
name: nxc-${{ matrix.os }}
37+
path: dist/nxc

.github/workflows/netexec.yml

Lines changed: 0 additions & 45 deletions
This file was deleted.

netexec.spec

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -13,57 +13,57 @@ a = Analysis(
1313
('./nxc/modules', 'nxc/modules')
1414
],
1515
hiddenimports=[
16-
'impacket.examples.secretsdump',
17-
'impacket.dcerpc.v5.lsat',
18-
'impacket.dcerpc.v5.transport',
19-
'impacket.dcerpc.v5.lsad',
20-
'impacket.dcerpc.v5.gkdi',
21-
'impacket.dcerpc.v5.rprn',
22-
'impacket.dpapi_ng',
23-
'impacket.tds',
24-
'impacket.version',
25-
'impacket.ldap.ldap',
26-
'nxc.connection',
27-
'nxc.servers.smb',
28-
'nxc.protocols.smb.wmiexec',
29-
'nxc.protocols.smb.atexec',
30-
'nxc.protocols.smb.smbexec',
31-
'nxc.protocols.smb.mmcexec',
32-
'nxc.protocols.smb.smbspider',
33-
'nxc.protocols.smb.passpol',
34-
'nxc.protocols.mssql.mssqlexec',
35-
'nxc.helpers.bash',
36-
'nxc.helpers.bloodhound',
37-
'nxc.helpers.msada_guids',
38-
'paramiko',
39-
'pypsrp.client',
40-
'pywerview.cli.helpers',
41-
'pylnk3',
42-
'pypykatz',
43-
'masky',
44-
'msldap',
45-
'msldap.connection',
46-
'lsassy',
47-
'lsassy.dumper',
48-
'lsassy.parser',
49-
'lsassy.session',
50-
'lsassy.impacketfile',
51-
'dns',
52-
'dns.name',
53-
'dns.resolver',
54-
'dploot',
55-
'dploot.triage',
56-
'dploot.triage.rdg',
57-
'dploot.triage.vaults',
58-
'dploot.triage.browser',
59-
'dploot.triage.credentials',
60-
'dploot.triage.masterkeys',
61-
'dploot.triage.backupkey',
62-
'dploot.triage.wifi',
63-
'dploot.lib.target',
64-
'dploot.lib.smb',
65-
'pyasn1_modules.rfc5652',
66-
'unicrypto.backends.pycryptodomex',
16+
'impacket.examples.secretsdump',
17+
'impacket.dcerpc.v5.lsat',
18+
'impacket.dcerpc.v5.transport',
19+
'impacket.dcerpc.v5.lsad',
20+
'impacket.dcerpc.v5.gkdi',
21+
'impacket.dcerpc.v5.rprn',
22+
'impacket.dpapi_ng',
23+
'impacket.tds',
24+
'impacket.version',
25+
'impacket.ldap.ldap',
26+
'nxc.connection',
27+
'nxc.servers.smb',
28+
'nxc.protocols.smb.wmiexec',
29+
'nxc.protocols.smb.atexec',
30+
'nxc.protocols.smb.smbexec',
31+
'nxc.protocols.smb.mmcexec',
32+
'nxc.protocols.smb.smbspider',
33+
'nxc.protocols.smb.passpol',
34+
'nxc.protocols.mssql.mssqlexec',
35+
'nxc.helpers.bash',
36+
'nxc.helpers.bloodhound',
37+
'nxc.helpers.msada_guids',
38+
'paramiko',
39+
'pypsrp.client',
40+
'pywerview.cli.helpers',
41+
'pylnk3',
42+
'pypykatz',
43+
'masky',
44+
'msldap',
45+
'msldap.connection',
46+
'lsassy',
47+
'lsassy.dumper',
48+
'lsassy.parser',
49+
'lsassy.session',
50+
'lsassy.impacketfile',
51+
'dns',
52+
'dns.name',
53+
'dns.resolver',
54+
'dploot',
55+
'dploot.triage',
56+
'dploot.triage.rdg',
57+
'dploot.triage.vaults',
58+
'dploot.triage.browser',
59+
'dploot.triage.credentials',
60+
'dploot.triage.masterkeys',
61+
'dploot.triage.backupkey',
62+
'dploot.triage.wifi',
63+
'dploot.lib.target',
64+
'dploot.lib.smb',
65+
'pyasn1_modules.rfc5652',
66+
'unicrypto.backends.pycryptodomex',
6767
],
6868
hookspath=['./nxc/.hooks'],
6969
runtime_hooks=[],
@@ -85,7 +85,7 @@ exe = EXE(
8585
a.zipfiles,
8686
a.datas,
8787
[],
88-
name='netexec',
88+
name='nxc',
8989
debug=False,
9090
bootloader_ignore_signals=False,
9191
strip=False,

nxc/data/nxc.ico

33.1 KB
Binary file not shown.

0 commit comments

Comments
 (0)