четверг, 25 апреля 2013 г.

вытаскиваем картинки из презентации

ну, вообще-то это очень узкая формулировка задачи. Шире: как вытащить содержимое офисного документа (так называемые вордовские, эксельные документы, презентации и т.п.), то есть получить картинки, звуковые файлы и т.п.?
Просто пользователь сделает так:
  1. Откроет файл в LibreOffice/OpenOffice
  2. нажмёт правой кнопочкой мышки на нужный ресурс (картинку, например)
  3. если повезёт, выберет опцию "Сохранить".
Продвинутый пользователь:
  1. Откроет файл в LibreOffice/OpenOffice
  2. Сохранит его в формате ODF
  3. переименует файл, поменяв расширение ODx (ODT, ODP, ...) на ZIP (в общем-то, необязательно)
  4. откроет файл, как архив и вытащит оттуда всё, что нужно
Продвинутый+ пользователь:
  1. запустит примерно такую команду:
    libreoffice4.0 --headless --convert-to zip:impress8_draw *ppt
  2. откроет файл, как архив и вытащит оттуда всё, что нужно
Welcome.
Дополнение: список фильтров, как подсказал Гугль, тут.

четверг, 18 апреля 2013 г.

backup/restore программ через adb

Чётко замечено, что представители "старой школы" не очень доверяют "всяким там облакам". Поэтому то, что современный андроид сам себя бэкапит в облако, их не успокаивает. Им надо "на мой жёсткий диск", и всё тут! В первую очередь эта заметка для них. Впрочем, бэкап на "большого брата" (ББ) может пригодиться и в некоторых других случаях, например, для установки нестандартной прошивки (custom ROM).
 Итак, начнём-с.
  1. Во-первых, получим список установленных программ.
    adb shell pm list packages > 0pm.list
  2. Теперь забэкапим каждую программу по отдельности.
    for p in `cat 0pm.list | tr -d '\r' | sed 's|^package:||'`; do
      adb backup -f $p.ab $p ; sleep 1 ;
    done
    Впрочем, можно забэкапить всё скопом в один файл, но тогда восстановление будет возможно тоже только всего вместе за раз.
В результате должен получиться набор из списка программ и бэкапов каждой установленной программы. Полагаю, не нужно объяснять, что в этих бэкапах находится и ваша конфиденциальная информация, пароли например? ;)

Добавлено Чт авг  1 17:08:33 ALMT 2013:

Задание "для первоклассников": также скопировать все установленные apk.
Решение:
for f in `adb shell ls /data/app | tr -d '\r'`; do
  adb pull /data/app/$f ;
done
.

четверг, 11 апреля 2013 г.

system-report: собрать информацию об устройстве

В деле хакинга различных гаджетов часто бывает нужно быстро собрать достаточно полную информацию о железе + логи.
Для этих целей я использую скрипт system-report авторства Алексея Гладкова.
Изначально он был нацелен на сбор информации о desktop-линуксе (о том же ALTLinux). Я его дорабатываю для гаджетов, встроенных линуксов, и, в первую очередь, конечно, андроидных.
Текущая (моя) версия тут.
Впрочем, понимая, что из GIT вытащить полезную часть не так уж легко, предгалаю готовый тарбол.

Замечу, что:

  1. Программа изначально написана для OS Linux. Вероятно, есть какие-то готовые "fancy" APK с тем же функционалом, но среди FOSS я таких не наблюдал.
  2. Если есть предложения, что бы в неё ещё добавить, пожалуйста, пишите.

Как использовать (на примере андроид-девайса):

  1. сгружаем тарбол на устройство:
    adb push system-report.tar /data/local/tmp
  2. распаковываем (внутри adb shell):
    cd /data/local/tmp ; tar xf system-report.tar
  3. запускаем:
    cd /data/local/tmp/system-report ; sh system-report
  4. забираем результат (это уже с "большого брата" (ББ)):
    adb pull /data/local/tmp/system-report/sysreport-????????.tar
    (тут внимательно смотрите имя файла: программа пишет правильное имя в конце работы)
 На здоровье!

четверг, 4 апреля 2013 г.

Синхронизация файлов с Android

Почитывая статейку про введённую в андроиде (>=3.0) поддержку MTP, наткнулся на дискуссию, как лучше тянуть/толкать файлы с/на андроид.

Мои 5 тенге на эту тему.
Способ, который я использую несколько лет, это
  • rsyncd, запущенный на андроиде,
  • adb forward tcp:8873 tcp:873
  • rsync://localhost:8873/sdcard/
Мне кажется, это более естественно, чем Samba-сервер поверх USBnet :)
Единственный жирный недостаток — нет графического "эксплорера" под линукс, хотя я уже попросил. Под виндус, кстати, есть.

вторник, 2 апреля 2013 г.

Встречайте Insar!

На прошлой неделе купил для жены Insar Pad V1. (InsarPad V1, InsarPadV1)

Как планшет, он ничем не выделяется. Есть недостатки, главный из них — один двадцатиконтактный хлипкий разъём для всего: зарядки, USB, USB host и ещё "незнамо" чего.

В планах — "deep hack" этого девайса. Если будут по нему вопросы, обращайтесь.


Добавлено Пт апр 19 18:58:21 ALMT 2013:
Сегодня я случайно узнал, что разъём довольно знакомый многим: это 20-контактный разъём Самсунг, который используется во многих мобилках. Только распиновка совсем другая...

Добавлено Вт апр 30 15:46:34 ALMT 2013:

Нашёлся "близкий родственник за границей": это Sonore Andropad (иногда добавляют, TA01). В отличие от нашего Insar-а у этого нормальные разъёмы.