🟩 Компьютерно-техническая экспертиза мобильных приложений

🟩 Компьютерно-техническая экспертиза мобильных приложений

Конфликтный разбор багов, недоделок и вранья разработчиков

Вступление: сколько можно терпеть эти кривые поделки?

Слушай сюда, заказчик, инвестор, юрист или просто человек, который вложил душу и деньги в мобильное приложение, а получил вечно вылетающую, тормозящую, жрущую батарейку и теряющую данные поделку. Знаешь, сколько к нам приходит людей с одинаковой историей? «Мы заплатили студии N миллионов, прошло полгода, а приложение работает как сырая бета. Разработчики говорят: «Это особенности платформы», «У вас телефон кривой», «Обновите прошивку», «Почистите кэш». И ты сидишь, как дурак, с миллионными убытками и чувством собственного бессилия. Хватит! Мы, Союз «Федерация судебных экспертов», устали от этого цирка. Компьютерно-техническая экспертиза мобильных приложений  — это наш тяжёлый артиллерийский снаряд, который мы запускаем по нерадивым разработчикам. Сегодня будет три реальных кейса, в которых мы разорвали в клочья аргументы «профессиональных» студий и заставили их платить. Без цензуры, без политкорректности  — только правда, только конфликт и только судебные решения, изменившие жизни.

Глава 1. Кто такие эти «эксперты по мобильным приложениям» и почему 99% из них  — шарлатаны

Прежде чем мы начнём, давай разберёмся, кого сегодня называют «экспертом». Любой мальчик, который установил Android Studio и скачал чужой исходник с Github, уже считает себя специалистом. Приходит к тебе такой «гуру», смотрит на твоё приложение 5 минут, говорит: «Да, есть баги, но это не критично», берёт 30 тысяч рублей и выдаёт отписку на трёх листочках. А в суде этот «эксперт» рассыпается через 5 минут перекрёстного допроса. Настоящая компьютерно-техническая экспертиза мобильных приложений  — это не гадание на кофейной гуще. Это:

  • Полная декомпиляция бинарного кода (IPA/APK) с восстановлением архитектуры.
  • Статический анализ всех зависимостей, библиотек и фреймворков.
  • Динамическое тестирование на десятках реальных устройств с замерами энергопотребления, памяти, CPU.
  • Пентест безопасности (ищем дыры, через которые утекают пароли и данные).
  • Сравнение с ТЗ, ГОСТами и здравым смыслом.
    Если эксперт не может назвать хотя бы 10 метрик из стандарта ISO 25010  — гоните его в шею. Мы же называем и доказываем каждый свой вывод.

Глава 2. Почему разработчики ненавидят независимую экспертизу (и это их главная проблема)

Знаешь, почему студии-разработчики так боятся настоящей компьютерно-техническая экспертиза мобильных приложений? Потому что она вскрывает то, что они умело прячут: халтурную архитектуру, копипасту чужого кода, отсутствие тестирования, ложь в отчётности. Типичные приёмы, которые мы разоблачаем:
🔪 «Это не баг, это фича»  — превращаем в «нарушение пункта ТЗ № 47».
🔪 «Проблема на стороне сервера»  — показываем дамп сетевого трафика, где сервер возвращает корректные данные, а клиент их игнорирует.
🔪 «У пользователей старые телефоны»  — тестируем на 20 моделях, включая заявленные, и баг проявляется везде.
🔪 «Мы не успели оптимизировать, но в следующей версии починим»  — а по договору уже прошли все сроки, и «следующая версия» не оплачена.
После нашей экспертизы разработчики либо признают вину, либо получают иск на миллионы. И мы ни разу не проиграли.

Глава 3. Кейс №1: Банковское приложение, которое «забывало» транзакции на 23 миллиона рублей

