Forum Webscript.Ru

Программирование => Теория, алгоритмы и стандарты => Тема начата: Metaller от 25 Марта 2003, 11:11:50

Название: Вывод исходного кода
Отправлено: Metaller от 25 Марта 2003, 11:11:50
Хм... немного не по теме форума, но все же.

Читаю тут книженцию одну, и в ней упоминается об одном тестовом задании: "... написать программу, отображающую на экране свой собственный исходный текст, не обращаясь к чтению файлов...".

Я вот задумался, как это можно сделать? Хоть примерно? Что-то ничего стоящего в голову не приходит. У кого-нибудь есть соображения?
Название: Вывод исходного кода
Отправлено: ThE0ReTiC от 25 Марта 2003, 12:55:14
Metaller
Э....
речь идет о компилируемом или инстерпретируемом языке?
Название: Вывод исходного кода
Отправлено: Metaller от 25 Марта 2003, 12:57:29
Я так понимаю, что речь идет о Сях.
Название: Вывод исходного кода
Отправлено: я... от 25 Марта 2003, 13:27:36
если действительно си, то это не реально....да к тому же не читая файл...
Название: Вывод исходного кода
Отправлено: ThE0ReTiC от 25 Марта 2003, 13:34:00
Цитировать
то это не реально

согласен...
можно вывсети содержимое исполняемого файла :)
Название: Вывод исходного кода
Отправлено: Metaller от 25 Марта 2003, 13:35:33
И тем не менее. Тестовое задание в компании NuMega. Они, насколько я знаю, пишут на сях и асме.

В принципе можно прочитать себя из памяти и дизассемблировать это. Но не знаю, насколько это будет верным решением. Учитывая специфику разрабатываемых Нумегой программ....

Может быть, верный ответ как раз - "невозможно"? ;-)
Название: Вывод исходного кода
Отправлено: ThE0ReTiC от 25 Марта 2003, 13:38:09
не...
в принципе ты можешь снять дамп памяти в адресном пространстве данного процесса, а потом отреверсировать...
получишь ассемблерный код...
может верный ответ таков, как ты предполагаешь...
Название: Вывод исходного кода
Отправлено: я... от 25 Марта 2003, 13:38:20
ThE0ReTiC
Цитировать

можно вывсети содержимое исполняемого файла

без чтения его самого?..

Metaller, может и такой ответ...а под стиллистику издания подходит?.. =)
Название: Вывод исходного кода
Отправлено: ThE0ReTiC от 25 Марта 2003, 13:40:21
Цитировать
без чтения его самого?..

да
Название: Вывод исходного кода
Отправлено: Metaller от 25 Марта 2003, 13:40:30
Цитировать
ThE0ReTiC:
в принципе ты можешь снять дамп памяти в адресном пространстве данного процесса, а потом отреверсировать...

А я разве не то же самое написал? ;)

Цитировать
я...:
а под стиллистику издания подходит

А хрен его знает. Книга не про это...
Название: Вывод исходного кода
Отправлено: я... от 25 Марта 2003, 13:47:12
Цитировать

Цитировать

без чтения его самого?..

да

согласен, заработался...
Название: Вывод исходного кода
Отправлено: Maniac от 25 Марта 2003, 16:47:31
Эээ... А если что-то типа exec("copy myfile>con"); ? Программа файл не читает однозначно :)
Название: Вывод исходного кода
Отправлено: Metaller от 25 Марта 2003, 16:52:00
Maniac
А если нет файла с исходником? ;)
Название: Вывод исходного кода
Отправлено: Maniac от 25 Марта 2003, 16:56:45
Metaller
А если я тебя монтировкой по башке ударю, у тебя шнурки развяжутся? (с) :)

Если нет файла с исходником и программа написана не на Васике, то делаем дамп памяти :)
Название: Вывод исходного кода
Отправлено: NeoNox от 25 Марта 2003, 17:27:35
Вы еще подеритесь тут...
http://www.nyx.net/~gthompso/quine.htm
Название: Вывод исходного кода
Отправлено: Metaller от 25 Марта 2003, 17:35:09
Блин, об этом я подумал в первую очередь, но решил, что это тупо..... :(
Название: Вывод исходного кода
Отправлено: Stas от 08 Апреля 2003, 12:49:31
a zachem vsio eto nado ? vy chio Halting problem hotite reshit\'  ? ;)

(ta chto dokazana nevozmozhnoi metodom diagonalizatsii)
Название: Вывод исходного кода
Отправлено: NAS от 08 Апреля 2003, 13:24:12
Stas

[OFF]transli > rus кнопка специально для вас[/OFF]