LINUX.ORG.RU

Избранные сообщения demidrol

Форматирование кода для макросов C в GNU Emacs

Форум — Development

Мне приходится работать с очень большими макросами на Си. Как сделать так, чтобы Emacs печатал \ в каждой строке в 79 колонке, до тех пор, пока я не закончу #define ... ? Также я хочу, чтобы он не пытался сдвигать вправо текст под #define.

 , , , ,

zx_gamer
()

FireJail — краткое и ознакомительное практическое руководство

Статьи — Desktop
FireJail — краткое и ознакомительное практическое руководство

Сейчас существует прорва механизмов изоляции приложений — от песочниц до виртуальных машин. Целей их применения тоже множество, но так или иначе всё сводится к тому что нужно ограничить доступ приложений к тем или иным ресурсам вычислительного устройства.

Ниже я хочу описать почти золотую середину в лице утилиты firejail в виде практических советов по использованию в первую очередь для обычных пользователей и (возможно) разработчиков.

( читать дальше... )

 , , , ,

LINUX-ORG-RU
()

Чем сделать автоматическую трассировку

Форум — Development

Добрый день, ЛОР.

Судя по всему, я хочу какой-то гибрид из gdb, ltrace (и, возможно, valgrind).

gdb позволяет смотреть трассировку программы при попадании на точку останова.

ltrace выводит все вызовы библиотечных функций (но только библиотечных).

А можно ли каким-то инструментом (например, тем же gdb, но ни в мане, ни в «инструкциях от Васянов» я ничего похожего не нашёл) запустить свою программу и получить полный лог её хождения по собственным функциям от начала до конца? Без брекпойнтов, чтобы программа могла работать в условиях, максимально приближенных к боевым? Понятно, можно нашпиговать каждую функцию отладочным выводом на std::cout, но может, можно это как-то автоматизировать?

 , ,

hobbit
()

Hobbits 0.21 — визуализатор бинарных файлов для реверс-инжиниринга

Новости — Разработка
Группа Разработка

4 марта увидел свет Hobbits 0.21 - инструмент для визуализации бинарных файлов в процессе реверс-инжиниринга. Инструмент написан на связке Qt и C++ и распространяется по лицензии MIT.

Hobbits позволяет использовать для работы набор плагинов, которые можно подключать или отключать в зависимости от текущей задачи - разбор, обработка или визуализация бинарного файла. Существуют плагины для поиска по данным, анализу их структуры через регулярные выражения, выделения типовых шаблонов.

Для бинарных файлов доступные следующие виды представлений:

  • Классический шестнадцатиричный HEX-код
  • Двоичный код
  • ASCII
  • Побитная или побайтовая растеризация
  • Символьная растеризация

>>> Инструкция по работе с программой

>>> Репозиторий на GitHub

>>> Подробности

 hobbits,

Zhbert
()

OmegaT – система автоматизированного перевода

Галерея — Скриншоты

Когда-то я переводил прямо в текстовом редакторе/процессоре, предложение за предложением замещая оригинал переводом. Некоторые так делают до сих пор. Или открывают в одном окне документ заказчика с замысловатым форматированием, а в соседнем – печатают перевод. Недостатков у такого подхода множество:

  • повторы, частичные и полные, (допустим, в пачке должностных инструкций) утомляют или поиском и копипастой, или перепечаткой одного и того же (причем формулировки то и дело плывут там, где крайне желательно постоянство);
  • постоянная копипаста в словари и системы машинного перевода утомляет и отвлекает;
  • сложно следить за постоянством терминологии;
  • сложно сохранять форматирование;
  • то и дело возникают ошибки (в том числе, самые непростительные – пропуски), которые сложно уловить и исправить;
  • в целом сложнее за всем уследить, и правило 7±2 в итоге бьет по скорости или по качеству;
  • если переводчик работает, словно в век пишмашинок, агентству или заказчику приходится потом самостоятельно форматировать перевод.

Использование автоматизированного перевода только кажется сложным. На самом деле, я просто установил OmegaT, настроил внешний вид и стал работать, понемногу настраивая все остальное. В репах обычно устаревшие версии, поэтому лучше ставить сборку с официального сайта в /opt/, стабильную или бету. На Open JRE поддерживается меньше функций, и Oracle JRE предпочтительна. Я не хочу ставить Oracle JRE в систему, поэтому скачиваю сборку с ней.

Интерфейс

