Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54e22b6163 | ||
|
|
4803ab5231 | ||
|
|
7829b5ef40 | ||
|
|
dd77d7f6c2 | ||
|
|
06c9764ec5 | ||
|
|
f8fc2b2b3d | ||
|
|
c6f745cb65 | ||
|
|
39b73f40b4 | ||
|
|
fcc6e1546e | ||
|
|
283d4c2952 | ||
|
|
aab2817ca2 | ||
|
|
dae5b01520 | ||
|
|
c1ea5de9bf | ||
|
|
0cbd6a9d92 | ||
|
|
1a61c79dbb |
89
.github/workflows/build.yml
vendored
89
.github/workflows/build.yml
vendored
@@ -109,7 +109,7 @@ jobs:
|
|||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 16
|
node-version: 18
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
@@ -121,42 +121,52 @@ jobs:
|
|||||||
id: setup-ndk
|
id: setup-ndk
|
||||||
uses: nttld/setup-ndk@v1
|
uses: nttld/setup-ndk@v1
|
||||||
with:
|
with:
|
||||||
ndk-version: r25c
|
ndk-version: r25b
|
||||||
local-cache: true
|
local-cache: true
|
||||||
|
|
||||||
- name: Set up Python 3.8
|
- name: Set up Python 3.9
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.9
|
||||||
|
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: |
|
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 ruby ruby-dev python3-requests python3-setuptools python3-dev python3-pip libc6-dev libc6-dev-i386 -y
|
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 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
|
sudo gem install fpm -v 1.11.0 --no-document
|
||||||
python3 -m pip install lief
|
python3 -m pip install lief graphlib
|
||||||
|
|
||||||
- name: build frida for Android
|
- name: build frida for Android
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
git config --global user.name "GitHub Actions"
|
git config --global user.name "GitHub Actions"
|
||||||
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||||
|
|
||||||
export ANDROID_NDK_ROOT=${{ steps.setup-ndk.outputs.ndk-path }}
|
export ANDROID_NDK_ROOT=${{ steps.setup-ndk.outputs.ndk-path }}
|
||||||
|
echo "ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT"
|
||||||
|
|
||||||
git clone --recurse-submodules https://github.com/frida/frida
|
git clone --recurse-submodules https://github.com/frida/frida
|
||||||
cd frida
|
cd frida
|
||||||
for path in ../patches/*
|
for path in ../patches/*
|
||||||
do
|
do
|
||||||
name=$(basename $path)
|
name=$(basename $path)
|
||||||
real=$(realpath $path)
|
real=$(realpath $path)
|
||||||
echo "Apply patches in $real to frida/$name"
|
echo "Apply patches in $real to frida/subprojects/$name"
|
||||||
cd $name
|
cd subprojects/$name
|
||||||
git am ../../patches/$name/*.patch
|
git am ../../../patches/$name/*.patch
|
||||||
cd ..
|
cd ../..
|
||||||
echo $i
|
echo $i
|
||||||
done
|
done
|
||||||
make core-android-arm
|
cd ..
|
||||||
make core-android-arm64
|
|
||||||
make core-android-x86
|
ARCHES="android-arm android-arm64 android-x86 android-x86_64"
|
||||||
make core-android-x86_64
|
for ARCH in $ARCHES
|
||||||
|
do
|
||||||
|
mkdir build-$ARCH
|
||||||
|
cd build-$ARCH
|
||||||
|
../frida/configure --host=$ARCH
|
||||||
|
make
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
|
||||||
- name: Split Repository Name
|
- name: Split Repository Name
|
||||||
id: split_name
|
id: split_name
|
||||||
@@ -193,27 +203,22 @@ jobs:
|
|||||||
- name: package build result for Android
|
- name: package build result for Android
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
pushd frida
|
|
||||||
|
|
||||||
gzip build/frida-android-arm/bin/frida-server
|
gzip build-android-arm/subprojects/frida-core/server/frida-server
|
||||||
gzip build/frida-android-arm64/bin/frida-server
|
gzip build-android-arm64/subprojects/frida-core/server/frida-server
|
||||||
|
gzip build-android-x86/subprojects/frida-core/server/frida-server
|
||||||
|
gzip build-android-x86_64/subprojects/frida-core/server/frida-server
|
||||||
|
|
||||||
gzip build/frida-android-x86/bin/frida-server
|
gzip build-android-arm/subprojects/frida-core/inject/frida-inject
|
||||||
gzip build/frida-android-x86_64/bin/frida-server
|
gzip build-android-arm64/subprojects/frida-core/inject/frida-inject
|
||||||
|
gzip build-android-x86/subprojects/frida-core/inject/frida-inject
|
||||||
|
gzip build-android-x86_64/subprojects/frida-core/inject/frida-inject
|
||||||
|
|
||||||
gzip build/frida-android-arm/bin/frida-inject
|
gzip build-android-arm/subprojects/frida-core/lib/gadget/frida-gadget.so
|
||||||
gzip build/frida-android-arm64/bin/frida-inject
|
gzip build-android-arm64/subprojects/frida-core/lib/gadget/frida-gadget.so
|
||||||
|
gzip build-android-x86/subprojects/frida-core/lib/gadget/frida-gadget.so
|
||||||
|
gzip build-android-x86_64/subprojects/frida-core/lib/gadget/frida-gadget.so
|
||||||
|
|
||||||
gzip build/frida-android-x86/bin/frida-inject
|
|
||||||
gzip build/frida-android-x86_64/bin/frida-inject
|
|
||||||
|
|
||||||
gzip build/frida-android-arm/lib/frida/32/frida-gadget.so
|
|
||||||
gzip build/frida-android-arm64/lib/frida/64/frida-gadget.so
|
|
||||||
|
|
||||||
gzip build/frida-android-x86/lib/frida/32/frida-gadget.so
|
|
||||||
gzip build/frida-android-x86_64/lib/frida/64/frida-gadget.so
|
|
||||||
|
|
||||||
popd
|
|
||||||
|
|
||||||
- name: Upload android arm frida-server for Florida
|
- name: Upload android arm frida-server for Florida
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
uses: actions/upload-release-asset@v1.0.2
|
||||||
@@ -221,7 +226,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm/bin/frida-server.gz'
|
asset_path: '${{ github.workspace }}/build-android-arm/subprojects/frida-core/server/frida-server.gz'
|
||||||
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.gz'
|
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -231,7 +236,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm64/bin/frida-server.gz'
|
asset_path: '${{ github.workspace }}/build-android-arm64/subprojects/frida-core/server/frida-server.gz'
|
||||||
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.gz'
|
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -241,7 +246,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86/bin/frida-server.gz'
|
asset_path: '${{ github.workspace }}/build-android-x86/subprojects/frida-core/server/frida-server.gz'
|
||||||
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.gz'
|
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -251,7 +256,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86_64/bin/frida-server.gz'
|
asset_path: '${{ github.workspace }}/build-android-x86_64/subprojects/frida-core/server/frida-server.gz'
|
||||||
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86_64.gz'
|
asset_name: 'florida-server-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86_64.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -261,7 +266,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm/bin/frida-inject.gz'
|
asset_path: '${{ github.workspace }}/build-android-arm/subprojects/frida-core/inject/frida-inject.gz'
|
||||||
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.gz'
|
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -271,7 +276,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm64/bin/frida-inject.gz'
|
asset_path: '${{ github.workspace }}/build-android-arm64/subprojects/frida-core/inject/frida-inject.gz'
|
||||||
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.gz'
|
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -281,7 +286,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86/bin/frida-inject.gz'
|
asset_path: '${{ github.workspace }}/build-android-x86/subprojects/frida-core/inject/frida-inject.gz'
|
||||||
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.gz'
|
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -291,7 +296,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86_64/bin/frida-inject.gz'
|
asset_path: '${{ github.workspace }}/build-android-x86_64/subprojects/frida-core/inject/frida-inject.gz'
|
||||||
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm-x86_64.gz'
|
asset_name: 'florida-inject-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm-x86_64.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -301,7 +306,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm/lib/frida/32/frida-gadget.so.gz'
|
asset_path: '${{ github.workspace }}/build-android-arm/subprojects/frida-core/lib/gadget/frida-gadget.so.gz'
|
||||||
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.so.gz'
|
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm.so.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -311,7 +316,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-arm64/lib/frida/64/frida-gadget.so.gz'
|
asset_path: '${{ github.workspace }}/build-android-arm64/subprojects/frida-core/lib/gadget/frida-gadget.so.gz'
|
||||||
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.so.gz'
|
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-arm64.so.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -321,7 +326,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86/lib/frida/32/frida-gadget.so.gz'
|
asset_path: '${{ github.workspace }}/build-android-x86/subprojects/frida-core/lib/gadget/frida-gadget.so.gz'
|
||||||
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.so.gz'
|
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86.so.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -331,7 +336,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
upload_url: '${{ steps.checkReleaseVersion.outputs.upload_url }}'
|
||||||
asset_path: '${{ github.workspace }}/frida/build/frida-android-x86_64/lib/frida/64/frida-gadget.so.gz'
|
asset_path: '${{ github.workspace }}/build-android-x86_64/subprojects/frida-core/lib/gadget/frida-gadget.so.gz'
|
||||||
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86_64.so.gz'
|
asset_name: 'florida-gadget-${{ needs.check_version.outputs.FRIDA_VERSION }}-android-x86_64.so.gz'
|
||||||
asset_content_type: application/octet-stream
|
asset_content_type: application/octet-stream
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 2ee45f8d8bd12ae7bb58bc9d792241dd10e52c9d Mon Sep 17 00:00:00 2001
|
From d7201c32bd8cf347cacd7427a942e0e0188045a1 Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 15:51:29 +0800
|
Date: Tue, 18 Jul 2023 15:51:29 +0800
|
||||||
Subject: [PATCH 01/10] Florida: string_frida_rpc
|
Subject: [PATCH 1/9] Florida: string_frida_rpc
|
||||||
|
|
||||||
---
|
---
|
||||||
lib/base/rpc.vala | 15 ++++++++++++---
|
lib/base/rpc.vala | 15 ++++++++++++---
|
||||||
@@ -54,5 +54,5 @@ index 3695ba8c..664bd19c 100644
|
|||||||
|
|
||||||
var request_id_value = rpc_message.get_element (1);
|
var request_id_value = rpc_message.get_element (1);
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
From c809d93142d30299ab33aa3b125fc8096e280d6c Mon Sep 17 00:00:00 2001
|
From 98034685d895e07aa0cf079eb7f73189f12c6d66 Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 15:57:19 +0800
|
Date: Tue, 18 Jul 2023 15:57:19 +0800
|
||||||
Subject: [PATCH 03/10] Florida: frida_agent_so
|
Subject: [PATCH 2/9] Florida: frida_agent_so
|
||||||
|
|
||||||
---
|
---
|
||||||
src/linux/linux-host-session.vala | 7 ++++---
|
src/linux/linux-host-session.vala | 7 ++++---
|
||||||
@@ -29,5 +29,5 @@ index 50470ac8..64245792 100644
|
|||||||
AgentMode.INSTANCED,
|
AgentMode.INSTANCED,
|
||||||
tempdir);
|
tempdir);
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
From 9c54a36d6cf608cbe24c9771b4a4f2b3774bebd0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ylarod <me@ylarod.cn>
|
|
||||||
Date: Tue, 18 Jul 2023 15:52:56 +0800
|
|
||||||
Subject: [PATCH 02/10] Florida: re_frida_server
|
|
||||||
|
|
||||||
---
|
|
||||||
server/server.vala | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/server/server.vala b/server/server.vala
|
|
||||||
index f96c7ca5..dc6ff452 100644
|
|
||||||
--- a/server/server.vala
|
|
||||||
+++ b/server/server.vala
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
namespace Frida.Server {
|
|
||||||
private static Application application;
|
|
||||||
|
|
||||||
- private const string DEFAULT_DIRECTORY = "re.frida.server";
|
|
||||||
+ private static string DEFAULT_DIRECTORY = null;
|
|
||||||
private static bool output_version = false;
|
|
||||||
private static string? listen_address = null;
|
|
||||||
private static string? certpath = null;
|
|
||||||
@@ -50,6 +50,7 @@ namespace Frida.Server {
|
|
||||||
};
|
|
||||||
|
|
||||||
private static int main (string[] args) {
|
|
||||||
+ DEFAULT_DIRECTORY = GLib.Uuid.string_random();
|
|
||||||
Environment.init ();
|
|
||||||
|
|
||||||
#if DARWIN
|
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
|
||||||
@@ -1,28 +1,27 @@
|
|||||||
From 1099700c48f5cf48f76792b929d5916be4a98e04 Mon Sep 17 00:00:00 2001
|
From e108bdb7be0e5756a613fbe1162f07a8623da327 Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 16:02:50 +0800
|
Date: Tue, 18 Jul 2023 16:02:50 +0800
|
||||||
Subject: [PATCH 04/10] Florida: symbol_frida_agent_main
|
Subject: [PATCH 3/9] Florida: symbol_frida_agent_main
|
||||||
|
|
||||||
---
|
---
|
||||||
src/agent-container.vala | 2 +-
|
src/agent-container.vala | 2 +-
|
||||||
src/anti-anti-frida.py | 27 +++++++++++++++++++++++++++
|
src/anti-anti-frida.py | 27 +++++++++++++++++++++++++++
|
||||||
src/darwin/darwin-host-session.vala | 2 +-
|
src/darwin/darwin-host-session.vala | 2 +-
|
||||||
src/embed-agent.sh | 10 ++++++++++
|
|
||||||
src/freebsd/freebsd-host-session.vala | 2 +-
|
src/freebsd/freebsd-host-session.vala | 2 +-
|
||||||
src/linux/linux-host-session.vala | 2 +-
|
src/linux/linux-host-session.vala | 2 +-
|
||||||
src/qnx/qnx-host-session.vala | 2 +-
|
src/qnx/qnx-host-session.vala | 2 +-
|
||||||
src/windows/windows-host-session.vala | 2 +-
|
src/windows/windows-host-session.vala | 2 +-
|
||||||
tests/test-agent.vala | 2 +-
|
tests/test-agent.vala | 2 +-
|
||||||
tests/test-injector.vala | 2 +-
|
tests/test-injector.vala | 2 +-
|
||||||
10 files changed, 45 insertions(+), 8 deletions(-)
|
9 files changed, 35 insertions(+), 8 deletions(-)
|
||||||
create mode 100644 src/anti-anti-frida.py
|
create mode 100644 src/anti-anti-frida.py
|
||||||
|
|
||||||
diff --git a/src/agent-container.vala b/src/agent-container.vala
|
diff --git a/src/agent-container.vala b/src/agent-container.vala
|
||||||
index a8db6b29..afe514cb 100644
|
index 73e0c017..a3db1112 100644
|
||||||
--- a/src/agent-container.vala
|
--- a/src/agent-container.vala
|
||||||
+++ b/src/agent-container.vala
|
+++ b/src/agent-container.vala
|
||||||
@@ -25,7 +25,7 @@ namespace Frida {
|
@@ -28,7 +28,7 @@ namespace Frida {
|
||||||
assert (container.module != null);
|
}
|
||||||
|
|
||||||
void * main_func_symbol;
|
void * main_func_symbol;
|
||||||
- var main_func_found = container.module.symbol ("frida_agent_main", out main_func_symbol);
|
- var main_func_found = container.module.symbol ("frida_agent_main", out main_func_symbol);
|
||||||
@@ -65,10 +64,10 @@ index 00000000..a203189f
|
|||||||
+ binary.write(input_file)
|
+ binary.write(input_file)
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/src/darwin/darwin-host-session.vala b/src/darwin/darwin-host-session.vala
|
diff --git a/src/darwin/darwin-host-session.vala b/src/darwin/darwin-host-session.vala
|
||||||
index 06e7065b..d215b75a 100644
|
index ab9b2900..4369922d 100644
|
||||||
--- a/src/darwin/darwin-host-session.vala
|
--- a/src/darwin/darwin-host-session.vala
|
||||||
+++ b/src/darwin/darwin-host-session.vala
|
+++ b/src/darwin/darwin-host-session.vala
|
||||||
@@ -354,7 +354,7 @@ namespace Frida {
|
@@ -381,7 +381,7 @@ namespace Frida {
|
||||||
private async uint inject_agent (uint pid, string agent_parameters, Cancellable? cancellable) throws Error, IOError {
|
private async uint inject_agent (uint pid, string agent_parameters, Cancellable? cancellable) throws Error, IOError {
|
||||||
uint id;
|
uint id;
|
||||||
|
|
||||||
@@ -77,41 +76,6 @@ index 06e7065b..d215b75a 100644
|
|||||||
#if HAVE_EMBEDDED_ASSETS
|
#if HAVE_EMBEDDED_ASSETS
|
||||||
id = yield fruitjector.inject_library_resource (pid, agent, entrypoint, agent_parameters, cancellable);
|
id = yield fruitjector.inject_library_resource (pid, agent, entrypoint, agent_parameters, cancellable);
|
||||||
#else
|
#else
|
||||||
diff --git a/src/embed-agent.sh b/src/embed-agent.sh
|
|
||||||
index 6119b5e1..7eede250 100755
|
|
||||||
--- a/src/embed-agent.sh
|
|
||||||
+++ b/src/embed-agent.sh
|
|
||||||
@@ -10,6 +10,7 @@ resource_compiler=$7
|
|
||||||
resource_config=$8
|
|
||||||
lipo=$9
|
|
||||||
|
|
||||||
+custom_script="$output_dir/../../../../frida-core/src/anti-anti-frida.py"
|
|
||||||
priv_dir="$output_dir/frida-agent@emb"
|
|
||||||
|
|
||||||
mkdir -p "$priv_dir"
|
|
||||||
@@ -22,6 +23,11 @@ collect_generic_agent ()
|
|
||||||
else
|
|
||||||
touch "$embedded_agent"
|
|
||||||
fi
|
|
||||||
+
|
|
||||||
+ if [ -f "$custom_script" ]; then
|
|
||||||
+ python3 "$custom_script" "$embedded_agent"
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
embedded_agents+=("$embedded_agent")
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -54,6 +60,10 @@ case $host_os in
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ if [ -f "$custom_script" ]; then
|
|
||||||
+ python3 "$custom_script" "$embedded_agent"
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
exec "$resource_compiler" --toolchain=gnu -c "$resource_config" -o "$output_dir/frida-data-agent" "$embedded_agent"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
diff --git a/src/freebsd/freebsd-host-session.vala b/src/freebsd/freebsd-host-session.vala
|
diff --git a/src/freebsd/freebsd-host-session.vala b/src/freebsd/freebsd-host-session.vala
|
||||||
index a2204a4e..eac16116 100644
|
index a2204a4e..eac16116 100644
|
||||||
--- a/src/freebsd/freebsd-host-session.vala
|
--- a/src/freebsd/freebsd-host-session.vala
|
||||||
@@ -165,11 +129,11 @@ index 67f1f3ef..518cd256 100644
|
|||||||
injectee_by_pid[pid] = id;
|
injectee_by_pid[pid] = id;
|
||||||
|
|
||||||
diff --git a/tests/test-agent.vala b/tests/test-agent.vala
|
diff --git a/tests/test-agent.vala b/tests/test-agent.vala
|
||||||
index 62fb8260..6e5eba51 100644
|
index d28e67fd..bbdc29b3 100644
|
||||||
--- a/tests/test-agent.vala
|
--- a/tests/test-agent.vala
|
||||||
+++ b/tests/test-agent.vala
|
+++ b/tests/test-agent.vala
|
||||||
@@ -449,7 +449,7 @@ Interceptor.attach(Module.getExportByName('libsystem_kernel.dylib', 'open'), ()
|
@@ -452,7 +452,7 @@ Interceptor.attach(Module.getExportByName('libsystem_kernel.dylib', 'open'), ()
|
||||||
assert_nonnull (module);
|
}
|
||||||
|
|
||||||
void * main_func_symbol;
|
void * main_func_symbol;
|
||||||
- var main_func_found = module.symbol ("frida_agent_main", out main_func_symbol);
|
- var main_func_found = module.symbol ("frida_agent_main", out main_func_symbol);
|
||||||
@@ -178,7 +142,7 @@ index 62fb8260..6e5eba51 100644
|
|||||||
main_impl = (AgentMainFunc) main_func_symbol;
|
main_impl = (AgentMainFunc) main_func_symbol;
|
||||||
|
|
||||||
diff --git a/tests/test-injector.vala b/tests/test-injector.vala
|
diff --git a/tests/test-injector.vala b/tests/test-injector.vala
|
||||||
index f4a321c4..448bddf3 100644
|
index 03c219e6..a7720c3d 100644
|
||||||
--- a/tests/test-injector.vala
|
--- a/tests/test-injector.vala
|
||||||
+++ b/tests/test-injector.vala
|
+++ b/tests/test-injector.vala
|
||||||
@@ -258,7 +258,7 @@ namespace Frida.InjectorTest {
|
@@ -258,7 +258,7 @@ namespace Frida.InjectorTest {
|
||||||
@@ -191,5 +155,5 @@ index f4a321c4..448bddf3 100644
|
|||||||
printerr ("\nFAIL: %s\n\n", e.message);
|
printerr ("\nFAIL: %s\n\n", e.message);
|
||||||
assert_not_reached ();
|
assert_not_reached ();
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 90702fd82b7adbed8f712cf7b9dcb4f7d7f89b30 Mon Sep 17 00:00:00 2001
|
From 951000ce3fddb965ffdf6e3d5e765e7f457683da Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 16:03:47 +0800
|
Date: Tue, 18 Jul 2023 16:03:47 +0800
|
||||||
Subject: [PATCH 05/10] Florida: thread_gum_js_loop
|
Subject: [PATCH 4/9] Florida: thread_gum_js_loop
|
||||||
|
|
||||||
---
|
---
|
||||||
src/anti-anti-frida.py | 7 ++++++-
|
src/anti-anti-frida.py | 7 ++++++-
|
||||||
@@ -25,5 +25,5 @@ index a203189f..7a3f6474 100644
|
|||||||
+ os.system(f"sed -b -i s/gum-js-loop/{random_name}/g {input_file}")
|
+ os.system(f"sed -b -i s/gum-js-loop/{random_name}/g {input_file}")
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 93a07e8014d3c4971239ad6831aa5d526042a106 Mon Sep 17 00:00:00 2001
|
From 3505dbe62e65bdcbd28058d28390da1ac7c87e86 Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 16:04:15 +0800
|
Date: Tue, 18 Jul 2023 16:04:15 +0800
|
||||||
Subject: [PATCH 06/10] Florida: thread_gmain
|
Subject: [PATCH 5/9] Florida: thread_gmain
|
||||||
|
|
||||||
---
|
---
|
||||||
src/anti-anti-frida.py | 7 ++++++-
|
src/anti-anti-frida.py | 7 ++++++-
|
||||||
@@ -25,5 +25,5 @@ index 7a3f6474..b4b8dca6 100644
|
|||||||
+ os.system(f"sed -b -i s/gmain/{random_name}/g {input_file}")
|
+ os.system(f"sed -b -i s/gmain/{random_name}/g {input_file}")
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
From 217f97faabba058b53b6abb0827b74b0787beaa7 Mon Sep 17 00:00:00 2001
|
From e8d464a18de6e97d3e84c4c3cb5c73b807586798 Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 16:04:55 +0800
|
Date: Tue, 18 Jul 2023 16:04:55 +0800
|
||||||
Subject: [PATCH 07/10] Florida: protocol_unexpected_command
|
Subject: [PATCH 6/9] Florida: protocol_unexpected_command
|
||||||
|
|
||||||
---
|
---
|
||||||
src/droidy/droidy-client.vala | 2 +-
|
src/droidy/droidy-client.vala | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/droidy/droidy-client.vala b/src/droidy/droidy-client.vala
|
diff --git a/src/droidy/droidy-client.vala b/src/droidy/droidy-client.vala
|
||||||
index 0ed2edeb..9de04b54 100644
|
index ddc56ccc..c3464e77 100644
|
||||||
--- a/src/droidy/droidy-client.vala
|
--- a/src/droidy/droidy-client.vala
|
||||||
+++ b/src/droidy/droidy-client.vala
|
+++ b/src/droidy/droidy-client.vala
|
||||||
@@ -1013,7 +1013,7 @@ namespace Frida.Droidy {
|
@@ -1015,7 +1015,7 @@ namespace Frida.Droidy {
|
||||||
case "OPEN":
|
case "OPEN":
|
||||||
case "CLSE":
|
case "CLSE":
|
||||||
case "WRTE":
|
case "WRTE":
|
||||||
@@ -21,5 +21,5 @@ index 0ed2edeb..9de04b54 100644
|
|||||||
default:
|
default:
|
||||||
var length = parse_length (command_or_length);
|
var length = parse_length (command_or_length);
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
From 3f427a1ee93de50ca0dcdf825cbeeefd61f14ccc Mon Sep 17 00:00:00 2001
|
From 19026255ad926b166e7ffb8759e896fd6b5bff94 Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Tue, 18 Jul 2023 19:55:59 +0800
|
Date: Tue, 18 Jul 2023 19:55:59 +0800
|
||||||
Subject: [PATCH 08/10] Florida: update python script
|
Subject: [PATCH 7/9] Florida: update python script
|
||||||
|
|
||||||
---
|
---
|
||||||
src/anti-anti-frida.py | 59 +++++++++++++++++++++++++++++-------------
|
src/anti-anti-frida.py | 59 +++++++++++++++++++++++++++++-------------
|
||||||
@@ -92,5 +92,5 @@ index b4b8dca6..d1ce5f62 100644
|
|||||||
+ log_color(f"[*] Patch Finish")
|
+ log_color(f"[*] Patch Finish")
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
25
patches/frida-core/0008-Florida-pool-frida.patch
Normal file
25
patches/frida-core/0008-Florida-pool-frida.patch
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
From 0f3391327c044f6c2ab0ee3322185904b0afa2c5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ylarod <me@ylarod.cn>
|
||||||
|
Date: Thu, 20 Jul 2023 10:01:20 +0800
|
||||||
|
Subject: [PATCH 8/9] Florida: pool-frida
|
||||||
|
|
||||||
|
---
|
||||||
|
src/frida-glue.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/frida-glue.c b/src/frida-glue.c
|
||||||
|
index ee8f0737..43cc8167 100644
|
||||||
|
--- a/src/frida-glue.c
|
||||||
|
+++ b/src/frida-glue.c
|
||||||
|
@@ -40,6 +40,8 @@ frida_init_with_runtime (FridaRuntime rt)
|
||||||
|
g_io_module_openssl_register ();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ g_set_prgname ("ggbond");
|
||||||
|
+
|
||||||
|
if (runtime == FRIDA_RUNTIME_OTHER)
|
||||||
|
{
|
||||||
|
main_context = g_main_context_ref (g_main_context_default ());
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
From 149e9c7bfde38629f43874395c21ec6dac6320fd Mon Sep 17 00:00:00 2001
|
From 5b1279a54e7fc5b9867332d16d5b30ea16bf6b7a Mon Sep 17 00:00:00 2001
|
||||||
From: Ylarod <me@ylarod.cn>
|
From: Ylarod <me@ylarod.cn>
|
||||||
Date: Fri, 1 Sep 2023 12:51:06 +0800
|
Date: Fri, 1 Sep 2023 12:51:06 +0800
|
||||||
Subject: [PATCH 10/10] Florida: memfd-name-jit-cache
|
Subject: [PATCH 9/9] Florida: memfd-name-jit-cache
|
||||||
|
|
||||||
---
|
---
|
||||||
src/linux/frida-helper-backend.vala | 2 +-
|
src/linux/frida-helper-backend.vala | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/linux/frida-helper-backend.vala b/src/linux/frida-helper-backend.vala
|
diff --git a/src/linux/frida-helper-backend.vala b/src/linux/frida-helper-backend.vala
|
||||||
index 57a27dcd..5951da92 100644
|
index 9da2152c..b133bd37 100644
|
||||||
--- a/src/linux/frida-helper-backend.vala
|
--- a/src/linux/frida-helper-backend.vala
|
||||||
+++ b/src/linux/frida-helper-backend.vala
|
+++ b/src/linux/frida-helper-backend.vala
|
||||||
@@ -3180,7 +3180,7 @@ namespace Frida {
|
@@ -3233,7 +3233,7 @@ namespace Frida {
|
||||||
}
|
}
|
||||||
|
|
||||||
private int memfd_create (string name, uint flags) {
|
private int memfd_create (string name, uint flags) {
|
||||||
@@ -21,5 +21,5 @@ index 57a27dcd..5951da92 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
From f7e11d47f9f3060733ac3dd418718366631c5bcb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ylarod <me@ylarod.cn>
|
|
||||||
Date: Thu, 20 Jul 2023 10:01:20 +0800
|
|
||||||
Subject: [PATCH 09/10] Florida: pool-frida
|
|
||||||
|
|
||||||
---
|
|
||||||
src/frida-glue.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/frida-glue.c b/src/frida-glue.c
|
|
||||||
index 13429703..43cc8167 100644
|
|
||||||
--- a/src/frida-glue.c
|
|
||||||
+++ b/src/frida-glue.c
|
|
||||||
@@ -40,7 +40,7 @@ frida_init_with_runtime (FridaRuntime rt)
|
|
||||||
g_io_module_openssl_register ();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- g_set_prgname ("frida");
|
|
||||||
+ g_set_prgname ("ggbond");
|
|
||||||
|
|
||||||
if (runtime == FRIDA_RUNTIME_OTHER)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
2.34.1
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user