Экспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021? Читать полностью »
Рубрика «ассемблер (x86)»
Минимизация файла ELF – попробуем в 2021?
2021-10-19 в 13:00, admin, рубрики: elf. Linux, ruvds_перевод, ассемблер (x86), Блог компании RUVDS.com, ненормальное программирование, Разработка под LinuxЭкспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021? Читать полностью »
Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад
2021-09-23 в 13:00, admin, рубрики: assembly, ruvds_статьи, ассемблер (x86), ассемблер для начинающих, Блог компании RUVDS.com, ламповый код, ненормальное программирование, программирование микроконтроллеров, системное программированиеКак демо Memories умещается в 256 байт
2020-04-21 в 7:19, admin, рубрики: demo, demoscene, intro, MIDI, sizecoding, x86 assembly, ассемблер (x86), Демосцена, Работа с 3D-графикой, разработка игрВведение
Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских симпатий. Видео вывода программы можно посмотреть здесь, а видео с реакцией онлайн-аудитории и модераторов — здесь. Скачать релиз и оставить комментарии можно здесь. В этой статье будет представлен глубокий анализ программы, рассказано об исторических отсылках и этапах разработки. Статья выложена в sizecoding wiki. Она не только позволит вам понять внутреннее устройство «Memories», но и поможет самим создать нечто похожее. Изучите её! Если вы новичок в sizecoding-е (написании программ в рамках нужного размера) или в ассемблере x86, то рекомендуется начинать с основ этой wiki. Принципы понять легко, но с подробностями реализации разобраться бывает не так просто.
Краткий обзор
В этой статье мы будем говорить об отправленной на конкурс версии для DosBox (256 байт). В архиве также содержатся версии для FreeDos и Windows XP DOS, которые на момент написания поста работали не на всех компьютерах. Эти альтернативные версии были включены в архив как proof of concept, чтобы показать, что программа не только работает в эмуляторе. В категории «PC 256 bytes» соревнований «Revision» 2020 года можно было указать в качестве платформы «FreeDos» или «DosBox» (последняя в конкретной конфигурации). Как доказывают альтернативные версии, на самом деле можно модифицировать версию для DosBox так, чтобы она работала во FreeDos, MS DOS, WinXP и Win98, но статья будет не об этом.
Читать полностью »
И целого байта мало… (Часть #1)
2020-04-01 в 2:06, admin, рубрики: demoscene, x86, ассемблер (x86), ДемосценаДамы, господа, сегодня отличный день!
Скорее всего вы помните, что существует такая форма компьютерного искусства как «демосцена», но если слышите это слово впервые — просто прочитайте тематический хаб и теги на Хабре, а так же пару популярных статей по этому вопросу.
Одной из форм соревнования на демосцене является sizecoding — программирование визуальных эффектов в крайне ограниченном объеме машинного кода. Прежде чем мы перейдем к достижениям сегодняшнего дня (а они есть и более чем масштабные), давайте очень быстро пробежимся по наследию дедов. Все приведенные ниже работы сделаны в разные годы, объединяет их требование к платформе — PC, x86, DOS (никакого GPU, обычная видеокарта). В идеале вам стоит поставить DosBox и запускать каждую работу самостоятельно, благо авторы не особенно озадачиваются созданием видео и загрузкой его на YouTube. Мы постарались выбрать по одной показательной работе в каждой номинации.
Читать полностью »
SLAE — Security Linux Assembly Expert Exam
2020-03-20 в 2:00, admin, рубрики: C, linux, ассемблер (x86), информационная безопасностьSecurity Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает разобраться в основах ассемблера и научиться писать простые шеллкоды. После прохождения курса вы научитесь пользоваться основными системными вызовами Linux'a, писать простые шеллкоды, начнете понимать базовые принципы работы операционной системы на уровне ядра. В данной статье будут рассмотрены задания, необходимые для прохождения экзамена по этому курсу.
По условиям экзамена необходимо выполнить 7 заданий:
- Написать TCP Bind Shell
- Написать Reverse TCP Shell
- Разобраться с техникой egghunter и предоставить пример этой техники
- Написать кодировщик кода
- Проанализировать 3 шеллкода, сгенерированных msfvenom'ом при помощи GDB/ndisasm/libemu
- Выполнить полиморфное преобразование 3 любых шеллкодов и shellstorm'а.
- Написать шифровальщик кода
20 лет RollerCoaster Tycoon: интервью с создателем игры
2019-03-30 в 9:11, admin, рубрики: rollercoaster tycoon, transport tycoon, ассемблер (x86), Дизайн игр, Игры и игровые приставки, игры-симуляторы, крис сойер, разработка игр, старые игры31 марта 1999 года была выпущена игра RollerCoaster Tycoon, полностью созданная одним человеком и написанная на языке ассемблера x86. В честь юбилея игры мы публикуем перевод интервью с автором, записанное в 2016 году.
Сегодня мало кто помнит имя шотландского программиста и дизайнера видеоигр Криса Сойера. Похоже, что изобретатель RollerCoaster Tycoon с радостью позволил Atari создавать новые игры в любимой многими серии стратегий, а сам занялся более важными теперь для него делами. И тем не менее, несмотря на радиомолчание, игры Сойера до сих пор многие помнят и почитают больше, чем 20 лет назад.
Занимаясь в начале 90-х переносом с Amiga на PC таких игр, как Elite Plus, Frontier Elite 2, Birds of Prey и Dino Dini's Goal, Сойер создал свою первый симулятор руководителя под названием Transport Tycoon. Он хотел развить идеи Sid Meier's Railroad Tycoon, скомбинировав её геймплейные элементы со своим кодом изометрической графики, и создать новый тип карт. MicroProse одобрила Transport Tycoon, выпустила её в 1994 году, и игра стала хитом. Её расширенная и улучшенная версия Transport Tycoon Deluxe была выпущена всего годом позже.
В процессе планирования сиквела Transport Tycoon Сойер влюбился в американские горки (roller coasters). И так его следующий проект превратился в игру RollerCoaster Tycoon, выпущенную в 1999 году. Она тоже стала хитом. За ней в 2002 году последовала RollerCoaster Tycoon 2. Она стала ещё бОльшим хитом. Несмотря на партнёрские соглашения с такими издателями, как Hasbro, Сойер сохранил за собой право владения франшизой RollerCoaster Tycoon, и, судя по всему, благодаря успеху, оно себя оправдало.
В дальнейшем Сойер решил выпустить из своих рук бразды правления разработкой RollerCoaster Tycoon и позволил другим управлять вагонеткой. Выпущенная в 2004 году RollerCoaster Tycoon 3 разрабатывалась автором Elite: Dangerous, компанией Frontier. В том же году Сойер выпустил Locomotion, которую назвал духовным преемником Transport Tycoon.
Читать полностью »
Порт Research UNIX V1 на процессоры 8086
2015-05-17 в 20:40, admin, рубрики: linux, UNIX, ассемблер (x86), мсье знает толк в извращениях, операционные системы, портирование, Программирование, ПроцессорыВсех приветствую!
Я, как и обещал, продолжаю рассказывать о интересных проектах из области операционных систем.
И сегодня я расскажу об интересном проекте. В этом случае даже сложно сказать порт это или клон.
Читать полностью »
Мысли о программирование на ассемблере
2013-12-24 в 14:54, admin, рубрики: ассемблер (x86), мысли вслух, метки: ассемблер (x86), мысли вслух После многих лет занятия чем не попадя, решил вернуться к истокам. К программированию. Опять же, ввиду множества «современных достижений» в этой области было трудно определиться, чего же на самом деле не хватет, за что взяться чтобы было и приятно и полезно. Попробовав много чего понемногу, все же решил вернуться туда, куда тянуло с первых дней знакомства с компьютером (еще с копией творения сэра Синклера) – к программированию на ассемблере. На самом деле, в свое время Ассемблер я знал достаточно неплохо (в данном случае говорю про x86), но почти 15 лет ничего на нем не писал. Таким образом это своеобразное возвращение «блудного сына».
Но тут поджидало первое разочарование. Найденные на просторах Интернета книги, руководства и прочие справочники по ассемблеру, к моему глубокому сожалению, содержат минимум информации о том, как надо программировать на ассемблере, почему именно так, и что это дает.
Читать полностью »
Решение Zeronights Crackme 2013 и причём тут матрицы
2013-12-03 в 14:59, admin, рубрики: ассемблер (x86), информационная безопасность, конференция, реверс-инжиниринг, метки: ассемблер (x86), конференция, реверс-инжиниринг Привет всем. Недавно на Хабре появилась статья, расписывающая взлом crackme от лаборатории Касперского с конференции ZeroNights 2013. У меня тоже получилось взломать этот crackme, но я использовал несколько иной подход для создания ключей, чем Дарвин, потому что заметил, что в crackme используются матричные операции. В отличие от Дарвина я использовал только дебаггинг при помощи OllyDbg.
Читать полностью »