💸 Фабула: Крупный региональный банк заказал мобильное приложение для интернет-банкинга у «топовой» студии, которая брала по 5000 рублей за час. Студия отдала проект с задержкой в 6 месяцев. Но самое страшное началось после запуска: клиенты жаловались, что списания дублируются, а поступления исчезают из истории. Банк создал резерв в 23 млн рублей для компенсаций, потерял 30% активных пользователей. Студия заявила: «Это баги бэкенда, переделывайте сервер».
🔥 Что мы сделали:

Получили APK (Android) и IPA (iOS) файлы, а также исходный код (по определению суда). В коде нашли класс TransactionHandler.java. В методе saveTransaction() при сбое сети данные записывались в локальную БД, но не было механизма повторной синхронизации (retry policy). Через 24 часа кэш очищался, и транзакции «испарялись».

Провели динамическое тестирование: на 10 устройствах (Android 11-14, iOS 15-17) эмулировали обрыв сети через Network Link Conditioner (50% потерь пакетов). В 34% случаев транзакции терялись.

Анализировали бэкенд-логи (предоставлены банком): сервер получал все транзакции, но приложение не делало повторного запроса после восстановления соединения.

Дополнительно нашли утечку памяти: при многократном открытии экрана «История операций» потребление RAM росло с 80 МБ до 450 МБ за 10 минут, что приводило к крашу на устройствах с 2 ГБ памяти.
⚖️ Результат: Студия пыталась оспаривать, привлекла «своего эксперта», который написал, что «дефекты некритичны». Мы провели перекрёстный допрос, задали 15 вопросов, и «эксперт» признал, что не изучал WAL-логи SQLite. Суд взыскал 23 млн рублей убытков плюс 5 млн штрафа. Компьютерно-техническая экспертиза мобильных приложений уделала «профессионалов» в сухую.

Глава 4. Как мы считаем убытки от некачественного приложения: формула конфликта

Один из самых острых вопросов: как доказать, что именно баги приложения привели к потерям денег? Разработчик всегда кричит: «Это не мы, это маркетинг плохой, это конкуренты, это сезонное падение». Наша методика включает несколько этапов:
📉 Прямой ущерб: Компенсации клиентам (если приложение списало лишнее), штрафы госорганов (Роскомнадзор за утечку данных), стоимость восстановления потерянной информации (например, пересдача анализов в медицинском приложении).
📉 Упущенная выгода: Снижение количества заказов/транзакций после появления критического бага. Мы анализируем метрики за 3 месяца до и после, исключаем сезонность (например, декабрь выше февраля). Разница  — упущенная выгода. В кейсе с доставкой еды мы доказали падение на 40% именно из-за фризов и вылетов.
📉 Репутационный ущерб: Сложнее, но оценивается через стоимость удаления негативных отзывов, PR-кампании по восстановлению доверия. Суды поддерживают, если есть экспертиза маркетолога.
📉 Стоимость исправления: Час работы сеньора, умноженный на трудоёмкость (которую мы определяем через анализ кода). Часто это превышает первоначальную стоимость разработки.
Компьютерно-техническая экспертиза мобильных приложений даёт суду цифры, а не эмоции.

Глава 5. Кейс №2: Приложение доставки, которое сожрало батарею и убило бизнес

🍕 Фабула: Сеть пиццерий (средний бизнес, 120 точек) вложила 9 млн рублей в мобильное приложение для заказа еды. Разработчик (студия из двух человек) обещал «высокую производительность и низкое энергопотребление». Через месяц после запуска владелец сети заметил странное: приложение установили 5000 человек, но 90% перестали им пользоваться через неделю. Почему? В отзывах в App Store и Google Play клиенты писали: «Смартфон греется и разряжается за 2 часа». Разработчик ответил: «У пользователей старые телефоны, купите новые».
💥 Наше расследование:

Закупили 6 подержанных телефонов (iPhone XR, 11, 12; Samsung S9, S20, Pixel 4a)  — именно те модели, что были у клиентов.

Установили приложение. Замерили энергопотребление через Battery Historian (Android) и Energy Diagnostics (iOS). Результат: в фоновом режиме приложение жрало 22% батареи в час! Это в 11 раз выше нормы (2% в час считается допустимым).