На скриншоте вы видите роман Д. Г. Лоуренса «Сыновья и любовники» в процессе перевода, который я делаю в свободное время, – еще без литературной правки. Итак, пройдусь подробнее по вкладкам/окнам/областям (всё это перетаскивается и преобразуется одно в другое).

Editor – я люблю видеть оригинал и перевод одновременно. Еще люблю, когда неуникальные сегменты менее контрастны. Автоматическую подстановку частичных совпадений отключаю: ее можно проглядеть и оставить сегмент без редактуры. Вставляю вручную, по хоткеям. Также люблю автодополнение: оно здесь куда более интеллектуальное, чем в LibreOffice.

Dictionary – я кладу мягкие ссылки на словари в каталог ./dictionaries/ проекта. OmegaT парсит сегмент и подгружает словарные статьи в эту область. Словари лучше не добавлять все сразу, а выбирать под проект, особенно если в компьютере крутится HDD. Словари – моя самая частая причина желать SDD.

Когда локальных словарей недостаточно, помогает внешний поиск, который я тоже настроил под себя. Threesome – так мой внутренний гусар прозвал Multitran, ReversoContext и Linguee, открываемые в трех разных вкладках браузера. Эта троица идеальна, когда нужно разыскать словосочетание или увидеть переводы в контексте. Oxbridge – это связка из Oxford Dictionary и Cambridge Dictionary: иногда единственный способ перевести адекватно – это подобрать слово под определение.

Glossary – сюда можно добавлять термины или, в случае художественной или исторической литературы, имена героев и названия локаций, историзмы. Иногда глоссарии предоставляет заказчик. Бывает, что пригождаются глоссарии из предыдущих проектов.

Fuzzy Matches почти бесполезны для художественной прозы, но здорово экономят время при переводе документов. Здесь появляются повторы не только из текущего проекта, но и из добавленных файлов памяти перевода. Их можно взять из собственных проектов или сгенерировать встроенным Aligner’ом из оригинала и перевода.

Machine Translation – я использую Яндекс, IBM Watson, Google, MyMemory. Качество работы всех четырех зависит от темы и стиля оригинала, но в большинстве случаев выбрать лучший машинный перевод, отредактировать его – проще и быстрее, чем набирать с нуля. Например, Watson неплохо натаскан на IT и новости, MyMemory и Google – на договоры. Если знать и понимать переводческие трансформации, документы в итоге переводятся даже качественнее, чем вручную. Но в случае художественного перевода сюда лучше заглядывать лишь изредка: машинный перевод имеет свойство тихо и незаметно отравлять стиль. Отдельно стоит упомянуть MyMemory (human) – это временами полезный поиск похожих переводов по базе соответствующей компании.

Notes, Multiple Translations использую крайне редко. Comments, Segment Properties отключил бы вообще, но такой возможности нет.

Польза автоматизации

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

Чего не хватает? Например, вменяемого токенизатора (анализатора морфологии). Словари и глоссарии либо воспринимают слово только в начальной форме, либо находят все однокоренные. Не помешал бы и встроенный или облачный транслитератор/транскриптор с разными вариантами преобразования. Желательно, умеющего работать с вырожденными случаями, так чтобы для ‘Mao Zedong’ предлагался в том числе ‘Мао Цзедун’. В принципе, это повод самому научиться писать скрипты и плагины.

>>> Просмотр (1920x1080, 161 Kb)

 , , omegat, ,

Bagrov
()

Альтернатива книгам Криса Касперски

Форум — Security

Друзья, собсна сабж прост - есть ли современная альтернатива книгам Криса Касперски?

 

Oxff
()

vim и youcompleteme

Форум — General

Здравствуйте! Недавно начал использовать vim. Установил AutoCompleteMe. Работает хорошо. Только вот одна маленькая назойливая вещь происходит: когда высвечивается окно с возможными подстановками и ты нажимаешь на <Tab> или <Down>(эти клавиши по умолчанию), чтобы собственно воспользоваться подстановкой, появляется окно предпросмотра. Да еще и сверху. Это очень сильно бесит. Как это отключить? Смотрел раздел «Опции» в официальном readme - не нашел. Буду очень рад если кто чего подскажет!!!

 ,

clever
()

Android разработка без android studio.

Форум — Development

Есть опыт лет 15 в C++, под Android пытался лениво начать кодить пару раз, первый раз убила конски развесистая и тяжёлая IDE, где всё это предлагалось сделать. Второй раз убило то же самое - IDE стала ещё более конская и тяжёлая. Я фалломорфирую с того факта, что для простого белого окна с одной кнопкой мне надо видеть 100500 каких-то файлов в иерархии проекта, кучу кнопок в этой студии, запускать какую-то жирную систему сборки с .xml файлами т.п.

