powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли предел у возможностей программ?
25 сообщений из 35, страница 1 из 2
Есть ли предел у возможностей программ?
    #33053786
Not_Real
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите ответ на вопрос в тему ядрер, колец, превелегий... можно паролели между windows и linux.. во втором у меня мало практики... с полуслова могу не понять =)
Вопрос такой: Как создать программу способную менять свой код?
Т.е. видел я не раз программы, которые хранят переменные в своем бинарном коде, помогите разобраться с энтим не простым делом..
Кому не в облом хотелось бы побеседовать.. Книжки это понятное дело, но там одностаронняя связь, а хотелось бы живого общения. Так что не отсылайте меня сразу.. не тыкайте носом в google, rambler и умные книжки.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33053792
Paul Sacks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно читать придется...
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33053797
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интиресно, а зачем это вам?
У ж не вирь ли написать удумал? )))
Вообще-то это дело не очень распространенное. Раньше на этом экономили несколько байт и несколько тактов, а теперь это удел в основном вирей-полиморфов и кода с защитой от отладки.
Проблем с самомодифицирующимся кодом много -- обычно в современных ОС страницы с кодом защищены от записи, и надо специально возиться, чтобы код мог модифицировать себя. Много хороших статей по этому поводу есть на www.wasm.ru, в том числе пример полиморфного движка.
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054239
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Not Real

Всегда рад побеседовать на эту тему. Однако интересно
узнать о конечной цели твоих изысканий. Обычно такие
программы (самомодифицирующиеся) создают вирмейкеры
для скрытия от антивирусов либо любители пооптимизировать
и выдавить лишние 2-3 такта из цикла (пример - компиллятор
арифметических выражений).
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054520
Not_Real
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LelikkИнтиресно, а зачем это вам?
У ж не вирь ли написать удумал? )))
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
Не виря...

А вот интересно можно программу снабдить памятью, чтоб она накапливала опыт.. =) Использовала опыт других программ.. Заложить в код эвалюцию.. Снабдить инстинктами.

Как вам такая мысль?
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054555
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Not_Real LelikkИнтиресно, а зачем это вам?
У ж не вирь ли написать удумал? )))
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
Не виря...

А вот интересно можно программу снабдить памятью, чтоб она накапливала опыт.. =) Использовала опыт других программ.. Заложить в код эвалюцию.. Снабдить инстинктами.

Как вам такая мысль?

Ну подобие накопления опыта реализовать можно на основе нейронных сетей. А вот какой опыт -- только в определнной вами области по вашей модели. А вот чтобы опыт других прог, это круто))))
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054591
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Not_Real
Т.е. видел я не раз программы, которые хранят переменные в своем бинарном коде,

Любое объявление переменной приведет к тому она будет в коде программы, если только это не указатель и выделяешь память во времяы работы.
с помощью new, alloc, etc/

Ну а если напишешь программу которая будет учится у других программ то такая крутизна даже не поддается обсуждению :-))))))))
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054691
Not_Real
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CruelGenius
Любое объявление переменной приведет к тому она будет в коде программы, если только это не указатель и выделяешь память во времяы работы.
с помощью new, alloc, etc/
Я имел в виду сохранение переменных в бинарный код.
CruelGenius
Ну а если напишешь программу которая будет учится у других программ то такая крутизна даже не поддается обсуждению :-))))))))
Ну не учиться.. хотябы наметки какие нибудь на использование опыта других программ. Теоретически можно же создать программу цель которой будет поиск аптимизиции, чего-то, т.е. описать некоторый класс методов, и перебирать оптимальное их сочитание и процедуру создания методов из примитивов. Впринципе возможность программы менять свой код, дает возможность реализации механизмов эволюции. (Так ведь? Или в чем то запритык есть?)
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054730
Not_Real
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поразительное дело, я нашел интересующую меня тему (про которую в последнем посте написано) раскрытую на http://www.wasm.ru - это хороший интернет ресурс.. 8) Надо теперь в Ассемблере поднатореть, а то как филькина грамота. Хотя идея хорошая и перспектива не плохая. =)
Как не крути а все в ассемблер упираеться, но сейчас это слишком высокая для меня планка. Все бы ничего, только уровень (программирования) уж слишком низок...
Кто (из великих) не забыл что он с нуля начинал, подскажите в какой последовательности браться за асм, ведь вы проходили по этой тропе, знаете какого оно, только проявите гуманность, не говорите, что вам никто не помогал, что вы сами во всем разбирались. Хочеться то всего и сразу! =)
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33054845
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хоть мы и не великие))), но ассемблер надо начинать учить с изучения архитектуры процессора и его команд. Лучшей книгой по ассемблеру лично я считаю: Зубков -- "Ассемблер для DOS, Windows & Unix". Также неплохие книги под авторством Пирогова.

________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33055261
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CruelGeniusЛюбое объявление переменной приведет к тому она будет в коде программы, если только это не указатель и выделяешь память во времяы работы.
с помощью new, alloc, etc/
Бред.

