декомпилятор delphi 7



Автор Grondor Griver задал вопрос в разделе Другие языки и технологии

Как прогу написанную на delphi 7 можно защитить от декомпиляции и получил лучший ответ

Ответ от Алекс Куха[гуру]
В дельфях это сделать нельзя, 100% гарантии так же никто не даст, но может помочь в некоторых случаях упаковка exe.
ЗЫ Если б было можно, жизнь могла быть другой. Но кому в голову придёт возиться с ассемблерным кодом какой-то дельфийской проги? Если только она будет стоить больше 10-15 баксов
Источник: comp. site3k. net/?/comp/packsdoc.html

Ответ от Xraux[гуру]
Блин, вспомнилось.
Catcher: Когда-то давно, когда я еще училась в инсте, у нас был препод, который любил повторять: "Абсолютно защищенных программ не существует. Можно создать только такую, ломать которую будет невыгодно, и затраты на взлом которой превышают полезность этой программы"...
Catcher: *флегматично* Наша группа превосходно усвоила эту простую истину. С тех пор мы все пишем исключительно херовые приложения.
ссылка

Ответ от Sm[гуру]
> типа restorator

"типа restorator" не предназначены НИ для "расшифровки" НИ для декомпиляции.

Ответ от Михаил[гуру]
да так же считаю. . я не думаю что ты делаешь мега прогу. . кстати, маленький совет, сделай ее запутанной))) ) чтобы декодировать ее было труднее)

Ответ от ~~[гуру]
Пиши на PureBasic.
Для него нет декомпиляторов.

Ответ от Alex[гуру]
может застопорить трассировку в дизассемлере при запуске из-под него (смотрит, загружен ли модуль kernel32.dll), но это только временная защита. Полной защиты несуществует. Можно только усложнить защиту, используя зависимые и независимые друг от друга условия (дублирование кода функции, добавление нескольких уровней проверки, математические уловки и др. ухищрения) , тем самым увеличивая время на "расшифровку" кода.
function DebuggerPresent: boolean;
type
TDebugProc = function: boolean; stdcall;
var
Kernel32: HMODULE;
DebugProc: TDebugProc;
begin
Result := False;
Kernel32 := GetModuleHandle('kernel32.dll');
if Kernel32 <> 0 then
begin
@DebugProc := GetProcAddress(Kernel32, 'IsDebuggerPresent');
if Assigned(DebugProc) then
Result := DebugProc;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if DebuggerPresent then
ShowMessage('debugging')
else
ShowMessage('NOT debugging');
end;

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как прогу написанную на delphi 7 можно защитить от декомпиляции
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*