Возможно ли создание в асме (или другом языке программирования) самомодифицирующегося кода? Конкретно интересует следующая возможность. Имеется программа работающая без инсталятора При запуске программа читает имя компьютера и "внедряет" его в себя. При следующем запуске программа вновь читает имя компьютера и если оно не совпадает с предыдущим результатом, то программа завершает свою работу. P.S. смутно подозреваю что можно, но не подозреваю как.
Чтоб поиск был легче: Простейший вариант - запускается программа, внедряется код в АП любого доступного процесса и ждет завершения основной проги, как дождался - вносит изменения в файл.
Twister Мне конечно трудно оценивать, че тут умные дяди делают, но ИМХО внедрение в чужой процесс - не самый простой способ. ГОРАЗДО легче применить MoveFile к своему ехе-шнику в какое-нибудь укромное место типа C:\Windows\System32 да еще и под левым именем. А потом уже сохранять на старое место модифицированный экзешник.
запущенный экзешник пока что можно переносить только в пределах одного диска, так что если запустить ее не с c:, ситуация несколько усложняется... как, собственно, и при запуске с c:, если темп находится на другом диске
Даже некоторые вирусы (черви) записывают в конец, например, найденные адреса электронной почты... Если не ошибаюсь I-Worm.Happy этим занимался...
а зачем куда-то в хитрое место кидать, в той же директории, тем более что не думаю что опеерации будут выполнятся больше секунды.
Ну я подумал исходя из задачи, что человек хочет своего рода "защиту" организовать. А если все прям так наглядно делать, то даже чайник вроде меня догадается, что че-то тут не так.
Хм, достаточно сделать копию такой "защищённой" программы перед её запуском и вся "защита" рухнет. Смысл мучаться ?
А зачем такие заморочки как запись в EXE файл. Не проще ли хранить это в реестре или в другом файле ?
plasmoid попробуй почитай руководство к PE-формату... Цикл статей по вирусам... В конечном итоге создай новую секцию небольшого размера куда будешь писать ксоренное имя компа... Помогу тока чуть посже...
plasmoid, если мне не изменяет память, года 3-4 назад на кряклабе GPcH кидал такой крякми(искать топик по словам 'Так не честно' ), но лечится такая проверка установкой атрибута 'Только чтение' на файле, т.е. если поставить атрибут до первого запуска, то прога всегда будет думать что ее запустили первый раз, это если сам не проверяеш файл на этот атрибут, конечно.
l_inc Все зависит от рук... Гораздо проще и геморойнее... Жалко 4кб чужого АП? Почти в тему: http://vbstreets.ru/VB/Articles/66169.aspx
Twister Если не учитывать замечание Nouzui (хотя геморройности в проверке текущего диска я тоже не вижу), то я не понимаю, в чем геморройность. ------------------------------- (хоть это и не на мой пост ответ ) Да причем здесь жалко? Главное, чтобы эти 4 кб в неподходящий момент вместе с чужим АП не рухнули. P.S. Только если я здесь где-нить гоню... не пинайте чайника pls.