Not_RealКто (из великих) не забыл что он с нуля начинал, подскажите в какой последовательности браться за асм, ведь вы проходили по этой тропе, знаете какого оно, только проявите гуманность, не говорите, что вам никто не помогал, что вы сами во всем разбирались. Хочеться то всего и сразу! =)
Помогал, такой же начинающий как и я :)
Чтобы начать программировать на ассемблере, надо запомнить три простых правила:
1) У процессора есть регистры и это единственные переменные которые нам доступны.
2) В память мы пишем сами и пишем туда все что угодно. Но кусочками не более одного регистра
3) GOTO это хорошо! :)
Книги по процессорам на первом этапе ничего не дадут. Ты их не поймешь. Лучше возьми старинный программируемый калькулятор типа МК-61, Б3-34 и им подобные и поиграйся с ними. Начнешь думать по ассемблерному. Потом берешь любой комп, узнаешь какой тип процессора там стоит, достаешь список команд этого процессора, транслятор ассемблера и обязательно описание доступа к внешним устройствам, хотя бы к дисплею - и вперед.

А насчет уровня программирования не волнуйся, лично я свой первый ассемблер (КР580ВМ80А если кто помнит такое :) начал использовать сразу после Бейсика и калькуляторов :)

А по вопросу самомодифицирующихся программ - ассемблер это единственный язык на котором саммодификацию можно делать с хоть с какой-то увереностью что оно смодифицируется так как ты запланировал. На всех высоких языках - обязательно прийдется сражаться с транслятором.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33055644
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Not Real

Начинать обучение лучше с ... повторения чужих программ.

Скачай какой-нибудь исходник и просто скомпиллируй. Потом попробуй разобратся как он работает. Внеси изменения и т.д.

Успехов.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33056453
CruelGenius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Not_RealЯ имел в виду сохранение переменных в бинарный код.

В бинарный код куда ? В файл на диск или в память куда загружена программа?
Если ты имеешь ввиду что переменные сохранять в сегменте кода в памяти , то это дело у тебя вызовет синий экран смерти с надписью что твоя программа обратилась не туда куда надо. Под виндой, а если это под досом, то может просто зависнуть.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33056565
Not_Real
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CruelGenius
В бинарный код куда ? В файл на диск или в память куда загружена программа?
Если ты имеешь ввиду что переменные сохранять в сегменте кода в памяти , то это дело у тебя вызовет синий экран смерти с надписью что твоя программа обратилась не туда куда надо. Под виндой, а если это под досом, то может просто зависнуть.
Нее.. ну есть же программы которым разрешено (виндой) менять себя, нулевое кольцо вроде бы. Т.е. Изменения после работы с программой не исчезают, а сохроняются, не в файл куда-то, и не в реестр, а в самой программе. Как это реализовано? Да, про "кольца" и "уровни", расскажите поподробнее.
ЗЫ. В посте могут быть неточности и заблуждения, не очень представляю себе то, про что спрашиваю.. 8)
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33056714
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брось ты ерунду - ассемблер какой то. И на С полно примеров. Пока ты асм будешь изучать какой-нибудь студент уже проги продавать будет )))))))

Распознавание образов и искусственный интеллект
http://www.ocrai.narod.ru/
Нейронные сети
http://www.basegroup.ru/
Алгоритмы
http://algolist.manual.ru/
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33058004
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Not_Real
Нее.. ну есть же программы которым разрешено (виндой) менять себя, нулевое кольцо вроде бы. Т.е. Изменения после работы с программой не исчезают, а сохроняются, не в файл куда-то, и не в реестр, а в самой программе. Как это реализовано? Да, про "кольца" и "уровни", расскажите поподробнее.
ЗЫ. В посте могут быть неточности и заблуждения, не очень представляю себе то, про что спрашиваю.. 8)

Менять себя может каждый. Просто по умолчанию секция кода программы имеет атрибут PAGE_EXECUTE_READ (вернее страницы этой секции в памяти), и ессено писать туда нельзя. Для того чтобы писать можно было, надо сменить аттрибут на PAGE_EXECUTE_READWRITE c помощью VirtualProtect().
Но изменению сделанные в памяти, там и останутся. Никто не запишет их на диск кроме вас. До писать данные в образ PE-файла на диске требует определенной квалификации.
По поводу "нулевого кольца": процессор Intel в защищенном режиме (где винда и работает (в реальном режиме работал раньше чистый DOS с 1Mb памяти)) поддерживает 3 уровня привилегий. Винда использует 2: 0 -- для себя и драйверов, 3 -- для пользовательских приложений. На 3 уровне ограничены многие возможности (доступ к портам ввода/вывода, исполнение определенных инструкций процессора).
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33058486
Not_Real
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Брось ты ерунду - ассемблер какой то. И на С полно примеров. Пока ты асм будешь изучать какой-нибудь студент уже проги продавать будет )))))))

Ну продовать проги, это одно, а разобраться во всем (по возможности) досканально - это другое. =) И тут все упираеться в асм (в хакере вычитал, советуют не тратить время на голый асм (ибо это долго и объемно), а советуют писать вставки, мне кстати статейка понравилась, пишется с позиции сишника, жду след. номера... 8)
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063426
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Not_Real Petro123Брось ты ерунду - ассемблер какой то. И на С полно примеров. Пока ты асм будешь изучать какой-нибудь студент уже проги продавать будет )))))))

