diff --git a/.github/workflows/Linux.yml b/.github/workflows/Build-And-Publish-Python3-Bindings.yml similarity index 100% rename from .github/workflows/Linux.yml rename to .github/workflows/Build-And-Publish-Python3-Bindings.yml diff --git a/.github/workflows/Mac.yml b/.github/workflows/Mac.yml deleted file mode 100644 index e69de29..0000000 diff --git a/.github/workflows/Testing.yml b/.github/workflows/Testing.yml new file mode 100644 index 0000000..dc389b6 --- /dev/null +++ b/.github/workflows/Testing.yml @@ -0,0 +1,41 @@ +name: Testing + +on: + push: + branches: + - '*' + tags-ignore: + - '*' + pull_request: + +jobs: + windows-testing: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + - name: Install swig + run: | + choco install python --version=3.8.0 + choco install --yes swig + - name: Build + run: make all + - name: Run Tests + run: | + make all ; + python -c "from pwnlib.tubes import process; process.send()" + - name: Clean + run: make clean + + ubuntu-testing: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Install swig + run: | + sudo apt install --yes swig + - name: Build + run: echo "hello world" \ No newline at end of file diff --git a/.github/workflows/Windows.yml b/.github/workflows/Windows.yml index e69de29..f5f6155 100644 --- a/.github/workflows/Windows.yml +++ b/.github/workflows/Windows.yml @@ -0,0 +1,43 @@ +name: Testing + +on: + push: + branches: + - '*' + tags-ignore: + - '*' + pull_request: + +jobs: + windows-testing: + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + - name: Install swig + run: | + choco install python # --version=3.8.0 + choco install --yes swig + - name: Build + run: | + python --version + make all + - name: Run Tests + run: | + make all ; + python -c "from pwnlib.tubes import process; process.send()" + - name: Clean + run: make clean + + ubuntu-testing: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Install swig + run: | + sudo apt install --yes swig + - name: Build + run: echo "hello world" \ No newline at end of file diff --git a/Makefile b/Makefile index f4c290e..71a02e3 100644 --- a/Makefile +++ b/Makefile @@ -7,4 +7,4 @@ all: $(MAKE) -C pwnlib clean: - $(MAKE) -C pwnlib clean \ No newline at end of file + $(MAKE) -C pwnlib clean \ No newline at end of file diff --git a/Readme.md b/Readme.md index f56a23b..e5fb5c7 100644 --- a/Readme.md +++ b/Readme.md @@ -8,21 +8,48 @@ As the dev have some experience with the old pwntools, the new tool aims to fix - windows program and drivers support. More than pwntools. - Linux driver support (more than pwn++ that is written in C++ instead of C). -# I.1 Build +# I Build -# I.1 Install dependencies +# I.1 Install building dependencies -```shell -choco install --yes doxygen.install -choco install --yes doxygen.portable +``` choco install --yes swig ``` -# I.2 Build really +# I.2 Build/Clean project + +build with ```shell make all ``` +clean with + +```shell +make clean +``` + +# II Contributing + +# Install dev dependencies + +```shell +choco install --yes doxygen.install +choco install --yes doxygen.portable +choco install --yes swig +``` + +# II.1 Bindings with swig + +Each set of .h/.c of file you create MUST be followed by another .i file with the same name containing swig binding definition. + +It will then autogenerate binding so that our c program with c perf and c syntax will be available by importation in most of the languages including python. + +Watch the swig doc for more informations. + +# II.2 Documentating with doxygen + +# II.3 Testing with integrated doxygen doctest # alternatives: diff --git a/pwnlib/Makefile b/pwnlib/Makefile index 6fc7e9c..4f81071 100644 --- a/pwnlib/Makefile +++ b/pwnlib/Makefile @@ -5,4 +5,4 @@ all: $(MAKE) -C tubes clean: - $(MAKE) -C tubes clean \ No newline at end of file + $(MAKE) -C tubes clean \ No newline at end of file