Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
ВнизСамомодификация exe-файла Найти похожие ветки
← →
Izyum (2003-09-26 14:19) [0]Привет всем!
Задача такая: заставить exe-шник переписать часть кода в себе. Например, последним байтом в нем идет "1", при определенных условиях он должен затереть эту единичку нулем.
← →
[lamer]Barmaglot (2003-09-26 14:22) [1]Создаешь второй файл в памяти, который начнет работать после завершения программы, после чего откроет файл exe породивший его программы и заменит 1 или 0
← →
Izyum (2003-09-26 14:34) [2]Дам более конкретный пример: нужен счетчик запуска этого exe-файла, а по сему вариант, предложенный Barmaglotom, не подходит по той причине, что машина может повиснуть, юзер может нажать Reset - и счетчик не сработает. Нужен способ делать это сразу при запуске проги.
← →
[lamer]Barmaglot (2003-09-26 14:38) [3]Во время работы программы переписать само себя нельзя.
Кстати чем не устраивает стандартный вариант сохранение данных о запуске - на диск, в реестр, в ini файл и т.д.?
← →
Digitman (2003-09-26 14:40) [4]задача из разряда известных недокументированных трюков
причем устойчивая работа трюка не гарантирована
не проще ли пометить флаг-триггер не в EXE , а в DLL (в е ресурс) ? модификация ресурса вполне устойчива для NT-платформы и документирована
← →
Izyum (2003-09-26 15:01) [5]В принципе, меня устраивают ВСЕ варианты хранения счетчика во внешних файлах (реестр, ini, dll, ...) Но вот захотелось все запихать в один файл. Где-то встречал описание работы упаковщика exe-файлов (в файле идет сначало код декомпрессора, а затем основной исполняемый код), го вот теперь не могу найти.
Можно было бы пойти таким путем: пишем небольшую прожку, задачей которой будет обеспечивать нужную функциональность. В конец этому файлу дописываем основной exe-шник. При старте полученого бутерброда, первая буудет вычленять код основной проги и создавать на диске файл, после чего его и запускать, а сама завершаться. Тогда второй прогой можно будет менять код первой. Файл второй проги можно создавать где-нибудь в укромном месте (v:\windows\temp), от глаз подальше, да еще и имя ему генерить случайным образом. А при старте "бутерброда", можно еще и хвосты подчищать от предыдущих запусков.
Может не совсем понятно, но... По свободе попробую реализовать такой алгоритм, если не обламает:-)
← →
Reindeer Moss Eater (2003-09-26 15:07) [6]Баловство все это.
Достаточно иметь исходные версии самомодифицирующихся файлов что бы обойти всю эту премудрость.
← →
panov (2003-09-26 15:07) [7]ни один из трюков не будет работать, если EXE-файл защищен системой от записи (Security)...
← →
Anatoly Podgoretsky (2003-09-26 15:09) [8]Izyum © (26.09.03 15:01) [5]
Предмет пристального внимания для антивирусов.
Реестр не прибавляет тебе файлов
← →
Izyum (2003-09-26 15:58) [9]Reindeer Moss Eater © (26.09.03 15:07) [6]
А я и не говорил, что это серьезный комерческий проект:-)
Иногда что-то делается просто так, ради удовольствия. Вот придумалась мне задачка - и сижу ее решаю. Если нет красивых и простых решений - это не значит, что их нет вообще.
Было время, когда никто (или почти никто) не мог и помыслить о том, что трояна можно засунуть в хинты к МП3, или отформатировать себе диски открыв какую-то web-страничку.
Не поймите меня привратно, вирей плодить в задачи себе я не записывал, просто сижу обдумываю [i]Anatoly Podgoretsky © (26.09.03 15:09) [8][/i], вот и пришло на ум сравнение с вирями.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c