Jump to content

Recommended Posts

Обновлено 18.09.2018:

  • сценарий LCC версии 0.0.3.2
  • сценарий AGS версии 0.0.3.1beta
  • сценарий Application killer версии 0.1

ZIP-архив, который прикреплён к данному сообщению, содержит всё необходимое для работы приведённых ниже сценариев (скриптов) через облегчённый набор инструментов Android Debug Bridge (ADB). Содержимое архива распакуйте, например, в корень локального диска D и запустите необходимый сценарий.

i | Для работы сценариев необходимо:
— наличие в операционной системе Microsoft Windows установленных драйверов для работы с мобильным устройства в режиме отладки (могут поставляться производителем отдельно);
— включена функция отладки по USB (режим отладки) в настройках мобильного устройства раздела "Для разработчиков".
Ссылки для загрузки ADB-драйверов и информацию о том, как зайти в раздел "Для разработчиков", например, можно найти в
 
Logcat capture script (LCC)

для снятия трассировок (логов) с мобильных устройств при воспроизведении проблемы

Коллеги, я написал маленький скрипт, который будет снимать лог вместо вас. LCC — ЛогКат Капчер

От вас нужно:

  1. Включить режим отладки
  2. Подключить устройство к компу
  3. Добиться, чтобы оно определилось
  4. Запустить logcat.cmd // Начиная с версии 0.0.2 скрипт сам определяет, что устройство доступно и его можно запустить до подключения самого устройства

ADB и Java не нужны.

Настраиваемые параметры:

set lang=ru — все надписи будут по-русски. =en — буду по-английски
set clear_all_data=0 — Если заменить на 1, то старые записи на устройстве будут удалены.
set output_file=captured.log — Имя файла, в который будет сохранятся лог. Можете написать своё
set use_pause=1 — Если заменить на 0, то окно консоли закроется, как только вы выдерните кабель. Если оставить 1, то можно почитать всё, что было написано в консоли.
Самое важное — clear_all_data. Если вы сейчас начнёте воспроизводить проблему, то замените set clear_all_data=0 на set clear_all_data=1 и сохраните. Запустите скрипт и добейтесь воспроизведения. После этого подождите ещё секунд 5 и снимите устройство с кабеля. Если же проблема только что воспроизвелась, то set clear_all_data должен быть строго в 0.

 

APK grabber script (AGS)

для "выдёргивания" из мобильного устройства все APK-файлы

Также написал ещё один скрипт, который выдернет из устройства все APK, как пользовательские, так и системные — AGS (APK граббер скрипт). Полезно, чтобы достать вирусню, к примеру. Или нужно отправить на проверку подозрительное системное приложение.

От вас нужно:

  1. Включить режим отладки
  2. Подключить устройство к компу
  3. Добиться, чтобы оно определилось
  4. Запустить apk_grabber.cmd // Скрипт сам определяет, что устройство доступно и его можно запустить до подключения устройства — всё будет нормально

ADB, Java и root не нужны.

Настраиваемые параметры:

set lang=ru — все надписи будут по-русски. =en — будут по-английски
set output_path=Grabbed — имя папки, в которую будут сохранятся apk
set use_pause=1 — Если заменить на 0, то окно консоли закроется, как только вы выдерните кабель. Если оставить 1, то можно почитать всё, что было написано в консоли.
 
Application killer script

для удаления указанных APK-файлов из мобильного устройства

На вход принимает имя пакета и разными способами пытается его убить.

От вас нужно:

  1. Включить режим отладки
  2. Подключить устройство к компу
  3. Добиться, чтобы оно определилось
  4. Запустить app_killer.cmd из командной строки с именем пакета Android-приложения в первом параметре.
    Скрипт сам определяет, что устройство доступно и его можно запустить до подключения устройства

ADB, Java и root не нужны.

Пример запуска:

app_killer.cmd malware.package.name
 
* * *

