LINUX.ORG.RU

Мне уже слышатся слова Common Lisp...

marsijanin ★★
()

Легко написать на tcl. И на shell. И, вероятно, даже на любом другом языке с функцией a-la eval.

gaa ★★
()

Полиморфные вири? В Infected Voice был пример на асме.

nikolayd
()

man нейросети? Самоизменяющиеся можно писать на чем угодно интерпретируемом. Другое дело какой должна быть изменяемость и что требуется?

AiFiLTr0 ★★★★★
()

И, если да, то зачем??

anonymous
()

На форте -- просто, на Лиспе -- красиво.

anonymous
()

когда-то давно писал на васике (под "электронику") и на qвасике. смысла в этом особого нет.

x3al ★★★★★
()
Ответ на: комментарий от lester_dev

полиморфные вирусы под виндус 9х разве миф ?) посчу как это делал, но что-то про изменение сегмента кода чет ничего в голову не приходит.

phasma ★☆
()
Ответ на: комментарий от Demon37

>Интересно, какова цель опроса? :)

в толксах бывает цель? о_0

x3al ★★★★★
()
Ответ на: комментарий от kmeaw

>Можно, если это сегмент данных.

так стоп, определитесь наконец чего сегмент - данных или кода? В i386 есть специальный бит, какой это сегмент - исполняемый или записываемый. Как оно может быть исполняемым если оно записываемое?

lester_dev ★★★★★
()
Ответ на: комментарий от Demon37

цели благородные

1 отвлечь народ от [веществ]-опросов 2 помечтать о программе которая будучи единожды написана человеком будет сама себя усовершенствовать для решения всё более и более сложных задач

мечта:

1 написать прогу имитирующую человеческую интуицию... которая будет решать некорректно поставленные задачи подбирая параметры интуитивно. Ну скажем, дать ей порешать простые дифуры, чтобы она запомнила решения а потом добавить некорректную жёсткую дрянь и посмотреть как она начнёт пытаться получить на выходе что-то "красивое" (для неё это будет похожее на то что она получала раньше). Подозреваю, что это может быть только самомодифицирующайся программа.

WerNA ★★★★★
() автор топика
Ответ на: комментарий от lester_dev

Сделай два сегмента. Один кода, другой данных. Причём так, чтобы они перекрывались. Загрузи селектор первого в CS, второго - в DS.

kmeaw ★★★
()
Ответ на: комментарий от WerNA

> написать прогу имитирующую человеческую интуицию... которая будет решать некорректно поставленные задачи подбирая параметры интуитивно.

может быть "man нейронные сети" ?

gaa ★★
()
Ответ на: комментарий от WerNA

> 1 написать прогу имитирующую человеческую интуицию..

man генетические алгоритмы. Не только самомодифицирующайся программа, те же нейросети, генетические алгоритмы, базы знаний итп.

anonymous
()

>Кто-нибудь писал самомодифицирующиеся программы?

Я.

>Если да, то на каком языке

Самомодифицирующиеся на уровне кода - на ассемблере.

Самомодифицирующиеся на уровне исходника - на форте.

Генерирующие свои компоненты на лету - на QBasic :)

KRoN73 ★★★★★
()

имхо, это действительно возможно "на лету" только в интерпретируемом варианте. иначе - отдельно код, отдельно исполняемая(скомпиленная) часть, а потом програмулина "дописывает" код, модифицируя его, компиляет, запускает еще одну прогу/скрипт, завершается, прога/скрипт убивает "старую" исполняемую часть, ложит на ее место "новую" и запускает ее. иначе на 386, как уже сказал lester_dev, вроде как низзя... а там хз, это только мое имхо...

Bobr
()

>Кто-нибудь писал самомодифицирующиеся программы? Если да, то на каком языке

на русском

anonymous
()
Ответ на: комментарий от Bobr

В 386 архитектуре защита на уровне сегментов. При повсеместным использовании flat модели памяти она не используется. NX бит для постраничной защиты появился только в x86-64. Плюс его должна ОС поддерживать.

anonymous
()

Я пробовал искать наработки несколько лет назад по этой теме. Нашел
простейшие Code Wars + еще десяток ссылок. После середины 90-х годов
это направление, имхо, заглохло.

pacify ★★★★★
()
Ответ на: комментарий от WerNA

> 1 написать прогу имитирующую человеческую интуицию... которая будет решать некорректно поставленные задачи подбирая параметры интуитивно. Ну скажем, дать ей порешать простые дифуры, чтобы она запомнила решения а потом добавить некорректную жёсткую дрянь и посмотреть как она начнёт пытаться получить на выходе что-то "красивое" (для неё это будет похожее на то что она получала раньше). Подозреваю, что это может быть только самомодифицирующайся программа.

эх, даже трудно сказать, чему тут больше умиляться - энергии и энтузиазма молодости или глубине ее невежества...

Зачем тебе для этого самомодифицирующийся выполняемый код, мил чел? Неужто структуры данных, и программу которая будет в соответствии с ней действовать, недостаточно? Алгоритмы, делающие те действия которые ты описываешь, все равно ооочень далеки от кодов процессора x86 или jvm или даже исходника ЯП общего назначения, так что генерация такого кода будет чистым пижонством...

gods-little-toy ★★★
()
Ответ на: комментарий от gods-little-toy

