Веб-разработчик знает, что скрипты, созданные в коммерческих целях, могут пойти гулять по сети с затёртыми копирайтами; не исключено, что скрипт начнут перепродавать от чужого имени. Чтобы скрыть исходный код скрипта и препятствовать его изменению, применяются обфускаторы, минификаторы и т.д. Один из самых давних и известных инструментов для шифрования скриптов на PHP — это ionCube. Появившийся в 2002, он продолжает следить за развитием PHP и заявляет о поддержке последних версий платформы. Как я покажу в этой статье, с поддержкой PHP 7 у ionCube далеко не всё в порядке...Читать полностью »
Рубрика «отладка» - 7
Пасхалка в ionCube — попытка разработчиков замести мусор под ковер?
2020-06-16 в 11:14, admin, рубрики: php, PHP 7, Блог компании RUVDS.com, отладка, реверс-инжиниринг, скрипты, шифрованиеsimctl: управление симуляторами Apple через терминал
2020-06-14 в 20:52, admin, рубрики: apple, iOS разработка, iphone, xcode, автоматизация, командная строка, мобильные приложения, отладка, разработка мобильных приложений, разработка под iOS, симуляторы, тестирование, Тестирование IT-систем, Тестирование мобильных приложенийВсем привет! Меня зовут Паша Лесюк, я работаю мобильным тестировщиком в компании Циан. В этой статье я расскажу о возможностях управления яблочными симуляторами из командной строки.
Почему список в кортеже ведет себя странно в Python?
2020-06-10 в 7:56, admin, рубрики: python, Блог компании ДомКлик, отладка, Программирование, разработкаВ языках программирования меня всегда интересовало их внутреннее устройство. Как работает тот или иной оператор? Почему лучше писать так, а не иначе? Подобные вопросы не всегда помогают решить задачу «здесь и сейчас», но в долгосрочной перспективе формируют общую картину языка программирования. Сегодня я хочу поделиться результатом одного из таких погружений и ответить на вопрос, что происходит при модификации tuple
'а в list
'е.
Читать полностью »
Я выпустил текстовый процессор, форматировавший жёсткий диск после каждого 1024-го сохранения
2020-06-02 в 7:00, admin, рубрики: отладка, память, системное программирование, фортРассказывать начинающим инженерам истории о том, как ты когда-то серьёзно облажался – это хороший способ помочь им бороться с синдромом самозванца.
Это был, наверное, 1984-1985 год. Тогда я был 25-летним подающим надежды программистом с пятилетним стажем. Я и ещё один программист писали и поддерживали набор приложений, похожих на сегодняшний Office: электронные таблицы, текстовый процессор, база данных, плоттер и т.п. Мы настраивали всю эту систему для трёх-четырёх вертикальных рынков [бизнес-клиентов узкоспециальной направленности / прим. перев.].
Большую часть текстового процессора писал я сам. Писал я на Форте, и для различных вариантов комбинаций операционок и процессоров. Молодёжи невдомёк, но в те времена новые микрокомпьютеры со своей особой ОС и одним из нескольких вариантов процессоров выходили раз в несколько месяцев.
Форт использовал обмен блочными данными с диском. Каждый блок имел длину в 1 кб, и чтобы сохранить что-нибудь больше 1 кб, нужно было работать с мастер-блоком файла, где хранились смещения всех блоков с данными – по сути, это была пара списков, занятых и незанятых блоков.
Читать полностью »
Исследуем баг iOS с помощью Hopper
2020-05-28 в 11:03, admin, рубрики: ios development, iOS разработка, Блог компании Badoo, отладка, разработка мобильных приложений, разработка под iOSПривет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода.
Всё началось в августе 2019 года с первых бета-версий iOS 13. Тогда мы впервые столкнулись с проблемой. В приложениях Badoo и Bumble мы постоянно работаем над улучшением интерфейсов и, например, стараемся максимально оптимизировать нудный и не любимый пользователями процесс регистрации. Системные предиктивные подсказки над клавиатурой — отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии iOS мы с удивлением обнаружили, что подсказки при вводе номера телефона пропали.
Читать полностью »
Что внутри у .wasm-файла? Знакомство с wasm-decompile
2020-05-12 в 16:35, admin, рубрики: wasm, Блог компании RUVDS.com, отладка, Программирование, разработкаВ нашем распоряжении имеется множество компиляторов и других инструментов, позволяющих создавать .wasm-файлы и работать с ними. Количество этих инструментов постоянно растёт. Иногда нужно заглянуть в .wasm-файл и разобраться с тем, что у него внутри. Может быть, вы — разработчик одного из Wasm-инструментов, или, возможно, вы — программист, который пишет код, рассчитанный на преобразование в Wasm, и интересующийся тем, как выглядит то, во что превратится его код. Такой интерес может быть вызван, например, соображениями производительности.
Проблема заключается в том, что в .wasm-файлах содержится довольно-таки низкоуровневый код, который сильно похож на настоящий ассемблерный код. В частности, в отличие, например, от JVM, все структуры данных компилируются в наборы операций load/store, а не в нечто такое, в чём имеются понятные имена классов и полей. Компиляторы, вроде LLVM, могут так изменить входной код, что то, что у них получается, и близко на него не похоже.
Как быть тому, кто хочет, взяв .wasm-файл, узнать о том, что в нём происходит?
Читать полностью »
Отъявленные баги и как их избежать на примере ClickHouse
2020-04-23 в 6:17, admin, рубрики: c++, clickhouse, debug, баги, Блог компании Конференции Олега Бунина (Онтико), высокая производительность, отладка, ПрограммированиеЕсли вы пишете код — готовьтесь к проблемам. Они обязательно будут, и ожидать их стоит со всех сторон: от вашего кода и компилятора, от операционной системы и железа, а еще пользователи иногда подкидывают «сюрпризы». Если вы отмасштабировали кластер до космических масштабов, то ожидайте «космических» багов. Особенно, если речь идёт о данных из интернет-трафика.
Алексей Миловидов (o6CuFl2Q) расскажет о самых нелепых, обескураживающих и безнадёжных проблемах из его опыта разработки и поддержки ClickHouse. Посмотрим, как их приходилось отлаживать и какие меры принимать разработчикам с самого начала, чтобы проблем было меньше.
Читать полностью »
О новой IDA Home (обзор)
2020-04-21 в 13:55, admin, рубрики: hobby, Ilfak, reverse engineering, информационная безопасность, отладка, реверс-инжиниринг, хобби
Приветствую,
На днях товарищи из Hex-Rays анонсировали новую IDA Home, которая как IDA Starter
, только под одну конкретную платформу (против более чем 20-ти), с локальным отладчиком и поддержкой x64
, скриптингом на Python
и стоит 365$ в год (против $979). Далее был запущен конкурс на лучший рисунок логотип для новой IDA
, за который автор лучшей работы получит Home-версию бесплатно.
В данном "обзоре" я хотел бы пристальнее рассмотреть, что же из себя представляет новая версия продукта, постараюсь разобраться на кого же она была ориентирована (центральная аудитория), и сделать некоторые выводы.Читать полностью »
Не давайте имена потокам из ThreadPool при отладке в VS
2020-03-29 в 20:52, admin, рубрики: c++, debug, multithreading, threadpool, vs, отладка, разработка под windowsВ некотором 2017 году, во время отладки в VS, производительность в проекте падала на ~80%, превращая игру в сборник различных ассинхронных кадров. Виновником торжества стала функция SetThreadName внутри пула. Читать полностью »
Скроллбар, который не смог
2020-03-19 в 9:53, admin, рубрики: c++, debug, open source, pvs-studio, terminal emulator, Блог компании PVS-Studio, отладка, разработка под windows
Недавно вышла новая версия Windows Terminal. Всё бы ничего, но работоспособность её скроллбара оставляла желать лучшего. Поэтому настало время немного потыкать в него палкой и сыграть на бубне.
Читать полностью »