Не понимаю как можно начать с чего-то не базового. Такой подход, типа качните нашу IDE под 700 метров, запустите, он отожрёт пару гигов озу, создайте проект и т.п. - какая-то жопа, а не базовость. Базовое - это когда тебе дают голимый notepad, ты пишешь код, потом пишешь Makefile из 4 строк, запускаешь make и получаешь свою софтину. Далее накручиваешь. К IDE приходишь, когда понимаешь что накрутил так дохера, что уже тяжело через vim + mc на всё это смотреть, например.

В общем, хочется какого-то мануала/книги, где подразумевается, что ты можешь создать легитимное android-приложение из минимума говна и палок. Например имея только vim, adb, ещё там что-нибудь относительно редко меняющееся, желательно без всяких gradle систем сборки, а просто запуская java из консоли. И получая легальный современный нормальный .apk, который google play market не забанит ни за что.

Нахрена мне такое надо? А иначе основ не понять. Я бы хотел понимать что там в самых низах (ясно, что низами называется что-то вроде функции main в java, линковалки ресурсов и т.е., пакователя .apk файлов, Manifest.xml и т.п.). Т.е., чтобы, например, я смог собрать android-приложение, которое минимальное по размеру для данного функционала. Т.е. чтобы в него не было включено 100500 каких-то левых метафайлов, дескрипторов самой студии, всяких лицензий, копирайтов, ресурсов сотен иконок разного размера, прочей дефолтной ботвы. Мне не надо потребления лишних 4 КБ в .apk на то, что там для соблюдения этикета лежит какая-нибудь портянка про то, что это собрано такой-то, мать её, студией. И чтобы, скажем, я должен был руками всё это где-то прописывать, на каждом шагу огребая что чего-то не хватает и мог, разбираясь, понять нафига нужен каждый мелкий элемент процедуры.

Т.е. в идеале, среда разработки отсутствует, а есть набор файлов и утилит, а я пишу .sh - скрипты для оркестрации всех говен для получения легального .apk файла.

 

hlamotron
()

Kaitai Struct 0.8

Новости — Open Source
Группа Open Source

После почти 8 месяцев разработки, состоялся очередной релиз Kaitai Struct 0.8 — языка описания и инструментария парсинга всевозможных бинарных форматов (например, сетевых пакетов, файлов с изображениями/аудио/видео, баз данных, архивов, контейнеров и т. д.). Как всегда, в комплекте:

  • компилятор, позволяющий из файла спецификации формата (.ksy) получить готовый исходник парсера на языках C++, C#, Java, JavaScript, Lua, Perl, PHP, Python, Ruby, а также диаграмму в формате GraphViz;
  • Web IDE для удобной разработки спецификаций с одновременным визуальным контролем;
  • библиотека форматов, насчитывающая в этом релизе уже 110 описаний

Список новшеств 0.8 довольно длинный, из основных достижений стоит отметить:

  • поддержку Lua (почти 100%), начальную поддержку Go (~15% тестов проходит);
  • поддержку переключения endianness по результатам вычислимого выражения (сильно упрощает поддержку форматов типа ELF, TIFF и т.п., которые встречаются в двух вариантах endianness)
  • параметрические типы — например, одной такой спецификацией BCD можно пользоваться самых разнообразных BCD, передавая при вызове типа параметрами число цифр, битность одной цифры и порядок их следования;
  • поддержка произвольных кастомных методов процессинга данных (расшифровка, декомпрессия и т.д.) путем подключения модуля на целевом языке программирования; в будущем планируется создание стандартных библиотек для распространенных алгоритмов сжатия, шифрования и обфускации данных;
  • возможность обращаться к индексу итерации в циклах — _index;
  • расширенные возможности документации enum'ов и кросс-ссылок;
  • у проекта появился логотип благодаря сотрудничеству с финским дизайнером Verneri Kontto

Релиз приурочен к пересечению проектом морального рубежа в 1000 stars на GitHub. Команда Kaitai благодарит всех пользующихся за доверие и поддержку и обещает, что дальше будет еще интереснее.

>>> Подробности

 , ,

GreyCat
()

Фото на документы в GIMP без плагинов

Форум — Multimedia

Ищу ссылку на ресурс Потерял ссылку. В ресурсе было описано, как без плагинов сделать фото на документы и коллаж.

 ,

ilja-ilja1990
()

Генератор G-code

Форум — Development

Посоветуйте генератор G-Code из контура для двух-осевого станка (как вариант токарного). Желательно опенсорс, но это не основной критерий, но желатьельно поддерживающего Fanuc'вский g-code с плюшками типа CR

G2 X4.146 Z-5.706 CR=6 F150

 ,

AUX
()

Менеджер ссылок (букмарков/закладок) в файловой системе?

Форум — General

Я до сих пор считаю древнее решение IExplorer с хранением закладок в дереве ФС очень удачным. И сильно не хватает подобного для ручной работы со ссылками в других браузерах. Понятно, что не сложно сделать свой аналог, но, прежде чем велосипедить — может, где-то уже есть подобное готовое решение?

 , ,

KRoN73
()

Visual Tcl. Разработка графического интерфейса на базе Tcl/tk для утилит командной строки

Форум — Development

Тестируя облачный криптографический токен PKCS#11 на различных платформах, меня не покидала мысль о некой несправедливости: почему утилиты конфигурирования токенов PKCS#11 на платформе MS Windows имеют графический интерфейс, а для других платформ его нет.

Выходом могло бы быть написание на языке C/C++ GUI (графической оболочки) для этих утилиты, например, с использованием библиотеки Qt. Но тут в памяти всплыло, что есть скриптовый язык высокого яровня Tcl (Tool Command Language), который в связке с графической библиотекой Tk (Tool Kit) и позволяет быстро создавать графические интерфейсы для консольных программ или утилит командной строки.

Впервые я познакомился с пакетом Tk/Tcl в далеком 1997 году, когда планировалось на нем написать графический интерфейс для системы контроля доступа (СКД). Тогда графические возможности пакета произвели сильное впечатление и, в частности, tetris.

Одной из причин, по которой отказались от использования Tk/Tcl, было отсутствие для него в то время конструктора (дизайнера) аналогичного сегодняшнему, скажем, QT-designer. Освежив в памяти возможности Tk/Tcl, а нас интересовало, помимо графических возможностей, организация взаимодействия с утилитами командной строки, и убедившись, что мы стоим на правильном пути, мы принялись за поиск конструктора. После проведенного анализа имеющихся конструкторов выбор пал на дизайнер tkBuilder и Visual Tcl.

Что касается утилиты tkBuilder, то здесь не обошлось без ложки дегтя. Первое, она поддерживает только tcl/tk версии 8.4.Ну и вторая ложка дегтя классическая. Дизайнер tkBuilder отказывается работать с русскими буквами. Подчеркиваю, это касается только дизайнера и не касается Tcl/Tk, для которого русский язык как дом родной.

Что касается второго конструктора, то он оказался лишенным этих недостатков. Текущая поддерживаемая версия это версия 8.6:

bash-4.3$ cd ../vtcl.vtcl-8.6-master
bash-4.3$ ./configure 
Using /bin/wish8.6
bash-4.3$

И никаких проблем с «великим, могучим, правдивым и свободным русским языком!» (И.С. Тургенев).

После предварительного ознакомления было решено использовать его в деле, а именно разработать графическую оболочку для утилиты командной строки ls11cloud_config, с помощью которой можно получить доступ к облачному криптографическому токену PKCS#11:

bash-4.3$ /usr/local/bin64/ls11cloud_config
LS11CLOUD User Utility 
usage:  /usr/local/bin64/ls11cloud_config <command> [-p <password>] [-n <new password>]    
Commands:
   register <host> <port> <id> - register new user on the server 
        duplicate <host> <port> <id> - duplicate user account on other computer 
        change_pswd - change SESPAKE authentication password 
        status      - display current configuration data 
        log         - display server log file 
        recreate    - re-create token to initial empty state 
        unregister  - remove all user files from the server 
NB: Don't use non-latin letters to avoid encoding problems! 
Copyright(C) 2017 
bash-4.3$

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

Но осмотревшись оказалось что пару окон (новостную ленту – Visual Tcl News и знаете ли вы это – Did you know)можно закрывать без всякого ущерба для работы. И оказывается, что окон уже и не так много и, при необходимости, их можно периодически скрывать.

Приятной неожиданностью стало наличие своего мольберта] для каждого виджета класса toplevel.

В нашем проекте потребовалось три виджета класса toplevel и, соответственно, в нашем распоряжении было три мольберта:

1. Виджет GUICloudConfig, основное окно с функциями утилиты ls11cloudconfig (см. выше);

2. Виджет Password, который так или иначе задействован во всех функциях утилиты для ввода пароля для доступа к облаку токена;

3. Виджет CloudToken, который задействуется в функциях Регистрации и Дублирования облачного криптографического токена.

Проект в понимании Visual Tcl сохраняется как файл Tcl/Tk (*.tcl) и его в любой момент можно выполнять самостоятельно без дополнительных преобразований. Обратное не верно, далеко не каждый файл Tcl/Tk конструктор Visual Tcl будет рассматривать как свой проект.

На еще одну очень полезную вещь навел проект Visual Tcl – возможность сохранения проекта в бинарном коде. Для этой цели задействуется утилита freewrap, которая превращает скрипты Tcl / Tk в однофайловые исполняемые программы. Так и мы оба скрипта, реализующих графический интерфейс для утилит p11conf и ls11cloudconfig, преобразовали в исполняемые программы:

bash-4.3$ ls 
GUITKP11Conf.tcl  LS11CLOUD_CONFIG.tcl 
bash-4.3$
bash-4.3$ freewrap GUITKP11Conf.tcl
bash-4.3$ freewrap LS11CLOUD_CONFIG.tcl
bash-4.3$ ls 
GUITKP11Conf      LS11CLOUD_CONFIG      
GUITKP11Conf.tcl  LS11CLOUD_CONFIG.tcl 
bash-4.3$

Теперь осталось только все (проекты, tcl-скрипты и исполняемые программы) упаковать в архив и выложить для учебных целей. Скачать архив можно здесь.

 , , , ,

vip513
()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

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

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

Сразу скажу: всё плохо. Вам может показаться, что заботливые производители позаботились о вас, залочив загрузчик вашего телефона и не позволяя его разблокировать, не удалив все данные с телефона.

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

Так что тут все настолько плохо, что я даже предложить ничего не могу. Страдайте.

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff
()

emacs ide для c

Форум — Development

Иногда пишу небольшие программы на С, большое ide заводить для этого, наверное, нет смысла. Хочу попробовать emacs для этой цели. Нашёл это руководство. Много примеров и возможность скачать готовый emacs.d, протестировать, а потом выбрать те возможности что нужны.

Начал читать руководство и составлять свои файлы настроек. Пройдя по руководству я получил такой файл init.el

( читать дальше... )

Melpa работает, но Ido и ggtags приходится включать вручную, мне казалось что должно включаться само везде.

Я подумал, что это я что-то сделал не так и, удалив всё, сделал.

git clone https://github.com/tuhdo/emacs-c-ide-demo.git ~/.emacs.d
И рассчитывал что всё должно было установится и работать само, ведь автор написал:

I added an Emacs repository that is properly configured for demonstration purpose. You can clone and play with it and you can ignore all the Elisp code for setting up throughout the guide:

Но нет, не заработало. Я полез в init.el, увидел функцию install-packages, попробовал вызвать её через М-х, но тщетно. В общем, объясните, пожалуйста что я делаю не так.

 , , ,

flyshoot
()

Стек технологий для реверсинга

Форум — Development

Для начала, посоветуйте современные свободные/открытые аналоги IDA и PVS-Studio. Которые еще и могут работать не только под винду, но и под линукс. И под 64 бита. Неплохо бы из асма какой-то си-подобный псевдокод или прям си. А для поисковщика ошибок ориентацию на C++.

Гугл у нас общий, но там куча каких-то полудохлых проектов, IDEшек на тикле от одного вида которых задница перекусывает чугунный лом, какие-то шеллскрипты для аппликух от которых уже и исходников не осталось... Вообще получасовое гугление протащило как будто по задворкам начала 2000х, хаос ужос и запустение. Я из Java и Javascript мира с няшными глянцевыми IDEшками, и все эти остатки ушедших в небытие цивилизаций создают тягостное ощущение..

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

 , , ,

stevejobs
()

Представлена возможность разгона Intel GPU в Linux

Новости — Hardware and Drivers
Группа Hardware and Drivers

Благодаря новому патчу для ядра Linux, улучшена работа видеодрайвера Intel с разогнанной видеокартой.

С патчем для ядра, сделанным Ben Widawsky из Intel для их DRM-драйвера, была исправлена ошибка в ядре, обнаруженная несколько месяцев назад и приводящая к неработоспособности Intel Turbo в Linux для Sandy Bridge и более новых архитектур (Ivy Bridge, Haswell и т.д.). Данный патч, появившийся в ночных сборках ветки ядра drm-intel, начинает свое движение в сторону включения в стабильную ветку ядра.

Для разгона необходимы:

  • видео Intel HD 2000/3000/2500/4000;
  • материнская плата «для энтузиастов», поддерживающая повышение напряжения и частоты.

Для получения информации о максимально поддерживаемой частоте ядра GPU необходимо передать ядру параметр drm.debug=0xe. После этого необходимо проверить вывод dmesg, в нем должна появиться подобная строка, отображающая максимальную поддерживаемую частоту:

[98650.411179] [drm:gen6_enable_rps], overclocking supported, adjusting frequency max from 1300MHz to 1300MHz

Описание работы патча в блоге Daniel Vetter из Intel

>>> Подробности

 , ,

unfo
()

Платку поиграться за до $100-150, выбор невелик совсем?

Форум — Linux-hardware

Я вижу ODROID-XU4 за $110 и BeagleBoard-X15 чуть дороже, первая с вентилем, а вторая вроде еще и не вышла в продажу.

Что купить поиграться? Будет как тонкий десктоп, сам линукс буду собирать на базе Void, там пакеты есть для ARMv6, ARMv7, еще будет тестовой управляющей платкой для cnc-станка.

Нужны нормальные cpu и gpu, памяти от 1 гига, идеально, чтобы был S/PDIF, но его в случае чего можно докупить поставить.

 , , , ,

slon
()

Свободная программа для рисования красивых диаграмм - есть такая?

Форум — Desktop

Посоветуйте, пожалуйста, свободную программу для рисования диаграмм. Желательно, чтобы результат был красивым. Еще хотелось бы, чтобы она умела в LaTeX.

 ,

aquadon
()

Все знают про curl wttr.in/город?

Форум — General

Я до сего дня не ведал. Например:

~$ curl wttr.in/Odesa

Weather for City: Odesa, Ukraine

    \  /       Partly Cloudy 
  _ /"".-.     18 °C          
    \_(   ).   → 19 km/h      
    /(___(__)  10 km          
               0.0 mm         
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Thu 22. Sep ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│     \   /     Sunny          │    \  /       Partly Cloudy  │  _`/"".-.     Patchy rain ne…│     \   /     Clear          │
│      .-.      10 – 11 °C     │  _ /"".-.     15 °C          │   ,\_(   ).   16 °C          │      .-.      12 – 14 °C     │
│   ― (   ) ―   ↘ 14 – 17 km/h │    \_(   ).   ↘ 18 – 21 km/h │    /(___(__)  → 17 – 22 km/h │   ― (   ) ―   → 18 – 29 km/h │
│      `-’      10 km          │    /(___(__)  10 km          │      ‘ ‘ ‘ ‘  10 km          │      `-’      10 km          │
│     /   \     0.0 mm | 0%    │               0.0 mm | 0%    │     ‘ ‘ ‘ ‘   0.0 mm | 12%   │     /   \     0.1 mm | 21%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Fri 23. Sep ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               Cloudy         │    \  /       Partly Cloudy  │     \   /     Sunny          │     \   /     Clear          │
│      .--.     11 °C          │  _ /"".-.     14 – 15 °C     │      .-.      15 – 16 °C     │      .-.      11 – 13 °C     │
│   .-(    ).   ↘ 15 – 18 km/h │    \_(   ).   ↘ 20 – 23 km/h │   ― (   ) ―   ↘ 22 – 28 km/h │   ― (   ) ―   ↘ 21 – 33 km/h │
│  (___.__)__)  10 km          │    /(___(__)  10 km          │      `-’      10 km          │      `-’      10 km          │
│               0.0 mm | 0%    │               0.0 mm | 3%    │     /   \     0.0 mm | 5%    │     /   \     0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Sat 24. Sep ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│    \  /       Partly Cloudy  │               Cloudy         │    \  /       Partly Cloudy  │     \   /     Clear          │
│  _ /"".-.     13 °C          │      .--.     18 °C          │  _ /"".-.     17 °C          │      .-.      14 – 15 °C     │
│    \_(   ).   ↘ 12 – 15 km/h │   .-(    ).   ↘ 18 – 21 km/h │    \_(   ).   ↘ 15 – 19 km/h │   ― (   ) ―   ↘ 10 – 17 km/h │
│    /(___(__)  10 km          │  (___.__)__)  10 km          │    /(___(__)  10 km          │      `-’      10 km          │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │     /   \     0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘

Check new Feature: wttr.in/Moon or wttr.in/Moon@2016-Mar-23 to see the phase of the Moon
Follow @igor_chubin for wttr.in updates

 ,

slon
()