Декомпилировали код. Нашли сервис LocationService, который запрашивал геолокацию с точностью GPS, интервал 0 метров и 0 миллисекунд. Более того, сервис перезапускался после каждого сворачивания приложения (баг с onTaskRemoved).

В ТЗ было чётко написано: «Геолокация используется только на экране карты, интервал обновления  — 1 раз в 5 минут, приоритет NETWORK_PROVIDER (не GPS)». Разработчик нарушил ТЗ и не провёл тестирование.

В дополнение: приложение при сворачивании не останавливало видео-плеер рекламы, который продолжал проигрывать видео в фоне, создавая нагрузку на GPU.
⚖️ Суд: Экспертное заключение признано. Студию обязали вернуть 9 млн рублей (стоимость разработки) + выплатить 6 млн рублей упущенной выгоды (снижение заказов на 25% за 3 месяца). Компьютерно-техническая экспертиза мобильных приложений поставила жирный крест на карьере горе-разработчиков.

Глава 6. Хранение паролей в открытом виде: почему это уголовщина

Отдельная песня  — безопасность. Многие студии экономят на шифровании. В результате пароли, токены, медицинские данные, номера карт валяются в файловой системе телефона как на ладони. Достаточно подключить телефон к компьютеру или получить root-доступ  — и всё. Компьютерно-техническая экспертиза мобильных приложений всегда проверяет:
🔐 SharedPreferences / UserDefaults: лежат ли пароли в открытом виде? Мы читаем XML-файлы в папке приложения. Если там виден логин и пароль base64 (или вообще без кодирования)  — это грубейшее нарушение.
🔐 Локальная база данных SQLite: проверяем, есть ли шифрование (SQLCipher). Если нет  — данные извлекаются любым менеджером БД.
🔐 Передача по сети: перехватываем трафик через Burp Suite с подменой сертификата. Если используется HTTP, а не HTTPS, или сертификат не проверяется  — это уже нарушение 152-ФЗ.
🔐 Код на стороне клиента: ищем API-ключи, токены доступа, зашитые в коде (хардкод). Они легко извлекаются декомпиляторами.
В кейсе с медицинским приложением мы нашли 2000 записей пациентов (ФИО, диагнозы, адреса) в открытой SQLite. Разработчик утверждал: «Это примеры». Но мы сопоставили с реальными паспортными данными  — полное совпадение. Иск на 15 млн рублей плюс уголовное дело по ст. 183 УК РФ (коммерческий шпионаж) и штраф Роскомнадзора. Вот тебе и «примеры».

Глава 7. Кейс №3: Медицинское приложение, которое потеряло 3000 результатов анализов

🏥 Фабула: Медицинский центр «Здоровье+» (условное название) заказал приложение для пациентов: просмотр анализов, запись к врачу, онлайн-консультации. Разработчик (довольно известная студия, между прочим) сдал проект. Через месяц пациенты начали массово жаловаться, что их анализы исчезают из приложения спустя 3-5 дней. Центр получил несколько исков от пациентов на общую сумму 8 млн рублей (моральный вред, пересдача платных анализов). Разработчик в ответ: «Это пользователи сами удаляют историю, нажимают не туда».
🔪 Методы экспертизы:

Получили APK-файл и дампы приложения с 3 устройств пациентов (с их согласия).

Декомпилировали через jadx. В коде нашли метод cleanOldRecords() в классе DbHelper.java. Он запускался по таймеру каждые 48 часов и выполнял DELETE FROM lab_results WHERE created_at < datetime(‘now’, ‘-2 days’). То есть всё, что старше 2 дней, удалялось автоматически.

В ТЗ (предоставленном заказчиком) было чёрным по белому: «История анализов хранится бессрочно, возможно удаление только вручную пользователем». Разработчик это требование либо проигнорировал, либо «забыл».

Восстановили удалённые записи из WAL-файлов SQLite (журнал упреждающей записи). Даже после DELETE данные оставались в нераспределённом пространстве до перезаписи страниц. Восстановили 2800 записей из 3000 (93%).

