Photoshop, Pascal и Ассемблер: История Революционного Инструмента
Photoshop был разработан командой Томаса и Джона Ноллов и с тех пор кардинально изменил подход к редактированию изображений. Программа была разработана на языке Pascal и ассемблере, что обеспечивало высокую производительность и оптимизацию. По количеству строк кода около 75% написано на Pascal, примерно 15% на ассемблере, а остальная часть — это данные различных типов.
Первая версия включала базовые инструменты, такие как обрезка, преобразование и работа с цветом, что дало возможность многим пользователям необычайно легко редактировать фотографии и графику. Разработка быстро завоевала популярность, особенно среди графических дизайнеров и фотографов, положив начало целой индустрии.
История photoshop и исходный код версии 1.0: https://computerhistory.org/blog/adobe-photoshop-source-code/
Исходный код на GitHub: https://github.com/amix/photoshop?tab=readme-ov-file
Photoshop был разработан командой Томаса и Джона Ноллов и с тех пор кардинально изменил подход к редактированию изображений. Программа была разработана на языке Pascal и ассемблере, что обеспечивало высокую производительность и оптимизацию. По количеству строк кода около 75% написано на Pascal, примерно 15% на ассемблере, а остальная часть — это данные различных типов.
Первая версия включала базовые инструменты, такие как обрезка, преобразование и работа с цветом, что дало возможность многим пользователям необычайно легко редактировать фотографии и графику. Разработка быстро завоевала популярность, особенно среди графических дизайнеров и фотографов, положив начало целой индустрии.
История photoshop и исходный код версии 1.0: https://computerhistory.org/blog/adobe-photoshop-source-code/
Исходный код на GitHub: https://github.com/amix/photoshop?tab=readme-ov-file
👍23
Ассемблеры и загрузчики
Автор: Баррон Д.
Серия: Математическое обеспечение ЭВМ
Год издания: 1974
Описание: Ассемблеры и загрузчики - важное звено в системе математического обеспечения вычислительных машин, хотя в научной литературе им уделялось мало внимания по сравнению с более сложными и эффектными компиляторами с языков программирования высокого уровня.Ассемблеры - наиболее эффективное, а подчас и единственное средство автоматизации программирования в тех случаях, для которых еще нет проблемно-ориентированных языков и компиляторов. Удобство применения ассемблеров резко повысилось с внедрением макропроцессоров.Книга представляет интерес и как учебное пособие по ассемблерам, и как простое введение в автоматизацию программирования.
Автор: Баррон Д.
Серия: Математическое обеспечение ЭВМ
Год издания: 1974
Описание: Ассемблеры и загрузчики - важное звено в системе математического обеспечения вычислительных машин, хотя в научной литературе им уделялось мало внимания по сравнению с более сложными и эффектными компиляторами с языков программирования высокого уровня.Ассемблеры - наиболее эффективное, а подчас и единственное средство автоматизации программирования в тех случаях, для которых еще нет проблемно-ориентированных языков и компиляторов. Удобство применения ассемблеров резко повысилось с внедрением макропроцессоров.Книга представляет интерес и как учебное пособие по ассемблерам, и как простое введение в автоматизацию программирования.
1👍7🤔1
Рекурсивные методы в программировании
Автор: Баррон Д.
Серия: Математическое обеспечение ЭВМ
Год издания: 1974
Описание: В книге излагаются рекурсивные методы программирования и демонстрируются возможности рекурсивного описания алгоритмов. Эти методы получают все более широкое распространение в практике программирования, и возможность их применения учитывается при разработке языков программирования и вычислительных машин. В книге показаны перспективы использования рекурсивных методов. Их удобство и эффективность демонстрируются на различных примерах.
Автор: Баррон Д.
Серия: Математическое обеспечение ЭВМ
Год издания: 1974
Описание: В книге излагаются рекурсивные методы программирования и демонстрируются возможности рекурсивного описания алгоритмов. Эти методы получают все более широкое распространение в практике программирования, и возможность их применения учитывается при разработке языков программирования и вычислительных машин. В книге показаны перспективы использования рекурсивных методов. Их удобство и эффективность демонстрируются на различных примерах.
👍4
Введение в языки программирования
Автор: Баррон Д.
Серия: Математическое обеспечение ЭВМ
Год издания: 1980
Описание: Цель книги Д. Баррона, хорошо знакомого читателям по двум его книгам из серии Математическое обеспечение ЭВМ, - помочь разобраться в существующем многообразии языков программирования. Общие принципы их построения иллюстрируются примерами из таких известных языков, как АЛГОЛ-60, ФОРТРАН, АЛГОЛ-68, ПЛ/1, АПЛ. В доступной и интересной форме, но вместе с тем достаточно аккуратно, рассматриваются основные понятия языков программирования, значительное внимание уделяется вводу-выводу и общей структуре программ.
Автор: Баррон Д.
Серия: Математическое обеспечение ЭВМ
Год издания: 1980
Описание: Цель книги Д. Баррона, хорошо знакомого читателям по двум его книгам из серии Математическое обеспечение ЭВМ, - помочь разобраться в существующем многообразии языков программирования. Общие принципы их построения иллюстрируются примерами из таких известных языков, как АЛГОЛ-60, ФОРТРАН, АЛГОЛ-68, ПЛ/1, АПЛ. В доступной и интересной форме, но вместе с тем достаточно аккуратно, рассматриваются основные понятия языков программирования, значительное внимание уделяется вводу-выводу и общей структуре программ.
👍4🤔2
⚡ Канал Tempesta Torres — один из самых актуальных источников по ассемблеру и реверс-инжинирингу на русскоязычном YouTube.
Если вы только начинаете свой путь в мире ассемблера, не пропустите видео «Ассемблер - Начало». Оно обеспечит отличную базу для дальнейшего изучения.
Еще одно увлекательное видео — «КАК НАПИСАТЬ KEYGEN». Здесь вы узнаете, как работают генераторы ключей и какие техники применяются в этом процессе. Также стоит посмотреть видео «ASSEMBLER ПРОТИВ PYTHON», где происходит интересное сопоставление двух языков программирования.
Тем, кто интересуется реверс-инжинирингом, будет полезно узнать, как создать чит для Pong Game с использованием GHIDRA и как написать CRACKME на ассемблере.
Ссылка на youtube канал: https://www.youtube.com/@tempestatorres5243/videos
Ссылка на boosty: https://boosty.to/tempesta/media/all
Если вы только начинаете свой путь в мире ассемблера, не пропустите видео «Ассемблер - Начало». Оно обеспечит отличную базу для дальнейшего изучения.
Еще одно увлекательное видео — «КАК НАПИСАТЬ KEYGEN». Здесь вы узнаете, как работают генераторы ключей и какие техники применяются в этом процессе. Также стоит посмотреть видео «ASSEMBLER ПРОТИВ PYTHON», где происходит интересное сопоставление двух языков программирования.
Тем, кто интересуется реверс-инжинирингом, будет полезно узнать, как создать чит для Pong Game с использованием GHIDRA и как написать CRACKME на ассемблере.
Ссылка на youtube канал: https://www.youtube.com/@tempestatorres5243/videos
Ссылка на boosty: https://boosty.to/tempesta/media/all
YouTube
Tempesta Torres
Tempesta приветствует всех на своем канале, посвященном изучению ассемблера
в различных областях. Бывший хакер и программист на ассемблере со стажем свыше 20 лет.
Автор статей и лекций пропагандирующих ассемблер и его разновидность masm32.
Лекции канала…
в различных областях. Бывший хакер и программист на ассемблере со стажем свыше 20 лет.
Автор статей и лекций пропагандирующих ассемблер и его разновидность masm32.
Лекции канала…
👍13
Знание ассемблера — это лишь часть, и одного этого навыка недостаточно, чтобы устроиться на работу.
Отличным продолжением станет изучение языка C, который лежит в основе множества системных приложений и позволяет глубже понять принципы низкоуровневого программирования. Работа операционных систем, например, Linux, откроет двери к пониманию процессов, потоков и управления памятью. Также важно понимать, как работают компиляторы и интерпретаторы — это поможет осознать, как код высокого уровня превращается в низкоуровневый, что бывает критично для оптимизации.
Так же практика на платформах для решения задач, таких как leetcode.com, и работа с аппаратными проектами, например, Raspberry Pi или Arduino, дадут вам опыт работы с низкоуровневыми библиотеками и закрепят полученные знания.
Roadmap https://github.com/gurugio/lowlevelprogramming-university/blob/master/README_ru.md от gurugio поделится опытом и покажет путь к становлению программистом низкого уровня.
Отличным продолжением станет изучение языка C, который лежит в основе множества системных приложений и позволяет глубже понять принципы низкоуровневого программирования. Работа операционных систем, например, Linux, откроет двери к пониманию процессов, потоков и управления памятью. Также важно понимать, как работают компиляторы и интерпретаторы — это поможет осознать, как код высокого уровня превращается в низкоуровневый, что бывает критично для оптимизации.
Так же практика на платформах для решения задач, таких как leetcode.com, и работа с аппаратными проектами, например, Raspberry Pi или Arduino, дадут вам опыт работы с низкоуровневыми библиотеками и закрепят полученные знания.
Roadmap https://github.com/gurugio/lowlevelprogramming-university/blob/master/README_ru.md от gurugio поделится опытом и покажет путь к становлению программистом низкого уровня.
GitHub
lowlevelprogramming-university/README_ru.md at master · gurugio/lowlevelprogramming-university
How to be low-level programmer. Contribute to gurugio/lowlevelprogramming-university development by creating an account on GitHub.
1👍10
https://www.youtube.com/watch?v=woeVYeC7ktc
Доклад: Что могут C и C++, и когда нужен ассемблер
Описание: C и C++ известны скоростью сгенерированного кода. Однако, код генерируется конкретным компилятором под конкретную ОС на конкретное железо. Расширения компиляторов позволяют генерировать еще более быстрый код, чем для "чистых" C и C++. Микропроцессоры тоже предоставляют свои расширения, которые недоступны даже для расширений компилятора и для использования которых нужен ассемблер.
* Как x86-64 исполняет код и как работает с памятью.
* Некоторые полезные расширения и оптимизации GCC и Clang для C и C++.
* Когда ассемблер x86-64 не только быстрее, но и проще C.
* Скользкие места программирования для многоядерных архитектур
* Защита от Spectre в компиляторах.
* Profiler guided optimization (PGO) и когда она бесполезна.
Доклад: Что могут C и C++, и когда нужен ассемблер
Описание: C и C++ известны скоростью сгенерированного кода. Однако, код генерируется конкретным компилятором под конкретную ОС на конкретное железо. Расширения компиляторов позволяют генерировать еще более быстрый код, чем для "чистых" C и C++. Микропроцессоры тоже предоставляют свои расширения, которые недоступны даже для расширений компилятора и для использования которых нужен ассемблер.
* Как x86-64 исполняет код и как работает с памятью.
* Некоторые полезные расширения и оптимизации GCC и Clang для C и C++.
* Когда ассемблер x86-64 не только быстрее, но и проще C.
* Скользкие места программирования для многоядерных архитектур
* Защита от Spectre в компиляторах.
* Profiler guided optimization (PGO) и когда она бесполезна.
YouTube
Что могут C и C++, и когда нужен ассемблер / Александр Крижановский (Tempesta Technologies)
Крупнейшая профессиональная конференция для разработчиков высоконагруженных систем Saint HighLoad++ 2026
Подробнее: https://clck.ru/3QZHTb
Июнь, 2026.
Санкт-Петербург, DESIGN DISTRICT DAA in SPB
--------
HighLoad++ Foundation 2022
Презентация и тезисы:…
Подробнее: https://clck.ru/3QZHTb
Июнь, 2026.
Санкт-Петербург, DESIGN DISTRICT DAA in SPB
--------
HighLoad++ Foundation 2022
Презентация и тезисы:…
👍5
Алгоритмические трюки для программистов (Hacker's Delight)
Автор: Генри С. Уоррен
Год издания: 2014
Описание: Книга "Алгоритмические трюки для программистов" (Hacker's Delight) поможет как опытным, так и начинающим программистам улучшить свои навыки. В новом издании представлены множество практических и теоретических упражнений. Автор, ветеран IBM Генри Уоррен, делится проверенными приемами, собранными за десятилетия работы в программировании. Книга возвращает слову "хакер" его истинное значение — талантливого программиста, способного создавать эффективный и элегантный код. Вы найдете множество техник для работы с битами и байтами, а также вычисления целочисленных функций.
Описание из Wiki: https://en.wikipedia.org/wiki/Hacker%27s_Delight
В архиве Code_Hackers_Delight.zip содержатся примеры из книги.
Автор: Генри С. Уоррен
Год издания: 2014
Описание: Книга "Алгоритмические трюки для программистов" (Hacker's Delight) поможет как опытным, так и начинающим программистам улучшить свои навыки. В новом издании представлены множество практических и теоретических упражнений. Автор, ветеран IBM Генри Уоррен, делится проверенными приемами, собранными за десятилетия работы в программировании. Книга возвращает слову "хакер" его истинное значение — талантливого программиста, способного создавать эффективный и элегантный код. Вы найдете множество техник для работы с битами и байтами, а также вычисления целочисленных функций.
Описание из Wiki: https://en.wikipedia.org/wiki/Hacker%27s_Delight
В архиве Code_Hackers_Delight.zip содержатся примеры из книги.
👍7
Обновление от Андрея Столярова, автора книг «Программирование. Введение в профессию»:
https://youtu.be/lhFnE3LHgF0
С радостью сообщаем, что благодаря вашим донатам удалось покрыть часть расходов на лечение Андрея. Первые результаты химиотерапии обнадеживают: опухоль уменьшается, однако впереди у него серьезная операция по ее удалению, которая состоится в ближайшие две недели.
Несмотря на сложности, Андрей активно работает над своими проектами. За последние три месяца он достиг значительных результатов:
- Опубликованы обновленные издания второго и третьего томов «Введения в профессию».
- Выпущена новая пачка видео на его основном канале на YouTube.
- Представлена новая версия децентрализованной сети для общения FEDAnet.
Кроме того, Андрей продолжает работу над рядом интересных проектов, включая третье издание «Введения в профессию», перевод этого произведения на английский язык, видеоблог об информационном насилии, дальнейшую разработку Thalassa CMS и децентрализованную сеть FEDAnet. Полный список проектов: http://www.stolyarov.info/donate.html
Давайте поддержим его на этом сложном этапе и пожелаем здоровья и сил для дальнейших свершений!
Следите за новостями на его канале: https://youtube.com/@andreystolyarov.
https://youtu.be/lhFnE3LHgF0
С радостью сообщаем, что благодаря вашим донатам удалось покрыть часть расходов на лечение Андрея. Первые результаты химиотерапии обнадеживают: опухоль уменьшается, однако впереди у него серьезная операция по ее удалению, которая состоится в ближайшие две недели.
Несмотря на сложности, Андрей активно работает над своими проектами. За последние три месяца он достиг значительных результатов:
- Опубликованы обновленные издания второго и третьего томов «Введения в профессию».
- Выпущена новая пачка видео на его основном канале на YouTube.
- Представлена новая версия децентрализованной сети для общения FEDAnet.
Кроме того, Андрей продолжает работу над рядом интересных проектов, включая третье издание «Введения в профессию», перевод этого произведения на английский язык, видеоблог об информационном насилии, дальнейшую разработку Thalassa CMS и децентрализованную сеть FEDAnet. Полный список проектов: http://www.stolyarov.info/donate.html
Давайте поддержим его на этом сложном этапе и пожелаем здоровья и сил для дальнейших свершений!
Следите за новостями на его канале: https://youtube.com/@andreystolyarov.
YouTube
Status update (как дела и какие перспективы)
Этот ролик, как и все прочие на красном фоне, не имеет прямого отношения к тематике канала. Не смотрите его, если не хотите терять время. Я предупредил.
Все ролики этого канала доступны на сайте http://infoviolence.org/ru/vblog. Там, в отличие…
Все ролики этого канала доступны на сайте http://infoviolence.org/ru/vblog. Там, в отличие…
1👍15🤔1
Компилятор домашнего приготовления
Автор: Виталий Белик
Издание: Статьи из журнала "ПРОграммист"
Год издания: 2010-2011
Описание: Так-с… С чего бы начать? Пожалуй, начну с того, откуда мне пришла в голову идея разработать собственный компилятор. Однажды мне на глаза попалась книга, где описывались примеры проектирования в AutoCAD на встроенном в него языке AutoLISP. Я захотел с ними разобраться, но прежде меня заинтересовал сам ЛИСП. «Неплохо-бы поближе познакомится с ним», – подумал я и начал доставать литературу и среду разработки. С литературой все оказалось просто – по ЛИСПу ее море в Интернете. Достаточно зайти на портал. Дело оставалось за малым – найти хорошую среду программирования, и вот тут-то начались трудности. Компиляторов под ЛИСП тоже немало, но все они мне оказались малопонятны. Ни один пример из Вики, по разным причинам, не отработал нормально в скачанных мною компиляторах. Собственно, серьезно я с ними не разбирался, но, увы, во многих банально не нашел как скомпилировать EXE файл. Самое интересное, что компиляторы эти были собраны разными людьми в практически домашних условиях…
Автор: Виталий Белик
Издание: Статьи из журнала "ПРОграммист"
Год издания: 2010-2011
Описание: Так-с… С чего бы начать? Пожалуй, начну с того, откуда мне пришла в голову идея разработать собственный компилятор. Однажды мне на глаза попалась книга, где описывались примеры проектирования в AutoCAD на встроенном в него языке AutoLISP. Я захотел с ними разобраться, но прежде меня заинтересовал сам ЛИСП. «Неплохо-бы поближе познакомится с ним», – подумал я и начал доставать литературу и среду разработки. С литературой все оказалось просто – по ЛИСПу ее море в Интернете. Достаточно зайти на портал. Дело оставалось за малым – найти хорошую среду программирования, и вот тут-то начались трудности. Компиляторов под ЛИСП тоже немало, но все они мне оказались малопонятны. Ни один пример из Вики, по разным причинам, не отработал нормально в скачанных мною компиляторах. Собственно, серьезно я с ними не разбирался, но, увы, во многих банально не нашел как скомпилировать EXE файл. Самое интересное, что компиляторы эти были собраны разными людьми в практически домашних условиях…
👍4🤔4
https://www.youtube.com/watch?v=pC7k7jYejpM
Доклад: Реверс C
Спикер: Павел Блинников
Описание: В этом видео Павел Блинников делится результатами анализа загадочного исполняемого файла, обнаруженного в ходе расследования инцидента в одной из организаций. Обнаружив вредоносное ПО, команда запросила реверсинг файла, написанного на Python. Однако первичный анализ выявил, что кода на Python почти нет.
Доклад: Реверс C
Спикер: Павел Блинников
Описание: В этом видео Павел Блинников делится результатами анализа загадочного исполняемого файла, обнаруженного в ходе расследования инцидента в одной из организаций. Обнаружив вредоносное ПО, команда запросила реверсинг файла, написанного на Python. Однако первичный анализ выявил, что кода на Python почти нет.
YouTube
Павел Блинников . Реверс C
Реверс C
Павел Блинников
Специалист по компьютерной криминалистике, BI.ZONE
Доклад об анализе одного странного исполняемого файла в ходе расследования инцидента
Павел Блинников
Специалист по компьютерной криминалистике, BI.ZONE
Доклад об анализе одного странного исполняемого файла в ходе расследования инцидента
👍8🤔2
Прошедший международный киберфестиваль Positive Hack Days Fest 2025 впечатлил своим разнообразием: было представлено около 500 докладов. Особенно интересные темы, касающиеся реверс-инжиниринга и ассемблера, были освещены в следующих видео.
Доклад: Профессия реверс инженера что такое обратная разработка и зачем она нужна
Ссылка: https://www.youtube.com/watch?v=Qh8SNZBve_o
Описание: Поговорим о том, что такое реверс-инжиниринг, где применяется, почему не теряет свою актуальность. Рассмотрим роль реверс-инжиниринга в исследовании безопасности современного «железа» и софта.
Доклад: Наш секретный ингредиент для реверс-инжиниринга
Ссылка: https://www.youtube.com/watch?v=Yxkg2zD7Ggw
Описание: Доклад касается темы создания плагина hrtng для IDA Pro. Этот инструмент автоматизирует рутинные задачи, связанные с обратной разработкой вредоносного ПО, такие как расшифровка и обфускация кода. В докладе подробно рассматривается, как плагин применим на примере анализа FinSpy
Доклад: Боевой reverse engineering, патчинг под non jailbroken iOS девайсы, ботоводство и антифрод
Ссылка: https://www.youtube.com/watch?v=94MER2wXz2w
Описание: Методы патчинга IPA, хукинг C, Objective-C и Swift-методов на устройствах без jailbreak. Использование дизассемблера, Frida, Fishhook, снятие SSL pinning и обход защиты по аппаратным признакам. А также методы защиты от всех этих атак.
Доклад: Как безопасно писать на C в 2025 году
Ссылка: https://www.youtube.com/watch?v=pz9EOYQAZXo
Описание: Си жив! В докладе я расскажу, как справляться с проблемами безопасности (и некоторыми другими проблемами) языка C с помощью техник и сторонних инструментов, которые появились за долгое время существования языка.
Доклад: Профессия реверс инженера что такое обратная разработка и зачем она нужна
Ссылка: https://www.youtube.com/watch?v=Qh8SNZBve_o
Описание: Поговорим о том, что такое реверс-инжиниринг, где применяется, почему не теряет свою актуальность. Рассмотрим роль реверс-инжиниринга в исследовании безопасности современного «железа» и софта.
Доклад: Наш секретный ингредиент для реверс-инжиниринга
Ссылка: https://www.youtube.com/watch?v=Yxkg2zD7Ggw
Описание: Доклад касается темы создания плагина hrtng для IDA Pro. Этот инструмент автоматизирует рутинные задачи, связанные с обратной разработкой вредоносного ПО, такие как расшифровка и обфускация кода. В докладе подробно рассматривается, как плагин применим на примере анализа FinSpy
Доклад: Боевой reverse engineering, патчинг под non jailbroken iOS девайсы, ботоводство и антифрод
Ссылка: https://www.youtube.com/watch?v=94MER2wXz2w
Описание: Методы патчинга IPA, хукинг C, Objective-C и Swift-методов на устройствах без jailbreak. Использование дизассемблера, Frida, Fishhook, снятие SSL pinning и обход защиты по аппаратным признакам. А также методы защиты от всех этих атак.
Доклад: Как безопасно писать на C в 2025 году
Ссылка: https://www.youtube.com/watch?v=pz9EOYQAZXo
Описание: Си жив! В докладе я расскажу, как справляться с проблемами безопасности (и некоторыми другими проблемами) языка C с помощью техник и сторонних инструментов, которые появились за долгое время существования языка.
👍12
Курс: Практикум по ассемблеру RISC-V
Автор: Марк Заславский
Ссылка: https://stepik.org/course/207840/promo
Описание: В этом курсе представлены необходимые теоретические материалы и лабораторные работы с автоматизированной проверкой. Вы научитесь компилировать программы, эффективно использовать регистры и данные, применять решения других разработчиков, организовывать сложную логику и использовать расширение V для высокопроизводительных вычислений.
Автор: Марк Заславский
Ссылка: https://stepik.org/course/207840/promo
Описание: В этом курсе представлены необходимые теоретические материалы и лабораторные работы с автоматизированной проверкой. Вы научитесь компилировать программы, эффективно использовать регистры и данные, применять решения других разработчиков, организовывать сложную логику и использовать расширение V для высокопроизводительных вычислений.
👍16