Как выполнить http-запрос в Frida JSAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как выполнить http-запрос в Frida JS

Сообщение Anonymous »


Я использую этот проект для подключения процесса Android.

https://github.com/iGio90/FridaAndroidInjector

он ​​позволяет внедрять агенты frida из приложения Android.

работает идеально.

когда я захочу использовать эту функцию, перехватите ее.

com.ex.MediaPlayMgr.play(final InputStream inputStream, Final String str) Код хука:

журнал функции(что) { Java.performNow(function() { Java.use('android.util.Log').e("FridaAndroidInject", "kenshinx " + What.toString()); }); } Java.perform(функция() { let MediaPlayMgr = Java.use("com.ex.MediaPlayMgr"); MediaPlayMgr["play"].overload('java.io.InputStream', 'java.lang.String', 'boolean', 'boolean', 'int').implementation = function (inputStream, str, z, z2, я) { // this["play"](inputStream, str, z, z2, i); // Java.send({'str': str}); журнал("шаг0:") var downloadTask = новое обещание (функция (разрешить, отклонить) { // 异步代码... журнал("шаг1:" + строка) var OkHttpClient = Java.use("okhttp3.OkHttpClient$Builder").$new().build(); log("шаг2:" + OkHttpClient) var request = Java.use("okhttp3.Request$Builder").$new().url("http://com.ex.com/api").build(); журнал("шаг3:" + запрос) ответ вар = OkHttpClient.newCall(request).execute(); журнал("шаг4:" + ответ) если (ответ) { разрешить(response.byteStream(), "паймен") } еще { отклонить (входной поток, ул) } }); журнал("шаг5:") функция doPlay(поток, слово) { log("stepx:" + поток + ", " + слово) this.play(поток, слово, z, z2, я); } журнал("шаг6:") downloadTask.then(doPlay, doPlay); журнал("шаг7:") }; }); Журнал остановлен на шаге 3. нет шага 4. и как сделать http-запрос в js.

10:27:21.997 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx шаг0: 10:27:21.997 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx шаг 1:哈哈哈 10:27:22.000 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx Step2:okhttp3.OkHttpClient@1af90ef 10:27:22.003 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx шаг 3: Запрос {метод = GET, url = http://com.ex.com/api} 10:27:22.006 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx шаг5: 10:27:22.006 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx шаг6: 10:27:22.006 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx шаг7: 10:27:22.007 16391-16391 FridaAndroidInject com...plication.floatball E kenshinx Stepx: Ошибка: android.os.NetworkOnMainThreadException, не определено Я пробую java.net.URL, java.net.HTTPConnect, но не получается. Я хочу заменить inputStream в play() своим собственным потоком.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»