From fa5753ed3e0a74f32de94164c4c2e1d4d6d8e50b Mon Sep 17 00:00:00 2001 From: alterdekim Date: Sat, 12 Oct 2024 18:13:39 +0300 Subject: [PATCH] modified: src/main.rs --- src/main.rs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main.rs b/src/main.rs index c760765..5f16255 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,13 +25,12 @@ mod udp; mod mobile; static TUN_QUIT: std::sync::Mutex> = std::sync::Mutex::new(None); -static LOG_ENV: std::sync::Mutex> = std::sync::Mutex::new(None); +static LOG_FILE: Option = None; pub fn log2java(text: String) { - if let Ok(mut l) = LOG_ENV.lock() { - if l.is_some() { - jni::FridaLib::traceFromNative(l.unwrap(), text); - } + if let Some(mut file) = LOG_FILE { + file.write_all(text.as_bytes()); + //jni::FridaLib::traceFromNative(l.unwrap(), text); } } @@ -46,7 +45,7 @@ mod jni { use robusta_jni::jni::objects::AutoLocal; use robusta_jni::jni::JNIEnv; use crate::mobile; - use crate::{TUN_QUIT, LOG_ENV}; + use crate::{TUN_QUIT, LOG_FILE}; #[derive(Signature, TryIntoJavaValue, IntoJavaValue, TryFromJavaValue)] #[package(com.alterdekim.frida)] @@ -58,7 +57,8 @@ mod jni { impl<'env: 'borrow, 'borrow> FridaLib<'env, 'borrow> { pub extern "jni" fn start(self, env: &JNIEnv, config_b32: String, tun_fd: i32, - close_fd_on_drop: bool) -> JniResult { + close_fd_on_drop: bool, + temp_file: String) -> JniResult { let close_token = tokio_util::sync::CancellationToken::new(); if let Ok(mut l) = TUN_QUIT.lock() { @@ -70,11 +70,10 @@ mod jni { return Ok(-2); } - if let Ok(mut l) = LOG_ENV.lock() { - if !l.is_some() { - *l = Some(&env.clone()); - } - } + LOG_FILE = Some(File::options() + .read(false) + .write(true) + .open(&temp_file).unwrap()); let main_loop = async move { /*if let Err(err) = {