Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 14 дек 2018, 03:38

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: сниффер
СообщениеДобавлено: 02 май 2017, 10:36 

Зарегистрирован: 08 мар 2014, 20:40
Сообщений: 36
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Создал "sniff"исполняемый файл в нем вызывается библиотека Сии "libcap" которая работает напрямую с ядром
Все происходит в virtualbox Android X86
положил файл adb push
Код: [ Загрузить ] [ Скрыть ]
  1. adb push sniff  /system 

Все прекрасно все запускается в консоли
Код: [ Загрузить ] [ Скрыть ]
  1. ANDROID root@x86 : / # /system/sniff udp 


и через adb
Код: [ Загрузить ] [ Скрыть ]
  1.    adb shell 
  2. $ su 
  3. # /system/sniff udp 

на консоль выводится собственно то что нужно т.е пакеты сетевые.
И даже когда через андроид приложение запускаю в коде
Код: [ Загрузить ] [ Скрыть ]
  1. runtime.exec( /system/sniff udp) 

sniff запускается

но здесь уже останавливается на поиске устройств
так как для доступа к функциям ядра необходим эфективный uid рутовский т.е. "0"
но у моего андроид приложения uid = 10087
Код: [ Загрузить ] [ Скрыть ]
  1.       child = Runtime.getRuntime().exec("id"); 
  2.     out = child.getOutputStream(); 
  3.   in = child.getInputStream(); 
  4.    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in)); 
  5.                      
  6. String line;  
  7.                         String result = "";  
  8.                     
  9.                         while ((line = bufferedReader.readLine()) != null) 
  10.                             result += line; 
  11.                         System.out.println(result); 

этот код выдает на консоль эклипса
"uid=10087(u0_a87) gid=10087 (u0_a87)"

т.е. для запуска исполняемого файла sniff с правами rwxrwxrwx у андроид приложения
хватает разрешений а для работы с функциями ядра в самом коде уже нет.
если так
Код: [ Загрузить ] [ Скрыть ]
  1. child = Runtime.getRuntime().exec("su -c /system/sniff udp"); 

то в консоль эклипс ни чего не выводиться так как
мы имеем " in = child.getInputStream();" от первого процесса
а при выполнениии команды su создается уже новый процесс с root правами
но от него мы уже не имеем ссылки на поток "in"/
ВОПРОС как мне добраться до нового потока

либо как мне еще можно запустить исполняемый файл из андроид приложения
так же у файла sniff ,был изменен БИТ suid
Код: [ Загрузить ] [ Скрыть ]
  1. chmod  6777 /system/sniff 

что тоже ни как не повлияло на поведение sniff при запуске из андроид приложения


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: сниффер
СообщениеДобавлено: 19 май 2017, 10:29 

Зарегистрирован: 08 мар 2014, 20:40
Сообщений: 36
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
понял в чем дело
у меня установлен android x86 4.3
а с 4.3 и выше просто su не работает


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB