diff --git a/build.gradle b/build.gradle index ed36812..6a06ade 100644 --- a/build.gradle +++ b/build.gradle @@ -31,30 +31,32 @@ android { packagingOptions.doNotStrip "**/*.so" } -tasks.withType(JavaCompile) { - compileTask -> - { - compileTask.dependsOn(downloadAarch) - compileTask.dependsOn(downloadArmeabi) - compileTask.dependsOn(downloadx86) - } -} - task downloadAarch(type: Download) { src 'https://jenkins.awain.net/job/Frida-android-binaries/lastSuccessfulBuild/artifact/jniLibs/arm64-v8a/frida.so' - dest layout.projectDirectory.file('jniLibs/arm64-v8a/frida.so') + dest layout.projectDirectory.file('src/main/jniLibs/arm64-v8a/frida.so') } task downloadArmeabi(type: Download) { src 'https://jenkins.awain.net/job/Frida-android-binaries/lastSuccessfulBuild/artifact/jniLibs/armeabi-v7a/frida.so' - dest layout.projectDirectory.file('jniLibs/armeabi-v7a/frida.so') + dest layout.projectDirectory.file('src/main/jniLibs/armeabi-v7a/frida.so') } -task downloadx86(type: Download) { +task downloadx86(type: Download, ) { src 'https://jenkins.awain.net/job/Frida-android-binaries/lastSuccessfulBuild/artifact/jniLibs/x86/frida.so' - dest layout.projectDirectory.file('jniLibs/x86/frida.so') + dest layout.projectDirectory.file('src/main/jniLibs/x86/frida.so') } +task deleteLibs(type: Delete) { + delete fileTree('src/main/jniLibs') { + include '**/*.so' + } +} + +preBuild.dependsOn deleteLibs +preBuild.dependsOn downloadAarch +/*preBuild.dependsOn downloadArmeabi +preBuild.dependsOn downloadx86*/ + dependencies { implementation libs.okhttp implementation libs.ground.crockford32 diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 9f7dc8b..3a5505e 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ + xmlns:tools="http://schemas.android.com/tools" + android:installLocation="internalOnly"> diff --git a/src/main/java/com/alterdekim/frida/FridaLib.java b/src/main/java/com/alterdekim/frida/FridaLib.java new file mode 100644 index 0000000..6cc6005 --- /dev/null +++ b/src/main/java/com/alterdekim/frida/FridaLib.java @@ -0,0 +1,4 @@ +package com.alterdekim.frida; + +public class FridaLib { +} diff --git a/src/main/java/com/alterdekim/fridaapp/MainActivity.java b/src/main/java/com/alterdekim/fridaapp/MainActivity.java index 5d3cb9c..a4c11f6 100644 --- a/src/main/java/com/alterdekim/fridaapp/MainActivity.java +++ b/src/main/java/com/alterdekim/fridaapp/MainActivity.java @@ -3,6 +3,7 @@ package com.alterdekim.fridaapp; import android.content.Intent; import android.net.VpnService; import android.os.Bundle; +import android.util.Log; import android.view.View; import androidx.activity.EdgeToEdge; @@ -44,9 +45,11 @@ public class MainActivity extends AppCompatActivity { private void startVpn() { Intent intent = VpnService.prepare(MainActivity.this); if (intent != null) { + Log.i("ASD", "!= null"); launcher.launch(intent); } else { - onActivityResult(0, RESULT_OK, null); + Log.i("ASD", "== null"); + startService(new Intent(this, FridaService.class)); } } } \ No newline at end of file diff --git a/src/main/java/com/alterdekim/fridaapp/service/FridaService.java b/src/main/java/com/alterdekim/fridaapp/service/FridaService.java index ba38ea7..e3fc218 100644 --- a/src/main/java/com/alterdekim/fridaapp/service/FridaService.java +++ b/src/main/java/com/alterdekim/fridaapp/service/FridaService.java @@ -28,9 +28,13 @@ public class FridaService extends VpnService { public void onCreate() { setupVPN(); Log.i(TAG, "Started"); - - Thread t = new Thread(new NativeBinaryConnection(vpnInterface.detachFd(), getApplicationContext().getApplicationInfo().nativeLibraryDir)); - t.start(); + // .detachFd() + try { + Thread t = new Thread(new NativeBinaryConnection(vpnInterface.dup().getFd(), getApplicationContext().getApplicationInfo().nativeLibraryDir)); + t.start(); + } catch (Exception e) { + Log.e(TAG, e.getMessage()); + } new Thread(new Runnable() { @Override