Проверили сетевую синхронизацию: сервер хранил анализы, но приложение при повторном входе не загружало старые записи, только новые. Архитектурный дефект.
💣 Итог: Суд признал разработчика виновным в ненадлежащем качестве. Взыскано 8 млн рублей прямого ущерба (пациентам) + 2 млн рублей на переработку приложения. Компьютерно-техническая экспертиза мобильных приложений спасла медицинский центр от разорения.

Глава 8. Почему техническое задание  — это святое, а отговорки разработчиков  — это ложь

Сколько раз мы слышали: «В ТЗ это не точно сформулировано», «Мы реализовали по-своему, потому что так архитектурно правильнее», «Заказчик сам не знал, чего хотел». Знаете наше мнение? Всё это попытки оправдать халтуру. Компьютерно-техническая экспертиза мобильных приложений разбирает каждое требование ТЗ по косточкам:
📄 Измеримые требования (например, «время запуска не более 3 секунд»)  — проверяем инструментально. Не прошёл тест  — дефект.
📄 Функциональные требования («приложение должно отображать карту с филиалами»)  — проверяем навигацию, наличие всех элементов, работу в оффлайн-режиме.
📄 Требования к дизайну («кнопка должна быть зелёной»)  — сравниваем с макетом в Figma.
📄 Требования к безопасности («передача данных только по HTTPS»)  — перехватываем трафик.
Если разработчик реализовал функцию, но она работает неправильно (например, карта есть, но не загружаются метки)  — это дефект реализации. Если функции нет вообще  — это невыполнение обязательств. Суды нас поддерживают. Никакой «творческий подход» не отменяет условия контракта.

Глава 9. Инструментарий эксперта: чем мы вскрываем гнойники

Не думайте, что мы работаем голыми руками. У нас есть арсенал, которому позавидует любая спецслужба:
🛠️ Для декомпиляции и статического анализа:

  • Android: jadx, Bytecode Viewer, APKTool, Procyon, CFR.
  • iOS: Hopper Disassembler, IDA Pro, Ghidra, class-dump, otool.
    🛠️ Для динамического тестирования:
  • Стенд из 20 физических устройств (iPhone SE до 14 Pro, Samsung A51 до S23, Pixel 4-7).
  • Автоматизация через Appium, Espresso, XCTest.
  • Мониторинг: Android Profiler, Xcode Instruments, SoloPi.
    🛠️ Для анализа сети:
  • Charles Proxy, Burp Suite, Wireshark, Fiddler.
  • Эмуляция плохой сети: Network Link Conditioner (Mac), ATE (Android Traffic Emulator).
    🛠️ Для энергопотребления:
  • Battery Historian (Google), PowerTutor, Energy Profiler (iOS).
    🛠️ Для восстановления данных:
  • SQLite Forensic Toolkit, sqlite3_analyzer, DBeaver с плагинами.
  • Собственные скрипты на Python для парсинга удалённых страниц.
    Каждый инструмент лицензионный (мы не пираты), каждый этап логируется. Это позволяет нам в суде под присягой заявить: «Да, я лично видел, как приложение падает при сценарии № 47, и вот видеозапись».

Глава 10. Как мы ловим разработчиков на лжи: протокол эксперимента

Разработчик всегда пытается сказать: «У нас не воспроизводится, значит, проблемы на вашей стороне». Наш ответ: «А мы сейчас всё покажем». Мы составляем протокол эксперимента, который не оставляет камня на камне:
1️⃣ Стенд: модель телефона, версия ОС, версия приложения, настройки сети (Wi-Fi/4G), уровень заряда батареи.
2️⃣ Исходное состояние: приложение установлено впервые, кэш пустой, авторизация под тестовым пользователем.
3️⃣ Шаги: пошаговая инструкция с указанием таймингов (например, «нажать кнопку X, подождать 2 секунды, затем нажать Y»).
4️⃣ Ожидаемый результат (по ТЗ или по здравому смыслу).
5️⃣ Фактический результат: краш, белый экран, некорректные данные, зависание на N секунд.
6️⃣ Скриншот и видеозапись экрана (через скринкаст и камеру на штативе).
7️⃣ Логи: adb logcat, вывод консоли Xcode, дамп памяти.
8️⃣ Повторяемость: если из 5 попыток баг воспроизводится 5 раз  — вероятность 100%. Если 3 из 5  — «часто воспроизводимый».
С таким протоколом в суде разработчик просто не может сказать «а у нас всё работает». Мы предъявляем доказательства, и адвокат противника затыкается.

