Size: a a a

DCG#7812 DEFCON-RUSSIA

2019 January 08

A

Andrew in DCG#7812 DEFCON-RUSSIA
dukeBarman
там примеры по этому аргументу, если что сам найдёшь
Interceptor.attach(cryptoPassManagerActivity.getMd5Str, {
   onLeave: function (args) {
     console.log(args)
   }
 })


не работает
источник
2019 January 09

A

Andrew in DCG#7812 DEFCON-RUSSIA
может можно ко всем функция подключиться, чтобы они показывали лог всех действий
источник

A

Andrew in DCG#7812 DEFCON-RUSSIA
так все перепутано, методы работают непонятно, в js аналогов нет, повторить просто так не получится
источник

A

Andrew in DCG#7812 DEFCON-RUSSIA
только приходящие в функцию аргументы получается посмотреть
источник

A

Andrew in DCG#7812 DEFCON-RUSSIA
Что я не так делаю?

Java.perform(function() {
 console.log('Started!');

 var cryptoPassManagerActivity = Java.use("org.xbet.client1.util.user.CryptoPassManager");

 Interceptor.attach(cryptoPassManagerActivity.reverseSting.implementation, {
   onEnter: function(str) {
     console.log(str);
   }
 });
})

И получаю вот

Started!
Error: expected a pointer
   at frida/runtime/core.js:502
   at [anon] (/repl15.js:10)
   at frida/node_modules/frida-java/lib/vm.js:43
   at M (frida/node_modules/frida-java/index.js:347)
   at frida/node_modules/frida-java/index.js:299
   at frida/node_modules/frida-java/lib/vm.js:43
   at frida/node_modules/frida-java/index.js:279
   at /repl15.js:11
источник

A

Alex in DCG#7812 DEFCON-RUSSIA
Andrew
https://i.imgur.com/LuBFKg8.png

Подскажите как получить доступ к возвращаемому значению через фриду?
Получается только переменные посмотреть.

Java.perform(function() {
 var cryptoPassManagerActivity = Java.use("org.xbet.client1.util.user.CryptoPassManager");

 cryptoPassManagerActivity.reverseSting.implementation = function (str, j) {
   console.log(str);
   console.log(j);
 }
})
setTimeout(function(){
   Java.perform(function () {

   var cryptoPassManagerActivity = Java.use("org.xbet.client1.util.user.CryptoPassManager");

   cryptoPassManagerActivity,reverseSting.overload('java.lang.String').implementation = function(arg1) {
       var ret = this.reverseSting(arg1);
     
       console.log('ret value = ' + ret);
       return ret;
   }

   });
},0);
источник

A

Alex in DCG#7812 DEFCON-RUSSIA
Попробую так.
источник

A

Alex in DCG#7812 DEFCON-RUSSIA
Andrew
Что я не так делаю?

Java.perform(function() {
 console.log('Started!');

 var cryptoPassManagerActivity = Java.use("org.xbet.client1.util.user.CryptoPassManager");

 Interceptor.attach(cryptoPassManagerActivity.reverseSting.implementation, {
   onEnter: function(str) {
     console.log(str);
   }
 });
})

И получаю вот

Started!
Error: expected a pointer
   at frida/runtime/core.js:502
   at [anon] (/repl15.js:10)
   at frida/node_modules/frida-java/lib/vm.js:43
   at M (frida/node_modules/frida-java/index.js:347)
   at frida/node_modules/frida-java/index.js:299
   at frida/node_modules/frida-java/lib/vm.js:43
   at frida/node_modules/frida-java/index.js:279
   at /repl15.js:11
Насколько я понимаю Interceptor.attach нужен только если ты хочешь бинарь хукать. Например в APK есть shared library (mysuperlib.so) тогда функции из .so можно через Frida Interceptor обрабатывать
источник

A

Alex in DCG#7812 DEFCON-RUSSIA
setTimeout(function(){
   Java.perform(function () {

   var cryptoPassManagerActivity = Java.use("org.xbet.client1.util.user.CryptoPassManager");

   cryptoPassManagerActivity.reverseSting.overload('java.lang.String').implementation = function(arg1) {
       var ret = this.reverseSting(arg1);
     
       console.log('ret value = ' + ret);
       return ret;
   }

   });
},0);
источник

A

Alex in DCG#7812 DEFCON-RUSSIA
Alex
setTimeout(function(){
   Java.perform(function () {

   var cryptoPassManagerActivity = Java.use("org.xbet.client1.util.user.CryptoPassManager");

   cryptoPassManagerActivity.reverseSting.overload('java.lang.String').implementation = function(arg1) {
       var ret = this.reverseSting(arg1);
     
       console.log('ret value = ' + ret);
       return ret;
   }

   });
},0);
Ошибку поправил
источник

A

Alex in DCG#7812 DEFCON-RUSSIA
dukeBarman
free версия в фигню превратилась
А чем иммено не устраивает
источник

d

dukeBarman in DCG#7812 DEFCON-RUSSIA
ограничения, к прмиеру в отличие от платной (та же эмуляция hardware данных из вне, как то gps - поправьте, может все таки разрешили), надо ставить Virtual Box, одним из немногих плюсов и отличием была возможность быстрее заюзать google play, чем в стандартном. Но теперь это есть в стандартном пакете. Ну и вообще они больше на разработчиков с настроенным CI нацелены \ облаками, что далеко не каждому ресечеру нужно
источник

M

Mandel Ivanovich in DCG#7812 DEFCON-RUSSIA
dukeBarman
ограничения, к прмиеру в отличие от платной (та же эмуляция hardware данных из вне, как то gps - поправьте, может все таки разрешили), надо ставить Virtual Box, одним из немногих плюсов и отличием была возможность быстрее заюзать google play, чем в стандартном. Но теперь это есть в стандартном пакете. Ну и вообще они больше на разработчиков с настроенным CI нацелены \ облаками, что далеко не каждому ресечеру нужно
так виртуалбокс всегда же ставить надо было. в платной небось тоже
источник

M

Mandel Ivanovich in DCG#7812 DEFCON-RUSSIA
так у меня в итоге тупой вопрос. эмулятор от гугла с рутом идет или нет? а генимоушн?
источник

d

dukeBarman in DCG#7812 DEFCON-RUSSIA
Mandel Ivanovich
так у меня в итоге тупой вопрос. эмулятор от гугла с рутом идет или нет? а генимоушн?
от гугла теперь и такя и такая
источник

d

dukeBarman in DCG#7812 DEFCON-RUSSIA
Mandel Ivanovich
так виртуалбокс всегда же ставить надо было. в платной небось тоже
неправильно немного написал, VBox это вообще минус генимошен
источник

d

dukeBarman in DCG#7812 DEFCON-RUSSIA
не все его юзают
источник

M

Mandel Ivanovich in DCG#7812 DEFCON-RUSSIA
А от Гугла эмулятор не тормозит больше?))
источник

d

dukeBarman in DCG#7812 DEFCON-RUSSIA
не без этого :D но у меня и генимошен тормозит
источник

M

Mandel Ivanovich in DCG#7812 DEFCON-RUSSIA
лет 5 назад не тормозил генимоушн))
источник