![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Привожу цитату:
Так и не смог прикрутить эту штуку к своей программе. Может кто понял, что хотел сказать автор? Вроде интересная штука, расскажите... Заранее благодарен. |
|||
|
||||
Rouse_ |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Штука достаточно банальная и не имеет никакого практического смысла так как весьма прозрачна.
смотри как все выглядит: машинный код инструкции jmp равен $EB для этой инструкции нужно значение куда будем прыгать (к примеру на 5 байт вперед, именно столько байт занимает дальнейший машинный код) автор хочет показать как он якобы схитрил: вот рассмотрим на примере:
как видишь первая инструкция занимает 4 байта кода, автор хочет посредством второй инструкции перескачить на начало вот этих 2 байт EB05, которые означают инструкцию JMP +$05, но вот беда, дельфи (по крайней мере семерка) не дает делать так как задумано и EBFE делает переход на саму себя. Хорошо, попробуем сделать изменение кода второй инструкции:
и что мы видим? То что Дельфи тоже не лыком шита и не дает выполняться заведомо опасному коду и как результат генерируем на выходе все ту же инструкцию
Если бы было сгенерировано EBFС, тогда фокус бы получился, а так нет. Если ты все же хочешь запустить данный пример, то напиши код вот так:
Это сообщение отредактировал(а) Rouse_ - 11.5.2005, 11:05 |
||||||||
|
|||||||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Bes почитай про: "scrambled код-ы"
PS: для IDA есть плагины для удаления наиболее распространненых мусорных кодов ![]() Rouse_ добавь: pop rr Это сообщение отредактировал(а) Girder - 11.5.2005, 15:21 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
2Rouse_: Я только не понял куда это совать и для чего? Что при этом происходит? Как это применять и что это?
|
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Никуда это совать не нужно, поверь это лишний геморой на пятую опорную точку. Только сам запутаешся.
Автор просто хочет показать как можно "запутать" злоумышленника до невозможности исковеркав код программы. В действительности над таким детским подходом даже смеяться жалко... |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Жаль,
![]() |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
Если уж хочешь сделать что-то серьезное, то стоит подумать над некоей аналогией ASProtect, т.е. зашифрованный ЕХЕ, раскриптовывается в Executable Marked область памяти и оттуда стартуется с параллельным просчетом контрольных сумм каждого исполнямого участка кода. Парралельный морфинг исполняемых участков по аналоги с полиморфными вирусами. Прокладка рассчета данных по поточному туннелю, к примеру работают 16 потоков которые считают что-то одно и абсолютно по одному и томуже алгоритму, но только один из потоков в данный момент работает с правильными данными, а остальные лопатят мусор и через рандомный промежуток времени данные перекидываются в другой поток и так до окончания проводки (пока данные не рассчитаются до конца). Установка ловушек в коде на которые может среагировать взломщик... и тд. и т.п.
Добавлено @ 15:39 Ну и не забывай что абсолютных защит не бывает. На разработку защиты должно быть потрачено не более 10-15 процентов суммы потраченной на создание самого продукта, иначе получится что будет висеть монстрообразная защита над программой чуть лучше по своему функционалу чем банальный Notepad. Получится как в байке про неуловимого Джо, которого никто не ловит потомучто он никому не нужен. |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
Ну блин, умных слов ты много знаешь.
![]() |
|||
|
||||
Rouse_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 469 Регистрация: 23.4.2005 Репутация: 5 Всего: 29 |
На королевстве дельфи есть цикл статей о защите. Только не спрашивай моего мнения по этим статьям
![]() http://www.delphikingdom.ru/asp/section.asp?id=2 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |