Михаил@melon
Программист
Приглашаем на Android Devs Meetup 17 марта
да, 8 октября. Спасибо! А ещё meetups@corp.mail.ru как-то долго отвечает, отправил несколько тем, по которым хотел бы выступить ещё раз на Android Devs Meetup и пока ни слуху, ни духу. Если не сложно, не могли бы им напомнить?
0
ПосмотретьПриглашаем на Android Devs Meetup 17 марта
круто! А запись с предыдущего Android Dev Meetup будет? Который был 22 октября.
0
ПосмотретьПревью Android N: API и инструменты разработчиков
плюсую! Либо не пишите это в анонсе, либо добавьте в поставку Россию.
+6
ПосмотретьНовости про C++ продукты и JetBrains C++ Night в Санкт-Петербурге
JetBrains, когда LLDB в Linux-версии будет? очень жду этого!
0
ПосмотретьАнализ изменения цен в российских интернет-магазинах
Круто! Народ, зацените график для цен на айфоны priceanalytic.com/item/73558. Видны два отчётливых пика перед 4 и 11 ноября, которые были днями распродажи) Очередное доказательство, что чёрная пятница в РФ не более чем утка!
+2
ПосмотретьБунт против виртуальной машины
Механизм работы бинарной трансляции устроен таким образом, что он отслеживает изменения оперативной памяти и оттранслированный блок сразу аннулируется и вытесняется из кэша, как только произошло изменение памяти на которую он ссылался. Именно поэтому в эмуляторе всегда будет f1 f2 f1 f2 f1 f2. Да, я согласен что это поведение также можно изменить, просто это сложнее и тут нужно хорошее понимание алгоритма бинарной трансляции. Но ничего невозможно нет, тут ты прав) И никогда не говори никогда, тоже соглашусь с тобой. Про «случайную последовательность» я думаю они имели ввиду, что на их устройствах так. Но даже если будет f1 f1 f1 f1 f1, мы сможем отличить её от последовательности эмулятора f1 f2 f1 f2 f1 f2. Гарантий что это будет работать устройствах я дать не могу, как и авторы статьи вроде бы тоже их не дают. Они дают всего лишь набор эвристик, которые работают у них.
0
ПосмотретьБунт против виртуальной машины
мне кажется функция достаточно маленькая и умешается в одну страницу кэша, хотя я могу ошибаться. Так что варианта, что будет испольняться часть кода одной функции и часть другой мне кажется не будет. Самомодифицирующийся код никакой не криминал, а нормальная ситуация для малвари. Если этот код будет работать на более чем 50% устройств, я думаю авторов малвари это устроит) Но мне всё же кажется, что поведение на реальном оборудовании всегда будет отличаться от поведения в эмуляторе, потому что кэш на реальном устройстве не обновляется сразу и я не верю в то, что он может быть выключен, потому что иначе всё будет работать дико медленно и такие телефоны и устройства вряд ли кому нужны.
0
ПосмотретьБунт против виртуальной машины
Согласен, многие недостатки указанные в статье можно исправить. Правда второй тест с самомодифицирующимся кодом исправить намного сложнее чем тест с прерываниями, и поскольку я не специалист в бинарной трансляции я не скажу как, хотя возможно уже есть решения. Данная же статья лишь отражает текущее положение дел и показывает векторы развития. На текущий момент мы имеем что все песочницы «палятся». Особенно печальным мне кажется что палится Google Bouncer, которым проверяют приложения в маркете. А это значит залить вредоносное приложение в маркет не составляет труда. Обфусцировать его, чтобы никто не догодался что на самом деле делает приложение и ву-а-ля, отличный вектор атаки.
+1
ПосмотретьБунт против виртуальной машины
Всё зависит от задачи которая перед нами стоит. Если мы хотим запустить конкретный эксплоит, то он может быть завязан на уязвимостях конкретной прошивки устройства, а это значит нам нужно запускать на нём. Ведь как показывает практика 70% уязвимостей Android — это уязвимости в прошивках устройств от вендоров. Официальный Android не такой дырявый и достаточно постоянно обновляется.
0
ПосмотретьБунт против виртуальной машины
Википедия говорит, что на эмуляцию 1 такта виртуального процессора уходит 260 тактов физического процессора. Если я правильно понимаю, это замедление в 260 раз, я думаю это будет оооочень медленно. Но да, с таким подходом, мы палиться не будем палиться, если только приложение не завязано на каком-нибудь взаимодействии со внешним миром(по сети например). Именно поэтому сейчас смотрят в сторону применения гипервизоров, а не виртуальных машин в этой области, потому что они дают маленький оверхед и могут быть запущены на реальном устройстве, чтобы не эмулировать всю эту аппаратуру, потому что спецификаций нету и на эмуляцию могут уйти годы. А устройства клепаются сейчас достаточно быстро. systems.cs.columbia.edu/projects/kvm-arm — вот эти ребята из Columbia University пилят. Мне почему-то кажется, что за этим подходом будущее, хотя полная и точная эмуляция аппаратуру это тоже круто конечно!
0
ПосмотретьБунт против виртуальной машины
Согласен, но представь если у нас замедленее в 10 раз и в приложение соединяется по сети и на сокетах установлен тайм-аут и если у нас очень медленно работает приложение сокеты вылетают по тайм-ауту. Или же значения времени берётся по зашифрованному каналлу по сети. Так что и да, и нет одновременно.
0
ПосмотретьБунт против виртуальной машины
как один из вариантов. Но JTAG есть далеко не во всех мобильниках(производители его отключают насколько мне известно), а вирусописатели могут затачиваться под конкретные уязвимости в прошивках определённых устройств.
0
ПосмотретьБунт против виртуальной машины
в разделе 2.3. написано как определяют QEMU с помощью самомодифицирующегося кода и по работе механизма переключения конктекста.
-1
ПосмотретьСюда
12
3Туда
Информация
- В рейтинге
- 5 502-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Зарегистрирован
- Активность