Компилятор C на 510 байт
От: Shmj Ниоткуда  
Дата: 09.06.23 14:33
Оценка: 5 (4)
В кодировке base64 он выглядит так:

  Скрытый текст

6gUAwAdoADAfaAAgBzH/6DABPfQYdQXoJQHr8+gjAVOJP+gSALDDqluB+9lQdeAG/zdoAEAfy+gI
AegFAYnYg/hNdFuE9nQNsOiqiwcp+IPoAqvr4j3/FXUG6OUAquvXPVgYdQXoJgDrGj0C2nUGV+gb
AOsF6CgA68Ow6apYKfiD6AKrifgp8CaJRP7rrOg4ALiFwKu4D4Srq1fonP9ewz2N/HUV6JoA6BkA
ieu4iQRQuIs26IAAWKvD6AcAieu4iQbrc4nd6HkA6HYA6DgAHg4fvq8Bra052HQGhcB19h/DrVCw
UKroWQDoGwC4WZGrW4D/wHUMuDnIq7i4AKu4AA+ridirH8M9jfx1COgzALiLBOucg/j4dQXorf/r
JIP49nUI6BwAuI0G6wyE0nQFsLiq6wa4iwarAduJ2KvrA+gAAOhLADwgfvkx2zHJPDkPnsI8IH4S
weEIiMFr2wqD6DABw+gqAOvqicg9Ly90Dj0qL3QSPSkoD5TGidjD6BAAPAp1+eu86Ln/g/jDdfjr
slIx9osEMQQ8O3QUuAACMdLNFIDkgHX0PDt1BIkEMcBaw/v/A8H9/yvB+v/34fb/I8FMAAvBLgAz
wYQA0+CaANP4jwCUwHf/lcAMAJzADgCfwIUAnsCZAJ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAVao=



Тут.

Правда я так и не понял какие практические преимущества это дает. Вмещается в загрузочный сектор. И что? Какие новые возможности это открывает?
Re: Компилятор C на 510 байт
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 09.06.23 15:13
Оценка:
Здравствуйте, Shmj, Вы писали:

S>какие практические преимущества это дает


Никаких, кроме демонстрации того, что код, занимающий меньше нескольких мегабайт, внезапно способен делать что-то осмысленное.
Re: Компилятор C на 510 байт
От: sambl74 Россия  
Дата: 09.06.23 15:43
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Правда я так и не понял какие практические преимущества это дает. Вмещается в загрузочный сектор. И что? Какие новые возможности это открывает?


Вбиваешь вот эти 512 байт и потом можешь дальше писать уже на "почти" сишке
Re[2]: Компилятор C на 510 байт
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 09.06.23 16:03
Оценка:
Здравствуйте, sambl74, Вы писали:

S>Вбиваешь вот эти 512 байт


Куда именно вбиваешь?

S>и потом можешь дальше писать уже на "почти" сишке


Если до вбивания была возможность писать на полноценной сишке, то какие новые возможности появляются после вбивания?
Re[2]: Компилятор C на 510 байт
От: Shmj Ниоткуда  
Дата: 09.06.23 17:10
Оценка:
Здравствуйте, sambl74, Вы писали:

S>Вбиваешь вот эти 512 байт и потом можешь дальше писать уже на "почти" сишке


А если не 512 байт а больше займет — то что при этом теряется?
Re: Компилятор C на 510 байт
От: _ilya_  
Дата: 09.06.23 19:56
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Правда я так и не понял какие практические преимущества это дает. Вмещается в загрузочный сектор. И что? Какие новые возможности это открывает?


Вирус и то тяжко будет в такой размер.
Тетрис в машинном коде у меня в 2кб и то он был играбельный но без фишек типа подсчета очков... Просто стакан, фигуры и управление.
Компилятор скорее скобочных выражений может и можно уместить, но точно не С. В 5кб можно впихнуть чего-то крутое, но не в 500 байт.
Отредактировано 09.06.2023 20:04 _ilya_ . Предыдущая версия .
Re: Компилятор C на 510 байт
От: Alekzander  
Дата: 09.06.23 22:21
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Тут.


S>Правда я так и не понял какие практические преимущества это дает. Вмещается в загрузочный сектор. И что? Какие новые возможности это открывает?


Вызовы vga_init()/vga_clear()/vga_set_pixel() ведут на захардкоженный рантайм, я так понял. Без стандартной библиотеки далеко не уедешь.
Re[2]: Компилятор C на 510 байт
От: CreatorCray  
Дата: 09.06.23 23:40
Оценка:
Здравствуйте, _ilya_, Вы писали:

__>Вирус и то тяжко будет в такой размер.

Я в чуть больше сотни байт в своё время утаптывал
510 байт это уже просторы.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Компилятор C на 510 байт
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 10.06.23 07:30
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Правда я так и не понял какие практические преимущества это дает. Вмещается в загрузочный сектор. И что? Какие новые возможности это открывает?


"Вмещается в загрузочный сектор" это не более 446 байт, потому что кроме 2 на маркер загрузочности ещё 64 на MS-DOS таблицу разделов.
А если учесть, что иногда надо BPB, то ещё меньше.