oй что у меня с падежами творится... надо к логопеду похоже...

gods-little-toy ★★★
()

Ассемблер и форт, по дефолту понятно.

Gharik
()

На асме z80, x86. Не для зловредства, а оптимизации ради и и сокращения размера(например, чтобы не дублировать похожий код для вывода битмапа, отличающийся одной инструкцией mov/and/xor/etc)

madcore ★★★★★
()
Ответ на: комментарий от gods-little-toy

едва ли программа написанная _логично_ сможет действовать интуитивно(?)

если же она n-раз меняет саму себя результат оказывается уже не столь предсказуемым (нелогичным?)

Заметь я говорил что это фантазии. Я пишу уже 12 лет на Фортране =) В реальности когда стояла задача о решении жёсткой системы я наоборот сделал - добавил в программу свою интуицию =) То есть возможность на лету подправлять кое-что мышкой. Там надо было по виду кривых на плоскости понять где могут скрываться корни и при этом обойти разрывы - ручками "натравить" метод Ньютона чтобы он смог найти корни двух-трёх функций (граничная задача с особенностями на краю, метод стрельбы). Запрограмить поведение программы в зависимости от вида и взаимного расположения кривых я не смог, очень уж непредсказуемо они себя вели. Да ещё выползали численные ошибки из-за округления, которые делали на кривых ступеньки.

WerNA ★★★★★
() автор топика
Ответ на: комментарий от WerNA

> едва ли программа написанная _логично_ сможет действовать интуитивно(?)

> если же она n-раз меняет саму себя результат оказывается уже не столь предсказуемым (нелогичным?)

Боюсь, что все-таки поведение будет предсказуемо. Полиморфные вирусы себя меняли, но антивирусы их успешно ловили.

> Я пишу уже 12 лет на Фортране =)

жестко. я б так не смог. впрочем, вы уже на пределе - телефонами вон кидаетесь ...

> В реальности когда стояла задача о решении жёсткой системы я наоборот сделал - добавил в программу свою интуицию =) То есть возможность на лету подправлять кое-что мышкой.

То есть увы, опять за интуицией пошли к человеку... закодить полноценную интуицию не получилось ни у кого до сих пор.

Есть формализмы и основанные на них решениия, имитирующие интуицию, например генетические алгоритмы и их реализация в оптимизаторе PostgreSQL и ACOVEA, но увы, они ограничены. Оптимизатор PostgreSQL'а до оракла не сэволюционировал до сих пор, и новые фичи туда гомо сапиенсы вкодивают. И, кстати, все эти программы обходятся без перезаписи своего кода.

gods-little-toy ★★★
()
Ответ на: комментарий от WerNA

> написать прогу имитирующую человеческую интуицию...

Как ты собираешься имитировать то, сам не знаю что?

Может для этого и самомодифицируемость и не нужна вовсе?

sin_a ★★★★★
()
Ответ на: комментарий от WerNA

>цели благородные

проще всего сделать мелкий интерпретатор-движок, который не нужно модифицировать, и что-нить на него навесить.

x3al ★★★★★
()
Ответ на: комментарий от x3al

прочитал все ответы и осознал что мне всё-таки придётся сесть и ручками написать одну хрень потому что ни одна программа сама за меня это не сделает. А как было бы здорово. Ну значит пришло время взять студента =)))

ЛОР, прости меня, это я так ленюсь...

WerNA ★★★★★
() автор топика
Ответ на: комментарий от lester_dev

Linux-i386 не скажет. А если может сказать (PaX, другая ОС), то попадаем в kernel-space, правим LDT/GDT, добавляя новый сегмент, меняем данные, возвращаем таблицы в исходное состояние.

kmeaw ★★★
()
Ответ на: комментарий от WerNA

> Я пишу уже 12 лет на Фортране =)

Самомодифицирующуюся? :))) O_o

> То есть возможность на лету подправлять кое-что мышкой. <..> Запрограмить поведение программы в зависимости от вида и взаимного расположения кривых я не смог, очень уж непредсказуемо они себя вели.

в смысле, чтобы устойчиво метод сработал. Да алгоритмизируется там всё, man автоматизация вычислительного эксперимента, тот же М.М. Горбунов-Посадов "Расширяемые программы" ISBN 5-901118-01-4 У него кстати, подход интересный описан, про метаданные. А вообще он автоматизацией вычислительного эксперимента и занимался

anonymous
()
Ответ на: комментарий от WerNA

> едва ли программа написанная _логично_ сможет действовать интуитивно(?)

>если же она n-раз меняет саму себя результат оказывается уже не столь предсказуемым (нелогичным?)

там что, динамический хаос с аттракторами возникает?

ещё в компьютерре писали про программу, которая рисует картины, какие-то силуэты, персонажи, lleo Каганов писал диплом про программу, которая стихи пишет

вот это наверно можно назвать "интуитивным программированием", да и то с натяжкой -- всё равно там какие-то эвристики и куча алгоритмов по ним

anonymous
()
Ответ на: комментарий от lester_dev

>а ось мне не скажет "дядя ты не о$%#л?" :)

Выходи из анабиоза :) всё крипто-ПО так работает :) Алгоритм зашифрован, перед употреблением расшифровывается. а DEP придумали совсем недавно, но все его выключают, так как модули обеспечения безопасности перестают работать :)

robot12 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.