Купальщица прыгает с яхты в море
Прямо в морскую воду..
Прямо в морскую воду..
Любое хорошо, если подходить к вопросу о нем с нужной стороны. Так и в данном. Если красавица говорит геймерам: "Я искупаюсь перед вами, но вы сначала покажите мне свои ачивки, желательно главные", то это не просто. Она тем самым требует от них доказательств того, что они проявили и способны проявлять хорошие качества, ну и так же то, что быть ничтожником не хорошо. В общем тем самым как бы побуждает потенциальных зрителей делать то, что в итоге делает их достойными. Если же, кроме того, её купание сопровождается красивыми танцами в воде, это - тоже подход с нужной стороны. Любой танец - это движение, а движение - это жизнь. И это - не просто так. Когда красавица танцует, она тренирует свои мышцы, активизирует обмен веществ в собственном. Да и сам танец - та еще красота, что важно для эстетов. В общем ответ на данный вопрос такой: хорошо, если к данному вопросу подойти с нужной стороны.
Купание в реке перед успешными геймерами
OpenAI по-тихому выкатил штуку, которая меняет правила для всего веба, а прошло почти незаметно. Во встроенный браузер десктопного ChatGPT добавили поддержку WebMCP. Звучит как очередная аббревиатура, от которых уже рябит в глазах. Но за ней прячется простая и слегка неуютная мысль: сайты только что негласно поделили на два класса — те, что умеют разговаривать с ИИ-агентом, и те, мимо которых он просто проходит.
Сразу честно, без хайпа: WebMCP — штука пока экспериментальная, черновик, и не сказать чтобы новая. Работает она уже несколько месяцев. Новость в том, что поддержку прикрутили именно во встроенный браузер десктопного приложения ChatGPT. То есть технология вылезла из песочницы туда, где ей пользуются живые люди. А это уже совсем другой разговор.
Представьте, что у вас из-за спины торчат щупальца
Объясню на пальцах: сравните обычный интернет — тот, каким мы им пользовались последние лет 20–25, — и интернет с агентом. Это примерно как разница между "сделать что-то своими руками" и "сделать это, когда у тебя из-за спины торчат механические щупальца". Помните Доктора Осьминога? Или Инспектора Гаджета? Вот такие щупальца, которые работают одновременно с тобой. Ты только сказал, что надо, — а они уже делают.
Так вот, WebMCP — это встречные щупальца от самого сайта. Сайт заранее протягивает вашему агенту готовые инструменты и говорит: вот тут у меня поиск по каталогу, вот тут корзина, вот так сравниваются товары. И агенту не надо гадать. Раньше он тыкался в сайт вслепую — теперь сайт сам показывает, за что хвататься.
А без этого что? А без этого агент делает то же, что делает любой из нас на незнакомом сайте, — угадывает. Куда нажать, какую форму заполнить, что тут вообще можно сделать. Клики наугад, разбор страницы по кусочкам. WebMCP же выкладывает всё заранее: вот протокол, вот правила, по которым со мной надо работать. Никакой магии, просто договорились на берегу.
И вот тут самое интересное — про вас и ваш бизнес
Теперь главное, ради чего я вообще это рассказываю. Технология — дело десятое. Первична потребность человека. Посмотрите, как ведёт себя пользователь с агентом: он не открывает сайт и не возит по нему мышкой сам. Он говорит ассистенту, что нужно, — и тот идёт и делает. Всё.
И тут возникает неудобный вопрос к каждому, у кого есть сайт: а на каком языке ваш сайт разговаривает с этим ассистентом? Если ни на каком — то для такого пользователя вашего сайта просто нет. Не "он на второй странице выдачи", не "у него конверсия хромает". Его нет. Как нет магазина без вывески — вроде стоит здание, а мимо проходят и не замечают.
Маркетинг ведь никогда не создавал потребность, он всегда шёл за ней следом. Просто раньше потребность формулировал человек и сам шёл её закрывать, а теперь за него это делает агент. И обслужат того, кому есть что этому агенту предъявить в понятном ему виде. У кого нечего сказать роботу — того робот и пропустит. Жёстко, но честно.
Как это выглядит вживую
Возьмём обычный интернет-магазин. Допустим, вы покупаете часто и много, а ваш агент уже натаскан на ваших запросах: знает любимые бренды, помнит, что вы обычно берёте, может, даже подцеплен к вашему списку покупок. Заходите вы на маркетплейс — и он сам накидывает в корзину то, что вам нужно и что вы наверняка забыли бы. Не вы сверяетесь со списком в телефоне, а он сверяется за вас. Мелочь, а жизнь меняет.
Знаете, на что это больше всего похоже? На игру Factorio, если кто играл. Там персонаж не таскает всё на своём горбу — он ставит схему, что и где должно быть построено, а за него летают боты-дроны, сами приносят нужные детали и монтируют на место. Вот агентный веб — это ровно оно. Вы говорите, что хотите, — дроны бегают. А WebMCP тут — просто удобная дорожка, чтобы к этому будущему перейти быстрее.
Только давайте без розовых очков. Стандарт пока живёт в пределах открытой вкладки, это не всесильный комбайн. И сам OpenAI не зря требует подтверждать каждое действие руками и честно предупреждает: есть риск, что сайт подсунет агенту вредную команду, есть риск утечки данных. Оно и понятно — если сайт теперь умеет диктовать агенту, что делать, то это ещё и новая дырка, через которую можно навредить. Так что "поглядим, во что это выльется" — это не отписка, а трезвый взгляд.
Не бежать сломя голову внедрять черновик стандарта ради галочки — это точно. А сделать шаг назад и спросить себя: если завтра к вам постучится не человек, а его агент, — вашему сайту есть что ему сказать? Умеет он внятно объяснить, что вы предлагаете и что с этим можно сделать, — или всё держится на том, что живой посетитель сам как-нибудь разберётся, куда тыкать?
Потому что правила уже поменялись, тихо и без объявления войны. Сайт, который не умеет говорить с агентами, для агентов не существует. И это больше не прогноз на послезавтра — поддержка уже в продукте.
До выхода на экраны «Чужого» Ридли Скотт ещё не до конца представлял, каким именно будет его фильм. История менялась, сцены переписывались, а визуальные идеи появлялись и исчезали по мере работы над проектом. Многие из них так и остались на бумаге — в виде раскадровок, концептов и рисунков самого Скотта, позднее получивших название «ридлиграмов».
В этом переводе собраны некоторые из самых интересных ранних задумок режиссёра: летающие «мыши», «летающая кровать», хранилище яиц в пирамиде, альтернативные смерти членов экипажа и сцены, которые могли заметно изменить атмосферу и сюжет фильма. Часть идей оказалась слишком дорогой, часть — слишком фантастической, а некоторые просто уступили место более удачным решениям.
В результате перед нами своеобразный «параллельный» «Чужой» — фильм, который мог существовать, но остался лишь в рисунках и воспоминаниях его создателей.
Публикация является переводом. Автор оригинальной статьи — xeno_alpha_07. К сожалению, из-за лимита на иллюстрации, они все не влезли, потому их можно просмотреть либо в оригинальной статье, либо тут, в телеграм-канале, где я пишу про чужих и не только.
Во время подготовки к съёмкам «Чужого», Ридли Скотт показал 20th Century Fox раскадровки фильма. Под впечатлением от его выступления студия удвоила бюджет: с $4.5 миллионов до $8.5 миллионов. Эти раскадровки известны как «ридлиграмы». Презентация содержала сцены и спецэффекты, которые позднее были изменены или вырезаны из финансовых соображений. В этой статье мы взглянем на некоторые из ранних идей и концептов, которые были у Ридли на начальных этапах.
«Ну, пришло время вернуться к истокам и спланировать или нарисовать эпизод специально для себя. Мне так проще думается. Стоит разобраться с картинкой, и всё остальное выстраивается само собой», — Ридли Скотт, Book of Alien
Поначалу Ридли Скотт хотел, чтобы по коридорам летали маленькие объекты и чинили все неполадки. Они должны были называться «мышами».
«Я хотел, чтобы по коридорам летали маленькие штуки, типа сенсоров. Они бы находили проблему, останавливались у компьютерного банка и исправляли её как маленькие мастера. Я хотел назвать их «мышами». В начале фильма они были бы единственными живыми штуками на корабле. Мы хотели снять длинный пустой коридор, чтобы вы услышали их раньше, чем увидели. А потом ВЖУХ! Оно пролетает по коридору мимо камеры. Я думаю, FOX посчитали это слишком большим уклоном в НФ, так что мы от них отказались», — Ридли Скотт, Fantastic Films — © 1979, Джеймс Долан
Изначально сцена пробуждения была намного длиннее. Она начиналась с крупного плана ноздри Кейна, которая потом сменялся открытием его криокапсулы. Кейн выходил в кают-компанию. Он включал монитор над столом, который показывал отсек гиперсна. Кейн подходил к автокухне и делал кофе. Параллельно он смотрел на монитор, слышал, как крышки криокапсул открываются одна за одной, и гадал, кто уже проснулся, и кто следующий. Эта сцена должен был представить каждого члена экипажа «Ностромо» зрителям. Был снят не весь эпизод, но сцена входа Кейна в кают-компанию на плёнку попала.
Даллас с Эшем заходят в отсек MU/TH/UR, чтобы поговорить. Даллас забывает свой код доступа и не может активировать консоль MU/TH/UR. Эш его ему напоминает.
Ридли представлял, что для дальних передач у Ностромо будет большая антенна в форме тарелки. Она бы открывалась как цветок.
Ридли хотел снять эпизод, в котором Паркер и Бретт покидали бы «Ностромо», чтобы осмотреть впускные клапаны корабля. Внутри Паркер замечал, что одна из прокладок повреждена. Из-за этого во время приземления «Ностромо» на планету Чужих возникала проблема с пылью. Эта сцена должна была показать размер и масштаб «Ностромо», но не вписалась в бюджет. Рон Кобб придумал небольшое устройство, которым должны были пользоваться Паркер и Бретт, впоследствии прозванное «Летающей кроватью».
«Они выясняют, что двигателю нужен ремонт. Я очень хотел это снять, отчаянно хотел это снять, потому что этот образ дал бы сильное ощущение масштаба корабля. Они бы вышли из маленького шлюза на боку "Ностромо", облетели его на летающей кровати и зашли в смотровой люк... Мы назвали это летающей кроватью. Выглядела логично в роли штуки для техобслуживания. Человек мог передвигаться на ней, а руками делать, что нужно», — Ридли Скотт, Fantastic Films — © 1979, Джеймс Долан
Бушует пыльная буря, а Даллас, Кейн и Ламберт вслепую идут к источнику инопланетной передачи. Чтобы экипаж мог видеть, Ридли хотел поместить внутрь шлемов маленькие визоры, показывающие поверхность, по которой они идут. Они бы рисовали 3D-изображение окружения, а также что-то вроде голографической карты. Ламберт использует этот «нави-визор», чтобы найти заброшенное судно.
Изначально яйца находились не на заброшенном судне, а в пирамидальной структуре, известной как «хранилище яиц». Экипаж ничего не находил в корабле и решал продолжить поиски. Они натыкались на другую структуру. По её стене они забирались на верх, где заходили в маленькую комнату, в которой находили дыру внутрь. Она была закрыта мембраной, которую Кейну приходилось разрезать ножом, и потом его туда опускали.
«Пирамида и корабль, два разных элемента, к моменту моего прихода на проект оставались предметом непоследовательных обсуждений. Я очень хотел бы это снять, но чем больше думал, тем яснее понимал, что это отлично смотрелось бы в трёхчасовой версии. В итоге окончательное решение продиктовал бюджет. Нам пришлось избавиться от этого. И знаете, иногда финансы ведут к определённому объёму редактуры. Я рад, что мы решили сделать проще», — Ридли Скотт, Book of Alien
Опускаясь, Кейн освещает комнату огнём нашлемного фонаря. Когда он достигает дна, то его костюм должен был, по замыслу Ридли, загореться почти как новогодняя ёлка. Ему так и не удалось развить эту мысль.
«...мне хотелось, чтобы его костюм стал маяком, освещающим всё вокруг. И я хотел на нём тысяч эдак десять лампочек. Он бы сказал: "Я сейчас включу подсветку, можете поднять напряжение?" И потом бац! — и превратился в ёлку», — Ридли Скотт, Fantastic Films — © 1979, Джеймс Долан
Изначально Ридли хотел, чтобы автодок оперировал Кейна с помощью дистанционно управляемых инструментов. Полностью изолированные от Кейна и лицехвата, они по частям снимали бы с него шлем и пытались оторвать лицехвата.
В первом варианте сцены похорон Кейна два члена экипажа надевали в скафандры и выкидывали тело Кейна в космос. Оно медленно уплывало. Остальные смотрели с помощью мониторов на мостике. Ему [Ридли] хотелось, чтобы люди оказались снаружи «Ностромо» ради ощущения масштаба. Он также хотел разместить тело Кейна на «водном велосипеде», который окрестили летающей кроватью, чтобы два члена экипажа сбросили его в космос.
Это самый известный неснятый эпизод «Чужого». Пока Паркер и Бретт заняты сетями и электрошокерами, Рипли навещает Далласа, который сидит внутри обзорного купола. Она говорит ему, что хочет немного отвлечься, подразумевая занятие любовью. Некоторые утверждают, что эта сцена была снята. Так и есть, но это было сделано не на основных съёмках, а на одной из проб Сигурни Уивер.
Чужой появляется за Бреттом. Когда тот оборачивается, монстр сначала смотрит на него, а потом ударом вырывает из груди сердце. Остальные находят Бретта с дырой, которая очень напоминает дыру в груди космического жокея.
«Также, тогда Чужой ещё не утаскивал Бретта. Я хотел, чтобы он вырвал ему сердце. Вот остальные его находят, переворачивают и видят большую полость в груди, напоминающую дыру в груди космического жокея. Но это было слишком похоже на смерть Кейна, так что в итоге мы решили переделать сцену». — Ридли Скотт, Fantastic Films — © 1979, Джеймс Долан
Внутри воздуховода Даллас палит из огнемёта во все стороны. Чужой бежит на него с невероятной скоростью, прыгая с пола на стену, а потом на потолок. Это было бы похоже на то, как создания Джеймса Кэмерона передвигаются по вентиляции в «Чужих».
В этой версии после того, как Чужой защемил одну из конечностей, кислота проедает дверь, и начинается разгерметизация. Ламберт попадается целиком, и её засасывает в маленькое отверстие. Паркер держится, и, в последний момент перед тем, как его постигнет та же участь, Рипли его спасает. Удивительно, но Ламберт снова появляется в поздних ридлиграмах.
Во время охоты на Чужого остальной экипаж слышит постукивание со стороны отсека Эша. Они входят и видят раздувшийся труп Кейна, зацепившийся за одну из распорок «Ностромо».
Для Кейна был сделан полноразмерный саван. По словам Мартина Бауэра, он предназначался для удалённой сцены.
Несмотря на то, что Ламберт погибала раньше по сюжету, Ридли нарисовал ещё одну версию её смерти, вместе с Паркером. Оба члена экипажа надели кислородные маски из-за произошедшей ранее разгерметизации. Они охотились на Чужого, как вдруг он внезапно появляется за спиной Паркера и убивает его. Ламберт пытается сжечь монстра из огнемёта. Чужой использует тело Паркера как щит и проходит через пламя.
Во второй части мы рассмотрим неиспользованные и альтернативные материалы из производственных раскадровок.
Продолжение следует...
Наконецто медленными шагами я добрался до своего отпуска, госслужба вносит свои коррективы в эмоциональное состояние и поэтому было решено не ехать в комфортабельные Турции и Египты, а посетить что-то наше, родное и достаточно близкое к месту проживания.
Выбор пал на уютную и по Скандинавски мрачную, прохладную Карелию (в период поездки она была такой, но от этого хуже не стало, она восхитительна я думаю в любое время года и по своему прекрасна).
Расположились мы в милом отеле между Сортавалой и Рускеалой, в основном на территории делать нечего, лежать и смотреть телевизор мы можем и дома, принято решение посещать спонтанно какие-нибудь места и радоваться происходящему.
Приехали и заселились после 16:00, бродили по территории, воздух заряжен свободой и чистотой, первое время даже кружилась голова, непривычно для городских.
Последующие дни, строго по графику ( благодаря мелкому) мы пробирались через эко- тропу находили пристанище для "хрючевания", еда была сносной, завтрак давал сил на приключения.
Гора Паасо, первый пост был о ней. Совершенно случайно выбрали локацию и не знали, что откроется такой необыкновенный вид, с ребёнком 1 год и 11 мес приодолели путь на пик горы примерно за 15 мин, с непривычки было тяжеловато, но в последующем это была отличная зарядка для прогулок по горной Сортавале.
Далее посетили Рускеалу, честно, по мне это расхваленное место, но может я и не прав, так как подземную её часть мы не смогли посмотреть, вход с ребёнком до 7 лет запрещен.
Но зато побродив по горному парку, нашли одну из "пасхалок" этого места, а именно :
Один из мармориков - Айно. Всего их вроде бы 6, искать все не было времени, опять же потому что мы живём по графику, установленный ребенком. 💪 Так что кто там будет впервые, обязательно поищите всех и может составите карту где конкретно они находятся ( для таких как мы, кто ограничен во времени).
Также за время прибывания был посещен Карельский зоопарк, много фотографий не делал, так как постоянно бегали и смотрели всех животных, хотелось больше контактировать с ними, а не смотреть через призму телефона- воспоминания должны остаться в голове !
Следующее место для посещения были выбраны водопады Ахвенкоски, здесь снимался фильм "А зори здесь тихие...", по мне, вот такие места почему то больше остаются в памяти, очень красиво.
Ну и наконец, была прогулка по самой Сартовале, в общем и целом нишевый и ламповый город, очень уютный, понравилась набережная, имеется детский центр, где можно перекусить и дать волю ребёнку побегать и позаниматься с детишками.
Парк «Ваккосалми» в настоящий момент находится на реконструкции, но он все равно открыт, пройти по нему можно и нужно, как минимум для кардио.
Итог: не бойтесь путешествовать и открывать для себя что-то новое, а если вы еще и с ребенком, не важно какого он возраста , если есть возможность берите его с собой, ведь именно с вами ему открывается такой прекрасный мир.
Всем хорошего дня !
Недавно я придумал новую рубрику: брать свои старые подборки про ожидаемые игры и проверять, в каком состоянии эти игры находятся сейчас. Три года назад я делал подборку 10 игр из России в Steam на фестивале «Играм Быть». Тот пост, к сожалению, не зашёл, и поэтому его почти никто не видел.
Тот самый мой пост в Дзен: https://dzen.ru/a/ZSUmzG5ibhFYewHg
Но зато сейчас у меня есть повод пересмотреть эти игры заново. Теперь я буду перебирать их в порядке успешности на сегодняшний день. Удивительно, но всего 2 из 10 игр в той подборке до сих пор не вышли, а остальные уже давно доступны в Steam — в раннем доступе или полноценном релизе.
Релиз 10 сентября 2026.
3200 отзывов.
Безусловно, главный триумфатор из российских участников на фестивале «Играм Быть» в Steam в 2023 году. Этот градостроительный симулятор вышел в ранний доступ спустя год после участия в фестивале. При этом проект успел собрать больше двадцати миллионов рублей на разработку в краудфандинговой кампании. И уже буквально через неделю, 10 сентября, The Crust выходит в Steam в полноценный релиз.
Но уже за период раннего доступа игра стала достаточно успешной в своей нише, разойдясь тиражом порядка 150 000 копий и получив более 3000 положительных отзывов.
Релиз 23 мая 2025.
229 отзывов.
Между второй и первой по успешности играми подборки фактически огромная пропасть, так как этот пошаговый тактический рогалик получил всего 229 отзывов. Но, с другой стороны, отзывы в основном положительные. А ещё нужно понимать, что для инди‑команды без стороннего финансирования разменять третью сотню отзывов в Steam — это на самом деле очень неплохой результат.
Игра Twilight Wars по сути своей — Darkest Dungeon в сеттинге киберпанка. Знаю, что многим клонирование популярных игр не нравится, но лично я всеми руками за такую тенденцию, так как это точно приносит новые хиты. Хотя Twilight Wars стать хитом, к сожалению, не удалось.
Релиз 13 июля 2024.
224 отзыва.
Третье место по условной успешности досталось психологическому хоррору от первого лица. Игра явно сделана под впечатлением от Layers of Fear, так как между играми явно прослеживается общая атмосфера. Здесь мы тоже попадаем в страшный особняк и тоже имеем дело с искусством, так как дом этот принадлежал трагически погибшему реставратору.
Релиз 10 ноября 2023.
46 отзывов.
Незаслуженно обделённый вниманием платформер в лучших традициях экосистемы Nintendo. Это как будто игра для Super Nintendo — в похожих ярких притягательных красках. Разработчики принципиально рассматривают свой проект как семейный: в игре отсутствуют убийства (противников можно обезвредить только на время) и предусмотрен локальный кооператив, так что можно поиграть вдвоём с ребёнком на одном экране.
Релиз 24 октября 2024.
27 отзывов.
Кооперативный изометрический экшен‑рогалик, который нахватал смешанных отзывов. И что самое обидное, плохие отзывы не связаны напрямую с геймплеем. Похоже, разработчики что‑то намудрили с регистрацией, видимо, прикрутив к Steam‑версии свой лаунчер.
Так что игра не только требует постоянного интернет‑соединения, но ещё и имеет какие‑то проблемы с прохождением регистрации, так что большинство авторов отрицательных отзывов даже не смогли в неё поиграть.
Релиз 5 августа 2024.
19 отзывов.
Грустная и трогательная игра про путешествие собаки главного героя в собачий рай. С хорошим пиаром эта игра наверняка могла собрать неплохую аудиторию, а так — всего лишь 19 отзывов в Steam, хотя и положительных.
Релиз 4 декабря 2023.
12 отзывов.
Небольшая забавная игрушка, которая, к сожалению, вполне ожидаемо осталась после релиза практически незамеченной. Но я лично в неё в своё время немного побегал. Странно, что автор не локализовал игру на русский, будучи сам русскоговорящим. А текста‑то там вообще минимум.
Релиз 16 ноября 2023.
2 отзыва.
У этой игры всего два отзыва, и вообще она, можно сказать, полностью прошла незамеченной. Я оказался одним из немногих, кто в неё играл, и могу сказать, что у игры большие проблемы с балансом: она слишком хардкорная для такой вайбовой летней истории про детство.
Еще на вышла.
Игра до сих пор не вышла, что, с учётом отсутствия каких‑либо новостей, конечно, сильно снижает желание разбираться, что там да как. Но это вроде как файтинг‑рогалик в средневековом сеттинге. Правда, не совсем понятно, что там делает Робокоп.
Еще на вышла.
Симпатичный проект, но тоже до сих пор не вышел, хотя считается, что в фестивале «Играм Быть» стараются участвовать накануне релиза. Надеюсь, тут не совсем всё затухло. Игра представляет собой трёхмерный платформер про приключения мальчика в городе, захваченном монстрами. Игра выглядит симпатично, и мне почему‑то напомнила такую старую игрушку Urban Chaos. Примерно так я её себе визуально представлял, хотя на самом деле она, конечно, выглядит намного хуже — ведь это игра 1999 года.
Спасибо за просмотр!
Все, чт я опишу далее - касается только телефонов на базе android. Как оно там реализовано у них на яблоках - я понятия не имею.
Приложение Т-Банка версии 8.1.0 (хотя, подозреваю, проблема была и сильно раньше) на моём Galaxy S23 Ultra сидело в фоне, никем не открытое, и читало акселерометр с частотой ~416 Гц и датчик гравитации с частотой 200 Гц. Круглосуточно. При этом данные оно даже не забирало — очередь событий стояла забитой под потолок. Результат: ~20% CPU в фоне, сенсорный сервис в топе потребления, телефон тормозит, батарея тает. Виноват не только банк, но и связка «T-Pay + NFC», которая не даёт Android усыпить процесс.
Стал я в последнее время все больше замечать, что телефон ведет себя не очень адекватно. Мелкие тормоза там и тут - открыть гуглоленту, потянуть за шторку, вызвать клавиатуру... Не сказать, что прям тормозит-тормозит. Так, слегка подтупливает. Однако, подтупливание я еще могу простить своему древнему Honor 20, который висит подключенный к колонкам в качестве медиаплеера на кухне. Но никак не Galaxy S23 Ultra. Рано ему еще. Я, конечно, бывает, забываю перезагружать телефон время от времени (как, впрочем, и в этот раз - подключившись по ADB внезапно обнаружил почти месяц аптайма. Упс.), однако, перезагрузка особо не спасала, лишь немного облегчая работу.
Решил, значится, разбираться, подцепился по ADB:
`dumpsys cpuinfo` за пятиминутное окно, пока телефон лежал на столе с выключенным экраном:
22% system_server
13% android.hardware.sensors-service.multihal ← сенсорный HAL, 20 часов CPU за 26 дней
11% com.idamob.tinkoff.android ← Т-Банк, 5.1% user + 6.2% kernel
Второе место - сенсоры, третье - Тинькофф. Причём с очень странным профилем: больше половины времени — в **ядре**, плюс 11 000 major page faults за пять минут. Так выглядит процесс, который непрерывно получает данные через системные вызовы, а не «просто висит».
Дальше — `dumpsys sensorservice`, список активных подключений к датчикам:
Connection Number: 6
llb.a | uid 10404 | cache size 8051 | max cache size 10000
gravity Non-wakeup 0x0000005b | status: active
23:34:55 + 0x0000005b pid=31855 uid=10404 samplingPeriod=5000us (gravity, llb.a)
23:34:55 + 0x0000000b pid=31855 uid=10404 samplingPeriod=2404us (LSM6DSO Accelerometer, llb.a)
uid 10404 — это Т-Банк (`pm list packages -U | grep tinkoff`).
llb.a — имя класса после обфускации. Нам сейчас не важно.
samplingPeriod=2404us — период опроса акселерометра 2,4 миллисекунды. Это ~416 раз в секунду. Для сравнения: шагомер довольствуется 5 Гц, автоповорот экрана — 50 Гц, игры с управлением наклоном — 100 Гц. Тут — почти предел железа.
samplingPeriod=5000us — датчик гравитации, 200 Гц.
cache size 8051 / 10000 — в буфере лежит восемь тысяч непрочитанных событий. То есть приложение подписалось на поток данных с такой скоростью и… не читает его. Буфер просто упёрся в потолок и молча переполняется.
- Подписка появляется через секунды после старта процесса, без открытия приложения. Убиваем процесс — он перезапускается с новым pid и снова подписывается на те же датчики за ту же секунду.
Итого: банк в фоне 24/7 гонит два потока данных с датчиков движения на частоте почти в полкилогерца и даже не удосуживается их забирать.Сенсорный HAL при этом честно отрабатывает каждый тик — вот вам и 13% CPU у «сенсоров», и ядерное время у самого банка.
Тут самое интересное. Android начиная с 9-й версии запрещает фоновым приложениям читать датчики движения в непрерывном режиме. Подписался — данные перестанут приходить, как только приложение уйдёт в фон. Так почему Т-Банк не попал под это ограничение?
Потому что он никогда не был «в фоне» с точки зрения системы:
$ dumpsys activity services com.idamob.tinkoff.android
* ServiceRecord{... com.idamob.tinkoff.android
ru.nspk.mir.hce.sdk.internal.service.MirHcePaymentService}
Bindings:
* Client AppBindRecord{... ProcessRecord{... com.android.nfc/1027}}
$ dumpsys activity processes | grep tinkoff
Proc #76: vis ... com.idamob.tinkoff.android (service)
NFC-сервис. Я пользуюсь T-pay в качестве основного платежного сервиса NFC. (Поправка - теперь уже пользовался).
Системный сервис NFC держит этот сервис подключенным постоянно, а подключенный жк системному процессу сервис поднимает приоритет всего приложения до visible — то самое «vis» в выводе. Для Android это уровень «пользователь почти видит это приложение», и никакие фоновые ограничения — ни на датчики, ни на CPU, ни замораживание — к нему не применяются.
Результат восхитительный - приложение в активном режиме насилует датчики телефона, а NFC-сервис не дает приложению уснуть.
Я не видел исходников, поэтому дальше — обоснованные предположения.
Зачем банку датчики вообще. Это почти наверняка поведенческая биометрия в составе антифрод-SDK. Идея красивая: у каждого человека уникальный «почерк» того, как он держит телефон, как дрожит рука, под каким углом лежит экран, как он тыкает в кнопки. По акселерометру и гравитации можно с приличной точностью отличить владельца от мошенника, который украл телефон вместе с разблокированной сессией. Ещё это ловит эмуляторы (у них датчики либо мёртвые, либо идеально ровные), автокликеры и удалённое управление (телефон лежит неподвижно, а по экрану кто-то бодро жмёт). Для банка это реальная защита от реальных схем, и я не против того, чтобы во время работы с приложением оно оценивало риск.
Зачем 416 Гц. Вот тут защитить их сложнее. Для поведенческой биометрии хватает 50–100 Гц: тремор руки — это единицы герц, походка — тоже. Есть три правдоподобных объяснения:
1. Лень.*В Android есть константа `SENSOR_DELAY_FASTEST` — «давай максимально быстро». Разработчик SDK написал её, потому что «данных мало не бывает», и пошёл дальше. На тестовом Pixel в лаборатории это стоит ничего, на боевом Samsung с 400-герцовым LSM6DSO — 10% процессора.
2. Наивная точность. Чем чаще опрос, тем «богаче» биометрический профиль. Возможно, модель у них обучена на сырых данных с максимальной частотой, и понизить её без переобучения нельзя.
3. Баг. Подписка вешается при инициализации приложения (в `ContentProvider` или `Application.onCreate`), а снять её никто не забыл потому, что предполагалось, что Android сам всё выключит, когда приложение уйдёт в фон. Что он и сделал бы — если бы не T-Pay. Восемь тысяч непрочитанных событий в буфере намекают именно на это: никто эти данные не обрабатывает. Поток идёт в никуда.
Моя ставка — комбинация первого и третьего. Антифрод-SDK написан «на максимум», а связка с NFC превратила «работает, пока открыт банк» в «работает всегда». Злого умысла я тут не вижу: следить за пользователем 416 раз в секунду и класть данные в переполненный буфер — это не слежка, это халтура.
- Ограничение работы в фоне (Настройки → Приложения → Т-Банк → Батарея → Ограничено). Ноль эффекта: процесс держит NFC, а не сам банк, и ограничение на него не распространяется. Проверено через `cmd appops set ... RUN_ANY_IN_BACKGROUND ignore` — процесс как был, так и остался, датчики как читались, так и читались.
- Force stop. Через несколько секунд NFC-сервис поднимает процесс обратно. И он снова подписывается.
- Отключение компонента через ADB. `pm disable-user com.idamob.tinkoff.android/...MirHcePaymentService` → `SecurityException: Shell cannot change component state`. Без рута системные шелл-команды не трогают компоненты сторонних приложений.
Смена приложения для бесконтактной оплаты. Тащем-та, единственный вариант, если вы не хотите сносить приложение банка.
Эффект мгновенный:
$ pidof com.idamob.tinkoff.android
(пусто — процесс не запущен)
$ dumpsys sensorservice | grep -E 'Accelerometer|gravity'
(пусто — ни одного активного подписчика)
Т-Банк стал обычным фоновым приложением: Android его замораживает, датчики ему не отдаёт, пуши приходят как раньше — приложение просыпается на секунду, показывает уведомление и засыпает.
Нужен ADB (Android Platform Tools) и включённая отладка по USB или Wi-Fi.
```bash
# 1. Кто ест процессор в фоне (положите телефон и подождите пару минут)
adb shell dumpsys cpuinfo | head -15
# 2. UID вашего банка
adb shell pm list packages -U | grep tinkoff
# 3. Кто подписан на датчики и с какой частотой (подставьте свой uid)
adb shell dumpsys sensorservice | grep -B3 -A1 "uid 10404"
adb shell dumpsys sensorservice | grep "samplingPeriod" | grep 10404
# 4. Кто держит процесс банка живым
adb shell dumpsys activity services com.idamob.tinkoff.android | grep -E "ServiceRecord|Client"
adb shell dumpsys activity processes | grep tinkoff
# 5. Кто у вас платёжное приложение по умолчанию
adb shell settings get secure nfc_payment_default_component
```
Если в пункте 3 видите `samplingPeriod` в районе 2400–5000 микросекунд от процесса банка, который вы не открывали, — поздравляю, у вас тот же зверь. Если в пункте 4 клиентом сервиса указан `com.android.nfc` — вы знаете, что делать.
- Один телефон, одна версия приложения, один вечер с ADB. Это не исследование, это отчёт о находке.
- Не исключаю, что на других устройствах датчик отдаёт максимум 100–200 Гц, и там всё выглядит скромнее. LSM6DSO в Samsung умеет 416 Гц — вот и получил на полную.