Глава 11. Соответствие ГОСТам: почему это важно для суда

Многие юристы не знают, но в России есть действующие стандарты на качество мобильных приложений. И они работают. Компьютерно-техническая экспертиза мобильных приложений опирается на:
✅ ГОСТ Р ИСО/МЭК 25010-2017  — модель качества: функциональность, производительность, надёжность, удобство, безопасность, совместимость.
✅ ГОСТ Р 58823-2020  — специфические метрики для мобилок: время запуска, потребление батареи, размер приложения, реакция на вызовы.
✅ ГОСТ 34.602-2020  — состав технического задания.
Если приложение не соответствует хотя бы одному из требований, эксперт фиксирует это как дефект. Судья видит ссылку на ГОСТ, а не просто «мнение эксперта». Это повышает силу доказательств. В одном из дел мы доказали несоответствие по 12 пунктам ГОСТ 58823-2020, и судья даже не стала слушать возражения разработчика  — сразу встала на сторону заказчика.

Глава 12. Сколько стоит халтура? Формула расчёта ущерба

Давай о деньгах. Разработчик всегда говорит: «Ну, баги есть, но не смертельно». А мы считаем. Компьютерно-техническая экспертиза мобильных приложений включает экономическую часть:
💰 Реальные убытки:

Суммы, выплаченные клиентам в качестве компенсаций (например, за ошибочные списания).

Штрафы Роскомнадзора, ФНС, ЦБ (за утечку персональных данных, за непредоставление информации).

Расходы на восстановление утерянных данных (например, пересдача 5000 анализов по 2000 рублей = 10 млн).
💰 Упущенная выгода:

Снижение количества заказов/транзакций после бага. Берём средний чек, умножаем на количество потерянных заказов. Доказываем через статистику до и после.

Снижение конверсии (например, было 5%, стало 2%  — разница 3% от трафика).
💰 Расходы на исправление:

Человеко-часы на анализ, фикс, тестирование. Мы определяем трудоёмкость по коду (метод COCOMO II). Часто это 3-6 месяцев работы команды.
В кейсе с банковским приложением мы насчитали 23 млн прямого ущерба + 8 млн исправлений. Разработчик предлагал «скидку 10% на следующий проект». Суд нас поддержал.

Глава 13. Что делать, если вы попали в ситуацию «приложение не работает»  — алгоритм конфликта

Если вы заказчик и понимаете, что разработчик вас кинул:
1️⃣ Не удаляйте приложение с телефонов тестировщиков и пользователей (если есть доступ). Не обновляйте его.
2️⃣ Соберите доказательства: скриншоты, видеозаписи экрана, логи (через adb logcat для Android, Xcode Console для iOS, если есть доступ).
3️⃣ Зафиксируйте переписку с разработчиком (Telegram, email, Jira). Скриншоты, архивы.
4️⃣ Направьте претензию с требованием устранить баги в разумный срок (например, 30 дней). Если не устранили  — фиксируйте.
5️⃣ Наймите независимого эксперта (нас, например) для проведения компьютерно-техническая экспертиза мобильных приложений. Эксперт даст заключение, которое станет доказательством в суде.
6️⃣ Подавайте иск о расторжении договора, взыскании уплаченного, убытков, упущенной выгоды. Штрафные санкции по ст. 333 ГК РФ.
Мы сопровождаем до победы. И помогаем собирать доказательства.

Глава 14. Типичные отговорки разработчиков и наши ответы (памятка для суда)

