«Отучаем» WinFXNet от жадности (часть 1)
Предыстория
В сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.
В данной статье будет расмотрена WinFXNet - программа производителя Schneider Electric (ESMI) для конфигурирования станций пожарной сигнализации серии Esmi FX. К сожалению, из-за санкций, ключ USB Esmi FX FFS00393016 приобрести нельзя, а он, в свою очередь, имеет встроенный таймер, который настроен на 4-летний период. У многих данный ключ по времени уже закончился, плюс скоро закончится и лицензия на само ПО (файл формата lic). Поэтому достаем дизассемблеры и посмотрим, можно ли обойти данную защиту.
Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Хотя, понимая всю безвыходность данной ситуации, как временное решение имеет право на жизнь, но решать только вам. Статья написана как туториал, поэтому постараюсь детально описать все шаги поиска нужных мест в программе.
https://habr.com/ru/articles/790564/
👉 @bookflow
Предыстория
В сфере АСУ ТП инженерам по работе приходится не только писать ПО, но и использовать готовое ПО от производителей оборудования. В связи с санкциями, многие поставщики покинули РФ, а оборудование и ПО необходимо продолжать эксплуатировать дальше.
В данной статье будет расмотрена WinFXNet - программа производителя Schneider Electric (ESMI) для конфигурирования станций пожарной сигнализации серии Esmi FX. К сожалению, из-за санкций, ключ USB Esmi FX FFS00393016 приобрести нельзя, а он, в свою очередь, имеет встроенный таймер, который настроен на 4-летний период. У многих данный ключ по времени уже закончился, плюс скоро закончится и лицензия на само ПО (файл формата lic). Поэтому достаем дизассемблеры и посмотрим, можно ли обойти данную защиту.
Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Хотя, понимая всю безвыходность данной ситуации, как временное решение имеет право на жизнь, но решать только вам. Статья написана как туториал, поэтому постараюсь детально описать все шаги поиска нужных мест в программе.
https://habr.com/ru/articles/790564/
👉 @bookflow
⚡3👍2💩1
Что такое Bug Bounty и почему корпорации платят за поиск ошибок?
Bug Bounty — это программа вознаграждения за найденные ошибки в программном обеспечении или на сайтах компаний.
Почему корпорации это делают? Потому что если кто-то найдет ошибку и сообщит об этом, компания может быстро исправить баг, прежде чем кто-то им злоупотребит.
Это помогает сохранить данные и защищает от реальных хакеров. Кроме того, такие программы позволяют привлечь талантливых людей, которые могут помочь им стать еще более безопасными.
Есть ли у российских корпораций Bug Bounty? Да, для крупных IT-компаний это обычная практика. Недавно как раз Яндекс обновил свою программу, подняв вознаграждение за критическую находку до миллиона рублей (!) Тестить можно даже новые устройства: Станцию Дуо Макс, Миди и ТВ Станции.
👉 @bookflow
Bug Bounty — это программа вознаграждения за найденные ошибки в программном обеспечении или на сайтах компаний.
Почему корпорации это делают? Потому что если кто-то найдет ошибку и сообщит об этом, компания может быстро исправить баг, прежде чем кто-то им злоупотребит.
Это помогает сохранить данные и защищает от реальных хакеров. Кроме того, такие программы позволяют привлечь талантливых людей, которые могут помочь им стать еще более безопасными.
Есть ли у российских корпораций Bug Bounty? Да, для крупных IT-компаний это обычная практика. Недавно как раз Яндекс обновил свою программу, подняв вознаграждение за критическую находку до миллиона рублей (!) Тестить можно даже новые устройства: Станцию Дуо Макс, Миди и ТВ Станции.
👉 @bookflow
👍1
Каково это, создавать язык программирования сегодня?
«Эта книга – классика. Относитесь к ней бережно».
Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул.
Вышла эта книжка в 1986 году. В те времена создание компиляторов было крайне сложной задачей, требовавшей обладания различными навыками в области компьютерных наук в целом и программирования в частности. Теперь, почти четыре десятилетия спустя, этой задачей занимаюсь я. Насколько сложна она сегодня? Приглашаю вместе разобрать процесс создания языка и посмотреть, насколько современные инструменты его упростили.
https://habr.com/ru/companies/ruvds/articles/790868/
original https://blog.whimslab.io/how-much-work-does-it-take-to-build-a-programming-language-784a6868f4e9
👉 @bookflow
«Эта книга – классика. Относитесь к ней бережно».
Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул.
Вышла эта книжка в 1986 году. В те времена создание компиляторов было крайне сложной задачей, требовавшей обладания различными навыками в области компьютерных наук в целом и программирования в частности. Теперь, почти четыре десятилетия спустя, этой задачей занимаюсь я. Насколько сложна она сегодня? Приглашаю вместе разобрать процесс создания языка и посмотреть, насколько современные инструменты его упростили.
https://habr.com/ru/companies/ruvds/articles/790868/
original https://blog.whimslab.io/how-much-work-does-it-take-to-build-a-programming-language-784a6868f4e9
👉 @bookflow
👍2
Как я поменял профессию: из тканевой инженерии в adult-индустрию
Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.
Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.
Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.
Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.
И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.
Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.
https://habr.com/ru/companies/wiseops/articles/791774/
👉 @bookflow
Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.
Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.
Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.
Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.
И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.
Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.
https://habr.com/ru/companies/wiseops/articles/791774/
👉 @bookflow
👍2
Я мыслю MOV EAX, 1
Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы компьютера на низком уровне.
https://habr.com/ru/articles/721420/
👉 @bookflow
Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы компьютера на низком уровне.
https://habr.com/ru/articles/721420/
👉 @bookflow
👍4
Вороной, Манхэттен, рандом
Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.
Итак, у нас был один программист, один художник, абсолютное непонимание рабочего процесса, незнакомый нам игровой движок и желание что-то намутить. Если вам интересно, как в одном месте сошлись карта Вороного, частный случай расстояния Минковского, преобразования над полигонами, процедурная генерация и шумы — и все это в красивой стилизованной обертке.
https://habr.com/ru/articles/794572/
👉 @bookflow
Это история про то, как не довести дело до конца, но получить уйму опыта, и вообще ни разу не обломаться.
Итак, у нас был один программист, один художник, абсолютное непонимание рабочего процесса, незнакомый нам игровой движок и желание что-то намутить. Если вам интересно, как в одном месте сошлись карта Вороного, частный случай расстояния Минковского, преобразования над полигонами, процедурная генерация и шумы — и все это в красивой стилизованной обертке.
https://habr.com/ru/articles/794572/
👉 @bookflow
👍4👎1
Как работает Git - из рабочего каталога в удаленный репозиторий
[1]. Рабочая директория:
Ваш проект начинается здесь. Рабочая директория - это место, где вы активно вносите изменения в свои файлы.
[2]. Область постановки (Index):
После модификации файлов используйте git add для сохранения изменений. Это подготавливает их к следующей фиксации, действуя как контрольная точка.
[3]. Локальный репозиторий:
После постановки выполните git commit для записи изменений в локальный репозиторий. Коммиты создают снимки проекта в определённых точках.
[4]. Stash (необязательно):
При необходимости используйте git stash для временного сохранения изменений без фиксации. Полезно при переключении веток или выполнении других задач.
[5]. Удаленный репозиторий:
Удаленный репозиторий, размещенный на таких платформах, как GitHub, - это версия вашего проекта, доступная другим пользователям. Используйте git push для отправки локальных коммитов и git pull для получения удаленных изменений.
[6]. Отслеживание удаленных веток:
Локальные ветки могут быть настроены на отслеживание соответствующих веток на удаленном ресурсе. Это облегчает синхронизацию с git pull или git push.
👉 @bookflow
[1]. Рабочая директория:
Ваш проект начинается здесь. Рабочая директория - это место, где вы активно вносите изменения в свои файлы.
[2]. Область постановки (Index):
После модификации файлов используйте git add для сохранения изменений. Это подготавливает их к следующей фиксации, действуя как контрольная точка.
[3]. Локальный репозиторий:
После постановки выполните git commit для записи изменений в локальный репозиторий. Коммиты создают снимки проекта в определённых точках.
[4]. Stash (необязательно):
При необходимости используйте git stash для временного сохранения изменений без фиксации. Полезно при переключении веток или выполнении других задач.
[5]. Удаленный репозиторий:
Удаленный репозиторий, размещенный на таких платформах, как GitHub, - это версия вашего проекта, доступная другим пользователям. Используйте git push для отправки локальных коммитов и git pull для получения удаленных изменений.
[6]. Отслеживание удаленных веток:
Локальные ветки могут быть настроены на отслеживание соответствующих веток на удаленном ресурсе. Это облегчает синхронизацию с git pull или git push.
👉 @bookflow
👍4⚡1
Media is too big
VIEW IN TELEGRAM
Нужна ли математика DevOps-инженеру, программисту, SRE, тестировщику?
Постоянно ведутся холивары нужна ли математика айтишникам. Кто-то говорит, что математика нужна програмистам определенных направлений. Кто-то говорит, что в большинстве своем математика не нужна в IT. А я считаю что математика нужна DevOps-инженеру, программисту, SRE, тестировщику и другим айтишникам без исключения.
источник
👉 @bookflow
Постоянно ведутся холивары нужна ли математика айтишникам. Кто-то говорит, что математика нужна програмистам определенных направлений. Кто-то говорит, что в большинстве своем математика не нужна в IT. А я считаю что математика нужна DevOps-инженеру, программисту, SRE, тестировщику и другим айтишникам без исключения.
источник
👉 @bookflow
👍6👎1
👍2❤1⚡1💩1
programcc2.pdf
117.2 KB
Учебный курс по конструированию компиляторов "Методы оптимизирующей компиляции"
Освещаются такие вопросы, как статический потоковый анализ и форма SSA (в том числе распределение регистров на уровне формы SSA).
👉 @bookflow
Освещаются такие вопросы, как статический потоковый анализ и форма SSA (в том числе распределение регистров на уровне формы SSA).
👉 @bookflow
⚡2👍2🤮1