![]() |
![]() |
lFOXl |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 11 Пол: Мужской Реальное имя: Денис Репутация: ![]() ![]() ![]() |
У вас есть возможность посмотреть)
Захотелось что-то написать на скорую руку.. вот ничего больше в л=голову не пришло) Выводит на экран надпись в стиле ANSCII-art =) Исполняемый файл удален (Правила, п.9) Lapp Прикрепляю исходник. Сообщение отредактировано: lFOXl - 28.08.2009 12:18 Прикрепленные файлы ![]() |
![]() ![]() |
andriano |
![]()
Сообщение
#2
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: ![]() ![]() ![]() |
Возвращаясь к топику:
Как-то пришлось писать Паскаль-программу, которая генерировала бы Паскаль-исходники, удовлетворяющие некоторым условиям. Вот эти сгенерироанные исходники и можно было бы считать самой бесполезной программой, т.к. никакой полезной работы они в самом деле не делали, зато имели объем, исчисляемый десятками тысяч строк. А нужно было это для отправки баг-репонта разработчику TMT Pascаl, версия 2.* которого падала, если ей пытались скармливать исходнокт достаточно большого объема. Притом на исходниках в несколько сотен или даже тысяч строк такого эффекта не наблюдалось. Вот эта "бесполезная" программа и послужила доказательством, что "валится" компилятор именно под влиянием объема, а не какой-то хитрой (или ошибочной) структуры компилируемой программы. Так что и "бесполезные" программы иногда на что-то годятся. Сообщение отредактировано: andriano - 29.09.2009 20:07 |
SKVOZNJAK |
![]()
Сообщение
#3
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
Знакомая система
![]() Код write( '453656897656790655434436564543323456676777654344355656355776457656655555467' ); Строки копипастились, сообщения обрабатывались генератором случайных чисел, чтобы компилятор не смог их оптимизировать. Весь модуль должен быть такого объёма чтобы занимать почти весь сегмент памяти - 64kb. Тогда он не перемещается по сегменту. Модуль компилился а после в него записывалась информация к которой из программы через указатель можно получить доступ на чтение - обход ограничения на объём основной памяти, глобальных переменных и констант. А всё потому что великие теоретики программирования на паскале вскользь и на фрагментах а не целиком и на рабочих примерах объяснили доступ к памяти в защищённом режиме. Проще говоря, схалтурили, вместо того чтобы сказать: лажа тут в коде, лучше и не пытайтесь. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 10:10 |