|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 12, 2004 13:01:40 Прочитал несколько статей по работе дизассемблер(ов) и разочаровался:( Пишут следующее: "Что касается дизассемблирования вообще, то тут четко необходимо уяснить для себя одну вещь: вследствие того, что ассемблирование - это однонаправленный процесс с потерями, автоматическое восстановление исходного текста невозможно" Понял так, что при "exe"->"исходник"->"exe" нет гарантий что прога будет работать корректно. Так ли это?! Так же попалась информация о возможности добавить в файл ОпКод, что то типа вируса. Как это сделать посредством редактора? Обьясните по шагам ПЛИZZZZZZZZ! Есть вероятность, что AV выкинит такой код при проверке? |
|
|
Дата: Сен 12, 2004 14:16:35 · Поправил: DimaS Уточню задачу. Нужно добавить в программу несколько команд(вызов подпрограммы и выход по условию). |
|
|
Дата: Сен 12, 2004 14:25:35 Понял так, что при "exe"->"исходник"->"exe" нет гарантий что прога будет работать корректно. Так ли это?! какой исходник ты имеешь в виду то ? тот, который получишь в результате дизассемблирования ? т.е. ассемблерный листинг .exe файла ? ну, тот же самый .ехе ты уже никогда, конечно же, не получишь, да и вообще, столько придется подгонять, чтобы все скомпилировалось допустим в том же MASMе.. неделя работы для какого-нибудь блокнота :) и зачем тебе это вообще ? хочешь добавить что-нибудь в уже существующую программу ? тогда придется разбираться с ассемблером и дописывать на ассемблере. по другому никак. чуть легче - можно подцепить дллку к этому .exeшнику, написанную на любом языке, и каким-нибудь образом организовать процесс её взаимодействия с .ехе файлом... Так же попалась информация о возможности добавить в файл ОпКод, что то типа вируса. можешь добавить. только куда и какой? Как это сделать посредством редактора? открой программу в любом бинарном редакторе файлов и добавь/измени нужный байт. удобнее в hiew. Обьясните по шагам ПЛИZZZZZZZZ! по-моему ты слишком широко поставил вопрос. какая у тебя цель то ? |
|
|
Дата: Сен 12, 2004 14:58:47 2Funbit Под исходником подразумевался ассемблерный листинг. Цель я указал канкретно! Если конкретней: надо привязать прогу(исходники ёхтер:) к железу. Вопросов для одного топика много, NR новечек в этом. Я сюда и обратился в надежде, что гуру поможАт! А что ты имееш в виду "придется разбираться с ассемблером и дописывать на ассемблере", поясни подробней куда и как дописывать! С асМоМ чуть чуть дружу, EXEшник учусь модифицировать, задачка 8) |
|
|
Дата: Сен 12, 2004 15:19:07 · Поправил: Funbit цель ты указал во втором ответе, а я начал писать еще до его появления :) перед тем, как давать рекомендации, хотелось бы узнать, какого уровня защиту ты хочешь сделать? т.к. любую защиту можно сломать, какую степень сложности ты хочешь ? от обычных юзеров, или от всех, даже от крякеров ? может быть лучше воспользоваться готовыми навесными средставми и не парить мозги ? или ты именно сам хочешь эту защиту написать ? p.s> с этим английским.. уже разучился формулировать русские предложения =\ |
|
|
Дата: Сен 12, 2004 15:28:18 · Поправил: DimaS Ненадо мне сложной защиты, достаточно защиты от простых юзверей! Хочю "просто"(мне не просто:(, чтоб при несоответствии сарий ника HDD(непример) был переход на точку выхода из программы. Серийник получать уже могу, пытаюсь добавить сие в прогу. А какие "готовые навесные средстава" есть??!!!!! Очень интересно!!!! Де их можно взять, хоть кусочек исходника глянуть????? Чето поиск не дает ниче :(((((( ЗЫ Конечно хотелось бы и самому написать, но щАс надо хоть какнитЬ сделатЬ! |
|
|
Дата: Сен 12, 2004 16:32:16 ну если для простых, тогда тебе лучше будет написать DLLку, в которой организуешь проверку HDD iD, если iD плохой - сделаешь прямо там ExitProcess... проверку можешь вставить в какую-нибудь эскпортируемую ф-цию, а потом где-нибудь около EP .ехешника сделать прыжок на эту ф-цию. (на адрес в импорте). как дллку подцепить? подцепить можно вручную, можно с помощью тулзы, для примера LordPE или StudPE. более подробно сейчас написать пока не могу, уходить надо. может кто еще другой поможет :) |
|
|
Дата: Сен 12, 2004 17:55:29 Значит так. Необходимо написать и скомпилить нужный код. Там должно высчитываться дельта-смещение и должна присутствовать корректировка адресов. Завершаться этот код должен инструкцией jmp 0 Зачем? Надо. Потом объясню. Далее. Читаешь доку по PE-файлам. Харда Виздома должно хватить. Находишь в файле, который будешь модифицировать точку входа, а точнее ее адрес. Также необходимо обнаружить секцию кода и пустое место в ней. Пустого места должно быть достаточно, чтобы засунуть туда код. В принципе, можно этот самый код туда засовывать. Ну а теперь начинается самая интересная часть марлезонского балета: корректировка адресов. :) Необходимо узнать, по какому адресу лежит вставленый код и записать это значение в поле EntryPoint заголовка. Для этого берешь значение EntryPoint и прибавляешь к нему смещение вставленного кода (смещение относительно начала секции кода). Теперь при запуске проги будет выполняться вставленный код. Но ведь и старый код должен выполняться! Для этого в хвосте вставленного кода ищешь тот самый jmp 0. Вот вместо этого нуля (надеюсь, это дворд, а не байт :)) надо вписать адрес начала кода. Но надо понимать, что прыжки в коде относительные, а значит число после инструкции jmp последует прыжок на указаное число байт вперед (или назад, если число отрицательное). Вот это число и надо рассчитать. И тут надо подумать, т.к. я уже не помню.. :( Щас подумаю, а ты пока вникай. :) |
|
|
Дата: Сен 12, 2004 18:02:35 Так. Подумал. Берешь старый Entry Point (надеюсь, ты его записал :)), вычитаешь из него размер вставленного кода в байтах и вычитаешь новый EntryPoint. Должно получиться отрицательное число. Вот оно-то и будет значением для jmp. Вроде так. Должно работать. Таким манером работают вирусы-инфекторы, но аверы на твой код ругаться не будут, потому что он не несет разрушения (ведь не несет?), а такая техника вроде как частенько используется в защитах. |
|
|
Дата: Сен 12, 2004 18:06:57 · Поправил: DimaS Вникаю здорово :))))) Разрушений не несет... Дето так и хотелось! ЗЫ Я щас пытаюсь конструкторы для вирусов под енто дело приспособить, шОбЫ поменьше вникать... |
|
|
Дата: Сен 12, 2004 18:12:03 Не уверен, что конструкторы помогут, но попробуй. Но существует вероятность, что конструктор еще добавит всякой хрени и авер может косо на нее смотреть. |
|
|
Дата: Сен 12, 2004 18:14:38 Прочитал что вроде есть такие, которые исходники выдают. Качну и посмотрю исходник как пример..... |
|
|
Дата: Сен 16, 2004 21:57:53 Хех.... трояна/бэкдооор лепим наверное? :) |
|
|
Дата: Сен 16, 2004 21:59:36 Помоему лучше в таком случае писать свой код, вшивать в него этот ЕХЕшник как "полезную" нагрузку :) |
|
|
Дата: Сен 16, 2004 22:03:03 Нет, я в поиске был!) Хоть бы кто прикалол, что есть "Wiew32" .. Щас тема топика не актуальна . |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.109 |