Ну продовать проги, это одно, а разобраться во всем (по возможности) досканально - это другое. =) И тут все упираеться в асм (в хакере вычитал, советуют не тратить время на голый асм (ибо это долго и объемно), а советуют писать вставки, мне кстати статейка понравилась, пишется с позиции сишника, жду след. номера... 8)

Лучше не читайте ксакеп -- будете в иллюзиях плавать насчет взома серверов с помощью нового супер-навороченного скрипта на бейсике)))
Или насчет суперских хакерских прог на Delphi)))
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063585
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вопрос такой: Как создать программу способную менять свой код?

В большинстве нормальных операционных систем , которыми являются *nix-ы и Win32-ы такое сделать невозможно. Да и не нужно с точки зрения тривиального здравомыслия.

>видел я не раз программы, которые хранят переменные в своем бинарном >коде, помогите разобраться с энтим не простым делом..
Если это не программа микроконтроллера или драйвера какого-то устройства, то это плохая программа.

>Кому не в облом хотелось бы побеседовать..
Ну давай беседовать.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063591
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот интересно можно программу снабдить памятью, чтоб она накапливала опыт.. =) Использовала опыт других программ.. Заложить в код эвалюцию.. Снабдить инстинктами.

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

Например, возможные варианты поведения программы можно описывать с помощью данных. Можно саму программу писать на языке интерпретирующего типа и там уж сам Бог повелел генерировать и затем исполнять код , к тому же это не будет сложно (язык должен быть достаточно крупным). Можно использовать язык Пролог - там базы предикатов реализованы в самом языке.
Ну и вообще много вариантов.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063596
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЛучше возьми старинный программируемый калькулятор типа МК-61, Б3-34 и им подобные и поиграйся с ними. Начнешь думать по ассемблерному.

Что ты такое говоришь ? Он по-FORTH-овому будет думать, а не по ассемблерному.

White Owl
А по вопросу самомодифицирующихся программ - ассемблер это единственный язык на котором саммодификацию можно делать с хоть с какой-
то увереностью что оно смодифицируется так как ты запланировал.


Как раз наоборот. ASM- это единственное средство, с помошью которого задача создания самомодифицирующихся программ становиться абсолютно нереальной.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063727
Yura .
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сегодня я весьма далек от ассемблера и CPP, но где-то я краем уха слышал, что в экзешнике перед точкой входа в программу есть 100 байт не помню для каких целей используются. Если управление на этот участок никогда не передается, то, думаю, его можно использовать для своих целей, например, разумеется, в машинных кодах туда можно чего-то записать, затем подгрузить при следующей загрузке программы эту цепочку кодов в память, и передать управление на этот кусочек кода. Хотя, думаю, если и тратить время на развитие этой идеи, то для начала хотя-бы в другой файл научиться писать, и выполнять коды от туда. На сколько я понимаю, саморазвитие программы в любом случае - это накопление информации, а на постоянно прибываемый объем информации заранее зарезервированного места все-равно не хватит.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063760
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yura .На сегодня я весьма далек от ассемблера и CPP, но где-то я краем уха слышал, что в экзешнике перед точкой входа в программу есть 100 байт не помню для каких целей используются. Если управление на этот участок никогда не передается, то, думаю, его можно использовать для своих целей, например, разумеется, в машинных кодах туда можно чего-то записать, затем подгрузить при следующей загрузке программы эту цепочку кодов в память, и передать управление на этот кусочек кода. Хотя, думаю, если и тратить время на развитие этой идеи, то для начала хотя-бы в другой файл научиться писать, и выполнять коды от туда. На сколько я понимаю, саморазвитие программы в любом случае - это накопление информации, а на постоянно прибываемый объем информации заранее зарезервированного места все-равно не хватит.

Где это вы нашли эти 100 байт?
В PE-формате код разделен по секциям. Вы писать собрались куда--в межсекционное пространство? (которого вообще-то нет)
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33063806
Yura .
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не знаю что есть PE-формат. Ну нет так нет, на Асме напишите 100 раз NOP, будут, а вообще-то я сказал, что в программировании на этом уровне я не силен.
...
Рейтинг: 0 / 0
Есть ли предел у возможностей программ?
    #33064135
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv>Вопрос такой: Как создать программу способную менять свой код?

В большинстве нормальных операционных систем , которыми являются *nix-ы и Win32-ы такое сделать невозможно. Да и не нужно с точки зрения тривиального здравомыслия.

>видел я не раз программы, которые хранят переменные в своем бинарном >коде, помогите разобраться с энтим не простым делом..
Если это не программа микроконтроллера или драйвера какого-то устройства, то это плохая программа.

>Кому не в облом хотелось бы побеседовать..
Ну давай беседовать.
По-моему лучше не скажешь для закрытия IMHO топика. Эта задача так далека от народа как Циолковский в своё время.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Есть ли предел у возможностей программ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]