strongR-frida #171
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: strongR-frida | |
on: | |
schedule: | |
- cron: "0 9/12 * * *" | |
workflow_dispatch: | |
jobs: | |
check_version: | |
runs-on: ubuntu-20.04 | |
outputs: | |
FRIDA_VERSION: ${{ steps.pullFridaLatestRelease.outputs.FRIDA_VERSION }} | |
ALREADY_RELEASE: ${{ steps.checkReleaseVersion.outputs.ALREADY_RELEASE }} | |
steps: | |
- name: Pull Frida Latest Release | |
id: pullFridaLatestRelease | |
uses: actions/[email protected] | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
const releaseResponse = await github.repos.getLatestRelease({ | |
owner: 'frida', | |
repo: 'frida', | |
}) | |
const { | |
data: { tag_name: ver } | |
} = releaseResponse; | |
core.setOutput('FRIDA_VERSION', ver); | |
- name: Check release version | |
id: checkReleaseVersion | |
uses: actions/[email protected] | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
try { | |
const releaseVersion = '${{ steps.pullFridaLatestRelease.outputs.FRIDA_VERSION }}' | |
const releaseResponse = await github.repos.getReleaseByTag({ | |
owner: '${{ secrets.GIT_OWNER }}', | |
repo: '${{ secrets.GIT_REPO }}', | |
tag: releaseVersion | |
}); | |
const { | |
data: { tag_name: ver } | |
} = releaseResponse; | |
if (ver == '${{ steps.pullFridaLatestRelease.outputs.FRIDA_VERSION }}'){ | |
core.setOutput('ALREADY_RELEASE', '1'); | |
} | |
else{ | |
core.setOutput('ALREADY_RELEASE', '0'); | |
} | |
} catch (e) { | |
if(e.message == 'Not Found'){ | |
core.setOutput('ALREADY_RELEASE', '0'); | |
} | |
else{ | |
core.setFailed(e.message); | |
} | |
} | |
create_release: | |
needs: check_version | |
runs-on: ubuntu-20.04 | |
if: needs.check_version.outputs.ALREADY_RELEASE == '0' | |
steps: | |
- uses: actions/create-release@master | |
id: createRelease | |
name: Create Runner Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: "${{ needs.check_version.outputs.FRIDA_VERSION }}" | |
release_name: "${{ needs.check_version.outputs.FRIDA_VERSION }}" | |
prerelease: false | |
android_build: | |
runs-on: ubuntu-20.04 | |
needs: [check_version, create_release] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- uses: de-vri-es/setup-git-credentials@v2 | |
with: | |
credentials: ${{secrets.GIT_CREDENTIALS}} | |
- name: set up JDK 1.8 | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 1.8 | |
- name: Setup Android NDK | |
id: setup-ndk | |
uses: nttld/[email protected] | |
with: | |
ndk-version: r25b | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: install dependencies | |
run: | | |
sudo apt-get update && DEBIAN_FRONTEND=noninteractive sudo apt-get install build-essential tree ninja-build gcc-multilib g++-multilib lib32stdc++-9-dev flex bison xz-utils ruby ruby-dev python3-requests python3-setuptools python3-dev python3-pip libc6-dev libc6-dev-i386 -y | |
sudo gem install fpm -v 1.11.0 --no-document | |
python3 -m pip install lief | |
- name: build frida for Android | |
shell: bash | |
run: | | |
git config --global user.name "${{ secrets.GIT_NAME }}" | |
git config --global user.email "${{ secrets.GIT_EMAIL }}" | |
git clone ${{ secrets.PATCH_REPO }} | |
export ANDROID_NDK_ROOT=${{ steps.setup-ndk.outputs.ndk-path }} | |
git clone --recurse-submodules https://github.com/frida/frida | |
rm -rf frida/frida-core | |
cp -r frida-core frida/frida-core | |
cd frida | |
make core-android-arm | |
make core-android-arm64 | |
make core-android-x86 | |
make core-android-x86_64 | |
- name: Check release version | |
id: checkReleaseVersion | |
uses: actions/[email protected] | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
try { | |
const releaseVersion = '${{ needs.check_version.outputs.FRIDA_VERSION }}' | |
const releaseResponse = await github.repos.getReleaseByTag({ | |
owner: '${{ secrets.GIT_OWNER }}', | |
repo: '${{ secrets.GIT_REPO }}', | |
tag: releaseVersion | |
}) | |
const { | |
data: { id: releaseId, html_url: htmlUrl, upload_url: uploadUrl } | |
} = releaseResponse; | |
core.setOutput('id', releaseId); | |
core.setOutput('html_url', htmlUrl); | |
core.setOutput('upload_url', uploadUrl); | |
core.setOutput('version', releaseVersion); | |
} catch (e) { | |
core.setFailed(e.message); | |
} | |
- name: package build result for Android | |
shell: bash | |
run: | | |
pushd frida | |
xz build/frida-android-arm/bin/frida-server | |
xz build/frida-android-arm64/bin/frida-server | |
xz build/frida-android-x86/bin/frida-server | |
xz build/frida-android-x86_64/bin/frida-server | |
xz build/frida-android-arm/bin/frida-inject | |
xz build/frida-android-arm64/bin/frida-inject | |
xz build/frida-android-x86/bin/frida-inject | |
xz build/frida-android-x86_64/bin/frida-inject | |
xz build/frida-android-arm/lib/frida/32/frida-gadget.so | |
xz build/frida-android-arm64/lib/frida/64/frida-gadget.so | |
xz build/frida-android-x86/lib/frida/32/frida-gadget.so | |
xz build/frida-android-x86_64/lib/frida/64/frida-gadget.so | |
popd | |
- name: Upload android arm frida-server for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm/bin/frida-server.xz' | |
asset_name: 'hluda-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android arm64 frida-server for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm64/bin/frida-server.xz' | |
asset_name: 'hluda-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android x86 frida-server for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86/bin/frida-server.xz' | |
asset_name: 'hluda-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android x86_64 frida-server for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86_64/bin/frida-server.xz' | |
asset_name: 'hluda-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86_64.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android arm frida-inject for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm/bin/frida-inject.xz' | |
asset_name: 'hluda-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android arm64 frida-inject for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm64/bin/frida-inject.xz' | |
asset_name: 'hluda-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android x86 frida-inject for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86/bin/frida-inject.xz' | |
asset_name: 'hluda-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android x86_64 frida-inject for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86_64/bin/frida-inject.xz' | |
asset_name: 'hluda-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm-x86_64.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android arm frida-gadget for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm/lib/frida/32/frida-gadget.so.xz' | |
asset_name: 'hluda-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.so.xz' | |
asset_content_type: application/octet-stream | |
- name: Upload android arm64 frida-gadget for strongR-frida | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}' | |
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm64/lib/frida/64/frida-gadget.so.xz' | |
asset_name: 'hluda-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.so.xz' | |
asset_content_type: application/octet-stream | |