Skip to content

Enhance :ies for Android ELF entrypoint #1305

Enhance :ies for Android ELF entrypoint

Enhance :ies for Android ELF entrypoint #1305

Workflow file for this run

name: ci
env:
R2V: 5.9.4
on:
push:
branches:
- master
pull_request:
jobs:
build-linux20:
# fails because of a bug in frida on ubuntu20 .. probably invalid stat struct
runs-on: ubuntu-20.04
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Testing stat for frida-fs
run: make -C dist/docker test
- name: Installing radare2
run: |
wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2_${{env.R2V}}_amd64.deb
wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-dev_${{env.R2V}}_amd64.deb
sudo dpkg -i radare2_${{env.R2V}}_amd64.deb
sudo dpkg -i radare2-dev_${{env.R2V}}_amd64.deb
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Testing r2frida
run: make -C test
- name: Packaging
run: make -C dist/debian
- name: Pub
uses: actions/upload-artifact@v4
with:
name: build-linux20
path: dist/debian/*.deb
build-linux20-precompiled:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Installing radare2
run: |
wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2_${{env.R2V}}_amd64.deb
wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-dev_${{env.R2V}}_amd64.deb
sudo dpkg -i radare2_${{env.R2V}}_amd64.deb
sudo dpkg -i radare2-dev_${{env.R2V}}_amd64.deb
- name: Building r2frida
run: ./configure --with-precompiled-agent && make -j && sudo make install
- name: Packaging
run: make -C dist/debian R2CFG_FLAGS=--with-precompiled-agent
build-linux22:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Building Radare2
run: ( git clone --depth=1 https://github.com/radareorg/radare2 && cd radare2 && sys/install.sh --with-rpath /usr )
- name: Testing stat for frida-fs
run: make -C dist/docker test
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Packaging
run: make -C dist/debian
- name: Pub
uses: actions/upload-artifact@v4
with:
name: build-linux22
path: dist/debian/*.deb
build-agent:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Building Radare2
run: ( git clone --depth=1 https://github.com/radareorg/radare2 && cd radare2 && export CFLAGS=-O0 && sys/install.sh --with-rpath /usr )
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Pub
uses: actions/upload-artifact@v4
with:
name: build-agent
path: src/_agent.js
build-macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: brew install pkg-config
- name: Building Radare2
run: ( git clone --depth=1 https://github.com/radareorg/radare2 && cd radare2 && export CFLAGS=-O0 && ./configure && make -j && sudo make install )
- name: Building r2frida
run: ./configure && make -j && sudo make install
- name: Packaging
run: make -C dist/macos
- name: Pub
uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: build-macos
path: dist/macos/r2frida-*.pkg
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.7.x
- name: Preparing msvc toolchain
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: dependencies
shell: bash
run: |
pip install ninja meson wget
choco install zip
- name: install r2
shell: bash
run: |
python -m wget https://github.com/radareorg/radare2/releases/download/${{env.R2V}}/radare2-${{env.R2V}}-w64.zip -o r2.zip
unzip r2.zip
mv radare2-${{env.R2V}}-w64 radare2 || mv radare2-w64-${{env.R2V}} radare2
pwd
- name: make
shell: cmd
run: make.bat
- name: zip
shell: cmd
# run: zip -r r2frida-${{env.R2V}}-w64.zip src\io_frida.dll
run: zip -r r2frida-${{env.R2V}}-w64.zip src\r2frida-compile.exe
- uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: build-windows
path: r2frida-${{env.R2V}}-w64.zip
check_release:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
outputs:
is_release: ${{ steps.release.outputs.is }}
tag_name: ${{ steps.release.outputs.tag }}
needs:
- build-linux20
- build-linux22
- build-macos
- build-windows
- build-agent
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Download all git history and tags
- name: Check if is a release
run: git describe --exact-match --tags ${{ github.sha }} | awk 'BEGIN{tag="-";r="no"}/^[0-9]+\.[0-9]+/{tag=$0;r="yes"};END{print "::set-output name=is::"r;print "::set-output name=tag::"tag}'
id: release
release:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' && needs.check_release.outputs.is_release == 'yes' }}
needs:
- check_release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Download all git history and tags
- name: Extract r2f version
run: echo "##[set-output name=branch;]$( ./configure -qV )"
id: r2fv
- name: Prepare release notes
run: ./sys/release-notes.sh | tee ./RELEASE_NOTES.md
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: dist/artifacts
- name: Create GitHub release
id: create_release
uses: softprops/action-gh-release@0a7d9cdbe44d16ac5fe9788836ca8af96266902e
with:
name: ${{ steps.r2fv.outputs.branch }}
tag_name: ${{ needs.check_release.outputs.tag_name }}
body_path: ./RELEASE_NOTES.md
draft: false
prerelease: false
generate_release_notes: false
files: |
dist/artifacts/build-linux22/r2frida_*_amd64.deb
dist/artifacts/build-agent/_agent.js
dist/artifacts/build-macos/r2frida-*-x64.pkg
dist/artifacts/build-windows/r2frida-*-w64.zip