Собрали для вас таблицу конфликта (на самом деле, мы её зачитываем в судебных заседаниях):
❌ Отговорка: «Это ошибка ОС, мы не виноваты».
✅ Наш ответ: Предъявляем видео, где на чистой ОС без обновлений баг воспроизводится. В ТЗ было требование работы на этой версии ОС.
❌ Отговорка: «Вы сами сломали приложение своими действиями».
✅ Наш ответ: В протоколе эксперимента пошагово описаны действия, которые являются штатными (например, нажатие кнопки «Оформить заказ»). Никто не лазил в код.
❌ Отговорка: «Это редкий баг, встречается у 1% пользователей».
✅ Наш ответ: Если в ТЗ нет ограничения, любой баг, влияющий на работу, должен быть исправлен. К тому же мы доказали, что он воспроизводится на 50% устройств.
❌ Отговорка: «Мы не успели протестировать, но сделаем скидку».
✅ Наш ответ: Тестирование  — обязанность разработчика по договору и ГОСТу. Скидка не покрывает убытки от неработающего приложения.
Компьютерно-техническая экспертиза мобильных приложений уничтожает эти отговорки на корню.

Глава 15. Итог: почему мы, а не кто-то другой

У Союза «Федерация судебных экспертов» за плечами более 70 выигранных дел по мобильным приложениям, общая сумма взысканий  — свыше 500 млн рублей. Наши эксперты  — это не студенты, а люди с 10+ годами разработки и сертификатами (CFCE, CCFP, OSCP). Мы не работаем на процент от иска, мы работаем за факт. Мы не дружим с разработчиками и не берём взятки. Нас боятся недобросовестные студии, потому что знают: наша экспертиза разрушит их ложь.
Компьютерно-техническая экспертиза мобильных приложений  — это ваш шанс на справедливость.
Компьютерно-техническая экспертиза мобильных приложений  — это когда код говорит правду, а разработчик плачет.
Компьютерно-техническая экспертиза мобильных приложений  — это не услуга, а оружие.
Компьютерно-техническая экспертиза мобильных приложений  — это наша профессия и ваш щит.
И последний раз: компьютерно-техническая экспертиза мобильных приложений от Союза «Федерация судебных экспертов»  — это гарантия того, что вы не останетесь один на один с халтурой.

Не дайте себя обмануть. Не верьте обещаниям «в следующей версии всё починим». Приходите к нам, показывайте своё кривое приложение, и мы сделаем из него (или из разработчика) котлету. Единственная ссылка, которая вам нужна:

https://krimexpert.ru/ekspertiza-kachestva-razrabotki-mobilnyh-prilozhenij/

Заказывайте экспертизу. Побеждайте. А мы поможем. Союз «Федерация судебных экспертов»  — где правда рождается в байтах, а ложь умирает в суде. 💀🔥⚖️

Похожие статьи

Новые статьи

🟩 Экспертиза строительной техники: лабораторный подход к установлению причин отказов и дефектов

Конфликтный разбор багов, недоделок и вранья разработчиков Вступление: сколько можно терпеть эти кривые поделки? Слушай …

🟩 Рецензия на психиатрическую экспертизу для отмены

Конфликтный разбор багов, недоделок и вранья разработчиков Вступление: сколько можно терпеть эти кривые поделки? Слушай …

🟩 Судебная и независимая экспертиза строительной техники

Конфликтный разбор багов, недоделок и вранья разработчиков Вступление: сколько можно терпеть эти кривые поделки? Слушай …

🟩 Посмертная экспертиза: судебно-экспертный анализ

Конфликтный разбор багов, недоделок и вранья разработчиков Вступление: сколько можно терпеть эти кривые поделки? Слушай …

🟩 Посмертная экспертиза: экспертно-медицинский анализ, методология и клиническая практика

Конфликтный разбор багов, недоделок и вранья разработчиков Вступление: сколько можно терпеть эти кривые поделки? Слушай …

Задавайте любые вопросы

11+0=