Все скрипты работают с одним и тем же adb.exe и двумя dll. Так что положены в архиве рядом.

adb.zip

Edited by Keeper-Volok
добавлен Application killer version 0.1

Share this post


Link to post

Дима, правильно ли я понял. В файлике устанавливаем нужные параметры, подключаем устройство и запускаем !runme.cmd?

Share this post


Link to post

Дима, сделай видео что ли для наглядности :supercool:

тем более очку гугл у тебя есть :b_lol1:

Share this post


Link to post
Дима, правильно ли я понял. В файлике устанавливаем нужные параметры, подключаем устройство и запускаем !runme.cmd?

Да.

Более того, у меня уже есть вторая версия, где можно сначала запустить скрипт, а потом подключить телефон :) Решил, что так удобнее. Но пока не выкладываю его, т.к. не ясно, нужно ли оно вообще кому-нибудь.

 

Дима, сделай видео что ли для наглядности :supercool:

тем более очку гугл у тебя есть :b_lol1:

Эт их искать, заряжать.

А что здесь не ясно?

Share this post


Link to post

Мне набор интересен и необходим. Я ещё для себя сделал cmd-файл для сбора данных, единственный в нем минус был так это в том, что процесс adb после сбора закрытия файла висел и его приходилось вручную убивать...

 

Твой файл мне понравился и я планирую его использовать. Тестеры тоже его оценят ибо снимать логи стало очень просто :)

Share this post


Link to post
процесс adb после сбора закрытия файла висел и его приходилось вручную убивать

adb logcat ....
adb kill-server

Первая строка будет работать, пока телефон на проводе. Как только выдернешь его, выполнится вторая строка, убивающая adb штатно.

Share this post


Link to post

Дима , может замутишь что бы прям в телефоне все делалось, без участия компа?

Share this post


Link to post

Такова архитектура современных мобильных систем - всё, что сейчас не на переднем плане может быть убито. Что-то раньше, что-то позже. Так что нет возможности постоянно собирать лог, кроме как изнутри приложения, либо по кабелю. Изнутри - это точно не ко мне.

Share this post


Link to post

Спасибо, Дима :)

 

Я добавил команду убивания adb в твой сценарий

<...>
:STOP
echo.
adb kill-server
<...>
adb logcat -v threadtime *:V > captured.log
adb kill-server

и всё класс.

 

Pomka., сбор лога с самого устройства можно, как это описано в разделе 5, но не у каждого получалось собрать верный лог и по этой причине Дима дал инструкцию о сборе лога с ПК.

Share this post


Link to post

Обновил шапку:

1. Выложил новую версию LCC

2. Добавил AGS

Share this post


Link to post
Обновил шапку:

1. Выложил новую версию LCC

2. Добавил AGS

Дима дублируй для чайников на русском языке

Share this post


Link to post

Вторая строчка в каждом из скриптов :) Они блокнотом открываются. Главное, не сохраняй изменения после виндового блокнота, он любит портить файлы.

LCC - это логкат капчер - тот, который логи собирает для багов

АГС - это апк граббер скрипт - вытаскивает апкашки с телефона тебе на комп. Все, что есть. Установленные, имеется в виду.

Share this post


Link to post
Вторая строчка в каждом из скриптов :) Они блокнотом открываются. Главное, не сохраняй изменения после виндового блокнота, он любит портить файлы.

LCC - это логкат капчер - тот, который логи собирает для багов

АГС - это апк граббер скрипт - вытаскивает апкашки с телефона тебе на комп. Все, что есть. Установленные, имеется в виду.

запустил без телефона, так и должно быть кракозябрами?

post-13527-1449675613_thumb.jpg

Share this post


Link to post
прошу перенести тему в шапку

Бета-тестирование продуктов для защиты мобильных устройств

Эта информация была внесена в "Раздел 5. Полезные советы пользователям Android" текущей инструкции.

 