Возможности — любой такой рекорд это какая-то хорошая идея компактификации.
The God is real, unless declared integer.
Re[2]: Компилятор C на 510 байт
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 10.06.23 07:44
Оценка:
Здравствуйте, netch80, Вы писали:

N>"Вмещается в загрузочный сектор" это не более 446 байт


Подозреваю, что изначально речь шла просто о "секторе", а "загрузочный" к нему прицепился случайно, по привычке.
Re[3]: Компилятор C на 510 байт
От: Privalov  
Дата: 11.06.23 06:00
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Я в чуть больше сотни байт в своё время утаптывал


Я когда-то поймал вирус размером 80 байт. Это не ты его сделал?
Д. Лозинский в документации к AIDSTEST писал, что видел 60-байтовый.
Re: Компилятор C на 510 байт
От: Osaka  
Дата: 11.06.23 12:38
Оценка:
S>Правда я так и не понял какие практические преимущества это дает. Вмещается в загрузочный сектор. И что? Какие новые возможности это открывает?
Главным образом старые.

О сужайся, сожмись, забывая слова,
Предавая надежды, сдавая права,
Усыхай и твердей, ибо наша задача —
Не считая ни дыр, ни заплат на плаще,
Не любя, не зовя, не жалея, не плача,
Под конец научиться не быть вообще.

Re: Компилятор C на 510 байт
От: Muxa  
Дата: 11.06.23 17:21
Оценка:
S>Какие новые возможности это открывает?

А как на этот вопрос ответил автор в коментах?
Re[4]: Компилятор C на 510 байт
От: CreatorCray  
Дата: 11.06.23 21:32
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Я когда-то поймал вирус размером 80 байт.

Вроде как на тот момент наименьший был вроде как 102 байта. У меня не хватило где то дюжины байт чтоб до него дотянуться.

P> Это не ты его сделал?

Не, это был эксперимент и он никуда не был выпущен.

P>Д. Лозинский в документации к AIDSTEST писал, что видел 60-байтовый.

Чот мне кажется что 60 байт это будет скорее троян чем вирус (т.е. размножающийся код). Разишо бутовый, но и то есть сомнения.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Компилятор C на 510 байт
От: Shmj Ниоткуда  
Дата: 11.06.23 22:20
Оценка:
Здравствуйте, Muxa, Вы писали:

S>>Какие новые возможности это открывает?

M>А как на этот вопрос ответил автор в коментах?

Это перевод, автор вроде на публичных форумах не писал.
Re[3]: Компилятор C на 510 байт
От: Alekzander  
Дата: 11.06.23 22:46
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Это перевод, автор вроде на публичных форумах не писал.


https://news.ycombinator.com/item?id=36064971
Re[2]: Компилятор C на 510 байт
От: LaptevVV Россия  
Дата: 12.06.23 03:15
Оценка:
__>Тетрис в машинном коде у меня в 2кб и то он был играбельный но без фишек типа подсчета очков... Просто стакан, фигуры и управление.
Я когда-то играл в 1кБ тетрис.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Компилятор C на 510 байт
От: Privalov  
Дата: 12.06.23 05:53
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Вроде как на тот момент наименьший был вроде как 102 байта. У меня не хватило где то дюжины байт чтоб до него дотянуться.


80 — я сам разбирал. Он умел только COM-файлы заражать. Нормальный вирус классического типа. Вот не помню, резидентный или нет. Безвредный. Цеплялся в конец исполняемого файла.
Я читал где-то, что теоретический предел вируса, заражающего в MS DOS файлы COM и EXE — 132 байта.
Re[6]: Компилятор C на 510 байт
От: CreatorCray  
Дата: 12.06.23 07:12
Оценка:
Здравствуйте, Privalov, Вы писали:

P>80 — я сам разбирал.

Это уже сурово кто то заморочился.

P>Он умел только COM-файлы заражать.

Есессна, для такого размера возня с EXE слишком толстая.

P>Вот не помню, резидентный или нет.

Скорее всего нет

P>Я читал где-то, что теоретический предел вируса, заражающего в MS DOS файлы COM и EXE — 132 байта.

У меня получилось для COM-only утоптать в 115 что ли. Меньше не получалось без нарушения функциональности.
За размером я тогда не особо гнался, просто как то стало любопытно сделать именно что маленький просто с наскоку, без фанатизма.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: Компилятор C на 510 байт
От: Privalov  
Дата: 12.06.23 08:13
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Это уже сурово кто то заморочился.


Я только помню, что там было очень мало обращений к памяти, все в регистрах. Нашел, куда он начало оригинального файла прячет. Набросал утилитку, вычищающую файлы. Там сигнатура очень простая была.

CC>Скорее всего нет


Детали работы вируса полностью вылетели из головы. Механизм размножения тоже забыл. Помню, что я его в AFD смотрел.

Мне еще приходилось с вирусами разбираться. Я могу только сказать, что их делали непонятно кто непонятно зачем. Все тупо. Я только одну деталь запомнил: вирус какую-то часть себя зашифровывал xor-ом по однобайтному ключу, а ключ записывал в ячейку таймера, запретив прерывания. Я этот участок раскручивал с помощью утилиты HIEW. А зачем оно мне понадобилось, тоже не помню. Возможно, вирус там что-то от зараженного им файла хранил.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.