modified: src/client.rs
Some checks failed
gitea/Frida-android-native/pipeline/head There was a failure building this commit

modified:   src/main.rs
	modified:   src/mobile.rs
This commit is contained in:
Michael Wain 2024-10-12 17:37:54 +03:00
parent b8e5a96e60
commit 96ec04cd41
3 changed files with 16 additions and 6 deletions

View File

@ -24,7 +24,7 @@ use network_interface::NetworkInterfaceConfig;
use robusta_jni::jni::JNIEnv;
use crate::jni::FridaLib;
pub async fn client_mode(client_config: ClientConfiguration, fd: i32, env: &JNIEnv<'_>, close_token: CancellationToken) {
pub async fn client_mode(client_config: ClientConfiguration, fd: i32, /*env: &JNIEnv<'_>,*/ close_token: CancellationToken) {
let (ltx, mut lrx) = mpsc::unbounded_channel::<Vec<u8>>();
ltx.send("Starting client...".as_bytes().to_vec());
@ -138,7 +138,8 @@ pub async fn client_mode(client_config: ClientConfiguration, fd: i32, env: &JNIE
}
rr1 = lrx.recv() => {
if let Some(bytes) = rr1 {
FridaLib::traceFromNative(&env, String::from_utf8_lossy(&bytes).to_string());
crate::log2java(String::from_utf8_lossy(&bytes).to_string());
//FridaLib::traceFromNative(&env, );
}
}
rr2 = mx.recv() => {

View File

@ -24,6 +24,13 @@ mod udp;
mod mobile;
static TUN_QUIT: std::sync::Mutex<Option<tokio_util::sync::CancellationToken>> = std::sync::Mutex::new(None);
static LOG_ENV: Option<&JNIEnv> = None;
pub fn log2java(text: String) {
if Some(env) = LOG_ENV {
jni::FridaLib::traceFromNative(env, text);
}
}
#[bridge]
mod jni {
@ -60,17 +67,19 @@ mod jni {
return Ok(-2);
}
LOG_ENV = Some(env);
let main_loop = async move {
/*if let Err(err) = {
FridaLib::traceFromNative(env, format!("main loop error: {}", err));
return Err(err);
}*/
mobile::mobile_run(config_b32, close_fd_on_drop, tun_fd, env, close_token).await;
mobile::mobile_run(config_b32, close_fd_on_drop, tun_fd, /*env,*/ close_token).await;
};
let exit_code = match tokio::runtime::Builder::new_multi_thread().enable_all().build() {
Err(_e) => -3,
Ok(rt) => { rt.block_on(main_loop); -4 }
Ok(rt) => { rt.spawn(main_loop); -4 } //block_on
};
Ok(exit_code)

View File

@ -5,7 +5,7 @@ use jni::sys::jint;
use tokio::runtime::Runtime;
use robusta_jni::jni::JNIEnv;
pub async fn mobile_run(cfg_raw: String, close_fd_on_drop: bool, tun_fd: i32, env: &JNIEnv<'_>, close_token: tokio_util::sync::CancellationToken) {
pub async fn mobile_run(cfg_raw: String, close_fd_on_drop: bool, tun_fd: i32, /*env: &JNIEnv<'_>,*/ close_token: tokio_util::sync::CancellationToken) {
let config: ClientConfiguration = serde_yaml::from_slice(hex::decode(cfg_raw).unwrap().as_slice()).expect("Bad client config file structure");
client::client_mode(config, tun_fd, env, close_token).await;
client::client_mode(config, tun_fd, /*env,*/ close_token).await;
}