запустил без телефона, так и должно быть кракозябрами?
Нет, ты вносил какие-либо изменения в файл? Просто скрипт надо сохранять в кодировке DOS, иначе будешь видеть сие.

 

У себя проверил -- отображается корректно русский текст.

Edited by MASolomko

Share this post


Link to post

скачал архив-распаковал-запустил-результат на скриншоте

Share this post


Link to post

У кого Винды русскоязычные, подскажите Роме, где проверить вот эту настройку:

post-188291-1449751527_thumb.png

Edited by Keeper-Volok
вложил картинку

Share this post


Link to post

Так надо не регион менять, а проверить настройку "Язык для не юникодных программ". Должен быть русский.

Проверка же реально не выполняется. В скрипте переменная lang если не =ru, то все записи будут по-английски

 

У Ромки же даже chcp кракозябрами, а это вообще не мой текст, а системный.

Share this post


Link to post

Ром, запусти блокнот и введи там:

echo Тест
chcp 1251
echo Тест 1251
chcp 866
echo Тест 866
pause

Сохрани как test.cmd и запусти его. Пришли скриншот.

Share this post


Link to post

Походу в Win7 и WinVista сам шрифт консольный кривой. Надо удостовериться, что в 866 отработает корректно - тест выше это покажет.

Если так, то поменяю кодировку в .cmd для совместимости с Win7.

Share this post


Link to post

Взял Win7, которая установлена на виртуалке. Действительно после ввода команды

chcp 1251

имеем это:

post-213200-1449760385_thumb.png
Как оказалось проблема имеем при использовании точечных шрифтов. При изменении шрифта на Consolas или Lucida Console (рекомендуется) проблемы с кодировкой нет:
post-213200-1449760580_thumb.png

 

Чтобы по консольное окно по умолчанию использовало необходимый шрифт, необходимо запустить командную строку (cmd.exe) и по заголовку окна вызвать контекстное меню, в котором выбрать пункт "Умолчания":

post-213200-1449760801_thumb.png
Далее на вкладке "Шрифт" установить шрифт и применить изменения.

Share this post


Link to post

Я знаю, как исправить, сидя за компом :)

Но хочу сделать так, чтобы и без исправлений за компом работало. Если у Ромки "Тест 866" отобразится правильно, то модифицирую сам .cmd файл.

Share this post


Link to post
Ром, запусти блокнот и введи там:

echo Тест
chcp 1251
echo Тест 1251
chcp 866
echo Тест 866
pause

Сохрани как test.cmd и запусти его. Пришли скриншот.

тоже с кракозябрами

post-13527-1449765958_thumb.jpg

Share this post


Link to post

Парни, я в отпуск до почти конца декабря. Возможно буду иногда выходить на связь, но особо на меня не надейтесь.

 

По скрипту. Кто-нибудь, в нотпад++ поменяйте кодировку на ДОСовскую и в if %lang%=ru поставьте 866. Только учтите, что при перекодировании слетит текст русский, так что сначала в буфер обмена скопируйте.

Ну и проверьте. Если взлетит, то версию обзовите 0.0.3.1, в чейндж лог впишите эту хрень. И также сделайте со вторым скриптом.

Если не взлетит, то после отпуска поправлю сам.

Share this post


Link to post
в нотпад++ поменяйте кодировку на ДОСовскую и в if %lang%=ru поставьте 866.

Ну я такое и дал Роме выше, вроде всё нормально.

 

Попробовал поменять значения переменных и пересохранить стандартным блокнотом:

MS Notepad кодировку не побил ни на XP, ни на Win7, ни на Win10.

 

Если взлетит, то версию обзовите 0.0.3.1, в чейндж лог впишите эту хрень. И также сделайте со вторым скриптом.

Ok, инкрементировал, перезалил.

Edited by Keeper-Volok

Share this post


Link to post

×
×
  • Create New...

Important Information

We use cookies to make your experience of our websites better. By using and further navigating this website you accept this. Detailed information about the use of cookies on this website is available by clicking on more information.