ZDE Как убедиться что данные подменяются?

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 782
Благодарностей
2 443
Баллы
113
Код выглядит примерно так:
C#:
var droid = instance.DroidInstance;

// тут закрываю и очищаю все приложения которые нуждаются в замене

var filter = new DeviceFilter();
    filter.Version = "10";
string json = droid.Settings.GenerateRandomLSPosedSettings(project.Profile.Country, filter);
var dic = Global.ZennoLab.Json.JsonConvert.DeserializeObject< Dictionary<string, object>>(json);
dic["AdsId"] = Guid.NewGuid().ToString(); // Добавляю недостающий параметр

json = Global.ZennoLab.Json.JsonConvert.SerializeObject(dic);

// устанавливаю настройки...
droid.App.Close("com.zennolab.zennodroid");
Thread.Sleep(2*1000);   
droid.Settings.SetLSPosedSettings(json);
droid.App.Open("com.zennolab.zennodroid");
Thread.Sleep(2*1000);
И вот, запускаю приложение через Frida примерно так:
C#:
var droid = instance.DroidInstance;
var app = "com.***.***"; // приложение
var source = project.Variables["script"].Value;
 
var device = droid.FridaDevice;
    device.InstallAndRunServer();
var pid = device.Spawn(app);
var session = device.Attach(pid);
var script = session.CreateScript(source, "myScript");
    script.Message += (o, e) => project.SendInfoToLog(e.Message);
    script.Load();

    droid.Input.Shell(string.Format("settings put global http_proxy {0}:8080", "10.0.2.2")); // так как интернет идет по проводу
    device.Resume(pid);

Наблюдаю в Burp что настройки не применились.
Ок, закрываю Frida.
C#:
var droid = instance.DroidInstance;
string stop_proxy = droid.Input.Shell("settings put global http_proxy :0");
var device = droid.FridaDevice;
device.DetachSessionByScriptName("myScript");
Thread.Sleep(5*1000);
device.KillServer(); // после этой команды телефон ребутится...
Thread.Sleep(5*1000);
Иду в LSPosed, открываю модуль снимаю галочки, устанавливаю галочки.
Перезагружаю телефон.
Снова выполняю код.
Снова запускаю Frida.
Вижу, в запросах в Burp что данные изменились.
Закрываю Frida.
Телефон сам перезагружается (подвисает и потом перезагружается - может как-то по другому закрывать Frida чтобы телефон не улетал в перезагрузку ).
Уверенности в том, что там настройки подменяются у меня снова нет - снова выполняю процедуру.

Есть ли какой-то способ узнать хотя бы с каким UserAgent шлет свои запросы приложение?
Даже при наличии WebView на страничке приложения - JS код не отрабатывает (читал на форуме, что только в хроме работает - а у меня работа не в хроме).
C#:
return instance.DroidInstance.WebView.EvaluateScript("return window.navigator.userAgent");
Собственно хочется какой-то способ позволяющий на 100% определить в процессе выполнения шаблона что данные которые были подставлены действительно сейчас работают или не работают (такое часто бывает что не работают - и нужно ставить/снимать галочки и перезагружать телефон).
 

MaxTraff

Client
Регистрация
16.06.2024
Сообщения
35
Благодарностей
15
Баллы
8
C#:
droid.App.Close("com.zennolab.zennodroid");
....
droid.App.Open("com.zennolab.zennodroid");
А это разве нужно делать или к необходимости пришли опытным путем?

Мне на эмуляторах достаточно выполнить только droid.Settings.SetLSPosedSettings(json); и параметры подменены...

Переустановка приложения для которого предназначена подмена производится или только остановка и зачистка данных?
 

Кто просматривает тему: (Всего: 8, Пользователи: 4, Гости: 4)