Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Защита от вмешательства   Найти похожие ветки 

 
DiX ©   (2006-09-17 18:27) [0]

Подскажите как реализовать, чтобы при наличии отладчика (SoftICE,  OllyDBG и др.) прога не стартовала, а так же не стартовала под виртуальной ОС.


 
Yegorchic ©   (2006-09-17 18:55) [1]

////////////////////////////////////////////////////////////////////////////////
//
//  Simple VMware check on i386
//
//    Note: There are plenty ways to detect VMware. This short version bases
//    on the fact that VMware intercepts IN instructions to port 0x5658 with
//    an magic value of 0x564D5868 in EAX. However, this is *NOT* officially
//    documented (used by VMware tools to communicate with the host via VM).
//
//    Because this might change in future versions - you should look out for
//    additional checks (e.g. hardware device IDs, BIOS informations, etc.).
//    Newer VMware BIOS has valid SMBIOS informations (you might use my BIOS
//    Helper unit to dump the ROM-BIOS (http://www.bendlins.de/nico/delphi).
//

function IsVMwarePresent(): LongBool; stdcall;  // platform;
begin
  Result := False;
 {$IFDEF CPU386}
  try
    asm
            mov     eax, 564D5868h
            mov     ebx, 00000000h
            mov     ecx, 0000000Ah
            mov     edx, 00005658h
            in      eax, dx
            cmp     ebx, 564D5868h
            jne     @@exit
            mov     Result, True
    @@exit:
    end;
  except
    Result := False;
  end;
{$ENDIF}
end;


Из DelphiWorld


 
DiX ©   (2006-09-17 21:16) [2]

Спасибо, хотелось-бы еще увидеть защиту от отладчиков.


 
Dmitrij_K   (2006-09-17 21:25) [3]


>  хотелось-бы еще увидеть защиту от отладчико

Самый простой способ это FindWindow


 
oxffff ©   (2006-09-17 21:48) [4]

http://www.wasm.ru/article.php?article=1017001


 
SPACE!!   (2006-09-17 21:49) [5]

http://www.cracklab.ru/download.php посмотри "упаковщики и протекторы",
также глянь "распаковщики" но лучше наверное использовать малоизвестные
разработки каких небудь энтузиастов . А вопще я бегло взглянул на проблему защиты и ужаснулся ... Слова что мол взломать можно все что
угодно похоже являются правдой весь вопрос только во времени. А чтоб
сделать устойчивую защиту нужно быть хорошим точнее даже очень хорошим
кракером , но это конешно мое субъективное мнения. Кстате на сайте есть книга Криса Касперски посмотри. Правда чтоб все понять нужно убить млин столько времени . Вобщем я так бегло просмотрел ничего толком не понял кроме того что помимо кракеров хорошую защиту могут написать и вирусологи :)

На http://www.delphikingdom.com/  я как-то скачал chm там помимо всякой беребурды есть цикл статей о защите там можно много подчерпнуть.Если не найдешь где этот chm качается попробуй через поиск ("Защита") у них на сайте.

Предлогаю развить тему защиты в общем, если конешно автор ветки не
против.


 
YurikGL ©   (2006-09-17 21:50) [6]

На каждый pack есть свой unPack
Так что усилия по защите должны быть сопоставимы с ценой программы


 
oxffff ©   (2006-09-17 21:51) [7]

Посмотри также для кругозора

http://www.wasm.ru/article.php?article=debugreg


 
oxffff ©   (2006-09-17 21:55) [8]

Да и вообще все на http://www.wasm.ru/publist.php


 
Юрий Зотов ©   (2006-09-17 22:07) [9]

Вообще, чтобы программу стали всерьез взламывать, надо для начала написать такую программу, чтобы хоть один серьезный хакер взялся за ее взлом.

Такая программа уже написана?


 
oxffff ©   (2006-09-17 22:32) [10]

Сделай crackme и выложи.
То что сломают можно не сомневаться.


 
oxffff ©   (2006-09-17 22:35) [11]

По себе знаю,
что неудобства взлома представляют программы
основанные на байт коде.


 
SPACE!!   (2006-09-18 00:51) [12]


> основанные на байт коде

Можно чуть теории ... ?


 
DiX ©   (2006-09-18 18:20) [13]


> чтобы хоть один серьезный хакер взялся за ее взлом

Я не претендую на такую защиту, чтобы ее не взломал хороший хакер/крекер, мне нужно, чтобы люди (типа установил SoftICE, прочитал Help, а сейчас посмотрю как эта программа работает) не смогли отследить действия программы.
P.S. А взломать и правда можно все


 
dreamse   (2006-09-18 18:21) [14]

> DiX ©   (17.09.06 18:27)

Пойми что защиты не существует :) Если програма стоит того чтоб её взломали то её взломают ! Если не стоит то и никто не будет ломать.

Я потратил неделю на встраивание всякого рода защиты в программу ( софт для ведения клубного бизнеса )  Шифрование , проверка на отладчики и пр.

В итоге взломали дня за 2 чтоли , даже написали генератор SN :)
Лучший способ от взлома это не давать программу, просто продавать , показывать скрины и может быть ОЧЕНЬ урезанные демки показывать , вообще без кода


 
oxffff ©   (2006-09-18 19:18) [15]


> > чтобы хоть один серьезный хакер взялся за ее взлом
>
> Я не претендую на такую защиту, чтобы ее не взломал хороший
> хакер/крекер, мне нужно, чтобы люди (типа установил SoftICE,
>  прочитал Help, а сейчас посмотрю как эта программа работает)
> не смогли отследить действия программы.
> P.S. А взломать и правда можно все


Так если ты даже поставишь проверку на отладчик.
То обойти это тоже просто. jz на jmp.


 
oxffff ©   (2006-09-18 19:21) [16]

Ты можешь даже проверять контрольную сумму кода.
Но тоже это все обходится. В самом простом случае аналогично
jz на jmp.


 
Eraser ©   (2006-09-18 19:25) [17]

в дополнение к [9] и  [14] скажу, что заниматься серьезной защитой - бесполезное занятие, взламывают все, в т.ч. аппаратные ключи и защиты, использующие технологии руткита.
кому нужно - купит в любом случае, кому не нужно - будет пользоваться краденым или не будет пользоваться вообще.

+ на первых парАх, наличие кряка серьезно увеличивает популярность продукта.

PS единственный совет по созданию зщиты - делать весьма сложный механизм шифрования ключа, желательно не самописный, чтобы было проблематично сделать кей-ген, а кряки и серийники это уже не так страшно.
Первое лечится подменой дистрибутива, второе черным списком серийников.


 
DiX ©   (2006-09-18 19:31) [18]

Для меня важно, чтобы тот кто ламает программу не понял как она работает (ее работа связана с деньгами), а взломает он код для программы или нет это уже не так важно.


 
oxffff ©   (2006-09-18 19:33) [19]


> PS единственный совет по созданию зщиты - делать весьма
> сложный механизм шифрования ключа, желательно не самописный,
>  чтобы было проблематично сделать кей-ген, а кряки и серийники
> это уже не так страшно.


Этого не достаточно.
Можно придумать супер алгоритм. Но во многих случаях

call проверка на рег (cупер алгоритм)
test eax,eax
jz Registered
Nonregistered:

Registered:

Ломается элементарно. jz на jmp


 
oxffff ©   (2006-09-18 19:35) [20]

Или даже XOR EAX,EAX


 
Eraser ©   (2006-09-18 19:35) [21]

> [18] DiX ©   (18.09.06 19:31)

тогда нужно использовать какое-нибудь готовое решение типа ASProtect, EXECryptor"a и т.п., только их тоже вскрывают время от веремени, а когда код расшифрован, то через DeDe все можно посмотреть.


 
Eraser ©   (2006-09-18 19:36) [22]

> [19] oxffff ©   (18.09.06 19:33)

и пусть ломается, главное чтобы кей-ген не сделали, особенно если в программе есть ограничение на число пользователей в зависимости от лицензии.


 
Eraser ©   (2006-09-18 19:37) [23]

> [18] DiX ©   (18.09.06 19:31)


> чтобы тот кто ламает программу не понял как она работает

а что полохово если узнает, думаю никаких "ноу-хау" в бухгалтеркой программе нету, чтобы скрывать реализацию.


 
DiX ©   (2006-09-18 19:42) [24]


> сделаем следующее:
>


       mov     ecx,fs:[20h]
       jecxz   not_being_debugger
       [...]

<--- делайте, что хотите, нас отлаживают :)


>
> Потому, если FS:[20h] равен нулю, нас не отлаживают. Наслаждайтесь
> этим маленьким и простым методом для обнаружения отладчиков!


Как из этого кода сделать функцию по аналогии с ответом 1, чтобы возвращала True если есть отладчик и False в противном случае?


 
DiX ©   (2006-09-18 19:47) [25]


> И наконец, чудесный трюк, которого вы ждали... Универсальный
> способ найти SoftICE и Win9x и в WinNT! Это очень просто,
>  100% основанно на API и без всяких "грязных" трюков, которые
> не идут на пользу совместимости. И ответ находится не так
> далеко, как вы думаете... ключ заключается в API, который
> вы уже использовали раньше: CreateFile. Да, именно эта функция.
> .. Разве это не прекрасно? Ладно, мы можем попытаться открыть
> следующее:


      + SoftICE для Win9x : "\\.\SICE"
       + SoftICE для WinNT : "\\.\NTICE"



> Если функция возвращает нам что-нибудь, отличное от -1 (INVALID_HANDLE_VALUE),
>  SoftICE запущен! Далее следует демонстрационная программа:
>


;---[ CUT HERE ]-------------------------------------------------------------

       .586p
       .model  flat

extrn   CreateFileA:PROC
extrn   CloseHandle:PROC
extrn   MessageBoxA:PROC
extrn   ExitProcess:PROC

       .data

szTitle         db      "SoftICE detection",0

szMessage       db      "SoftICE for Win9x : "
answ1           db      "not found!",10
               db      "SoftICE for WinNT : "
answ2           db      "not found!",10
               db      "(c) 1999 Billy Belcebu/iKX",0

nfnd            db      "found!    ",10

SICE9X          db      "\\.\SICE",0
SICENT          db      "\\.\NTICE",0

       .code

DetectSoftICE:
       push    00000000h                       ; Проверяем наличии
       push    00000080h                       ; SoftICE для среды Win9x
       push    00000003h
       push    00000000h
       push    00000001h
       push    0C0000000h
       push    offset SICE9X
       call    CreateFileA

       inc     eax
       jz      NoSICE9X
       dec     eax

       push    eax                             ; Закрываем открытый файл
       call    CloseHandle

       lea     edi,answ1                       ; SoftICE найден!
       call    PutFound
NoSICE9X:
       push    00000000h                       ; А теперь пытаемся открыть
       push    00000080h                       ; SoftICE для WinNT...
       push    00000003h
       push    00000000h
       push    00000001h
       push    0C0000000h
       push    offset SICENT
       call    CreateFileA

       inc     eax
       jz      NoSICENT
       dec     eax

       push    eax                             ; Закрываем хэндл файла
       call    CloseHandle

       lea     edi,answ2                       ; SoftICE для WinNT найден!
       call    PutFound
NoSICENT:
       push    00h                             ; Показываем MessageBox с
       push    offset szTitle                  ; результатами
       push    offset szMessage
       push    00h
       call    MessageBoxA

       push    00h                             ; Завершаем программу
       call    ExitProcess

PutFound:
       mov     ecx,0Bh                         ; Меняем "not found" на
       lea     esi,nfnd                        ; "found"; адрес, где нужно
       rep     movsb                           ; изменить, находится в EDI
       ret

end     DetectSoftICE

;---[ CUT HERE ]-------------------------------------------------------------



> Это действительно работает, поверьте мне :). Тот же метод
> можно применить к "враждебным" драйверам, просто проведите
> небольшое исследование.


И подскажите с функцией для этого кода, ну не знаю я Assembler.


 
oxffff ©   (2006-09-18 20:01) [26]

function Check:boolean;
begin
asm
MOV ebx,fs:[20h];
test ebx,ebx;
jnz @OO;
@NONE: mov result,0;
     jmp @exit;
@OO: mov result,1;
@EXIT:
end;


 
oxffff ©   (2006-09-18 20:09) [27]

Function check2:boolean;
begin
a:=CreateFileA("\\.\NTICE",$0C0000000,1,0,3,$80,0);
if a<>INVALID_HANDLE_VALUE then result:=TRUE
  else
   begin
   CloseHandle(a);
   result:=FALSE;
   end;
end;


 
oxffff ©   (2006-09-18 20:11) [28]

a:THANDLE;


 
oxffff ©   (2006-09-18 20:16) [29]

Сорри перепутал

Function check2:boolean;
var a:THANDLE;
begin
a:=CreateFileA("\\.\NTICE",$0C0000000,1,0,3,$80,0);
if a<>INVALID_HANDLE_VALUE then
  begin
  CloseHandle(a);
  result:=TRUE;
  end
 else
 result:=FALSE;
end;


 
DiX ©   (2006-09-18 20:20) [30]

Че то не работает
function Check:boolean;
begin
asm
MOV ebx,fs:[20h];
test ebx,ebx;
jnz @OO;
@NONE: mov result,0;
    jmp @exit;
@OO: mov result,1;
@EXIT:
end;
end;


условие: если Check=true пишет, что отладчик постоянно присутствует (отладчик не запущен)
условие: если Check=false пишет что программа обратилась к недопустимому адресу и будет закрыта


 
oxffff ©   (2006-09-18 20:29) [31]

Этот код проверяет значение по fs:[20h];
Если 0, то result:=0. Иначе result:=1;

У меня ошибок не вылетает


 
DiX ©   (2006-09-18 20:42) [32]

странно


 
oxffff ©   (2006-09-18 20:45) [33]

Нашел
http://www.wasm.ru/comment.php?artcode=1017001


 
oxffff ©   (2006-09-18 20:47) [34]

fs:[20h] рулит только в Win9x.


 
DiX ©   (2006-09-18 20:49) [35]

function Check:boolean;
begin
asm
MOV ebx,fs:[20h];
test ebx,ebx;
jnz @OO;
@NONE: mov result,0;
   jmp @exit;
@OO: mov result,1;
@EXIT:
end;
end;

Надо сюда вставить проверку винты если 9x то все ок, иначе False;


 
oxffff ©   (2006-09-18 21:32) [36]

VerifyVersionInfo


 
oxffff ©   (2006-09-18 21:46) [37]

fs:[0] - структура TEB


 
DiX ©   (2006-09-19 08:30) [38]

а способа определения отладчиков для winNT никто не знает?


 
Сергей М. ©   (2006-09-19 09:08) [39]


> DiX ©   (19.09.06 08:30) [38]


The IsDebuggerPresent function indicates whether the calling process is running under the context of a debugger.
This function is exported from KERNEL32.DLL.

BOOL IsDebuggerPresent(VOID)

Parameters

This function has no parameters.

Return Value

If the current process is running in the context of a debugger, the return value is nonzero.
If the current process is not running in the context of a debugger, the return value is zero.


 
Barloggg   (2006-09-19 09:30) [40]

а как насчет многоуровневой обороны?

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

интересно... хоть кто-нибудь из здесь присутствующих пользовался приемом "безумного кода"?


 
Cash ©   (2006-09-19 10:11) [41]

DiX ©   (17.09.06 18:27) :
Вариант с API:
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;


 
Elen ©   (2006-09-19 11:42) [42]


> DiX

Сами кракеры признаются что ломать мультипоточность - геморрой. Ставь проверки Хеш кода проги в разных потоках и пусть запускаются  через некоторое время (например из службы)


 
oxffff ©   (2006-09-19 13:00) [43]

Ну ну


 
oxffff ©   (2006-09-19 13:04) [44]

Трудность вызывает. Постоянно шифровка, расшифровка кода,
Для Усложнение снятия dump"a. полиморфный код.
И нетривильные вызовы. Постоянная модификация памяти. Все это с постоянным кодом-мусором.


 
SPACE!!   (2006-09-19 17:35) [45]

А ведь отладчики пользуются специфичными API функциями почему нельзя поставить HOOK на них ? И как насчет внедрение DLL в SoftIce ?


 
DiX ©   (2006-09-19 19:01) [46]

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;


При запуске программы из Delphi выдает, что присутствует отладчик, а если запускать просто, то отладчика не обнаруживает (Delphi не закрыт), это нормально?


 
Ketmar ©   (2006-09-19 19:19) [47]

да. Delphi -- тоже отладчик.


 
Cash ©   (2006-09-19 21:25) [48]

DiX ©   (19.09.06 19:01) [46]:
Delphi это не RunTime отладчик, как SoftICE.
Запусти WinDeASM или IDAPro и под ними запусти этот тест, он даст
положительный результат, а если тест запускать просто так и SoftICE-а
нет, то тест даст отрицательный результат.

API нужа только для того, чтобы определить, отлаживается ли программа.


 
Ketmar ©   (2006-09-20 15:59) [49]

вообще-то "умный" отладчик так просто не обнаружишь. IsDebuggerPresent() всего лишь берёт флаг, который умный отладчик обнуляет. чтобы понять, отаживают ли тебя -- надо лезть глубоко в ливер винды.


 
DillerXX ©   (2006-09-20 16:22) [50]

Нужно всего-то перехватить эту функцию и возвращять всегда false и всё..


 
Ketmar ©   (2006-09-20 16:57) [51]

>[50] DillerXX(c) 06-09-20 16:22
>Нужно всего-то перехватить эту функцию
нормальная программа за такое бьёт по рукам.


 
DiX ©   (2006-09-24 21:25) [52]

А как реализовать защито от OllyDBG?


 
SergP ©   (2006-09-24 22:02) [53]

> [22] Eraser ©   (18.09.06 19:36)
> > [19] oxffff ©   (18.09.06 19:33)
>
> и пусть ломается, главное чтобы кей-ген не сделали, особенно
> если в программе есть ограничение на число пользователей
> в зависимости от лицензии.


НЕ сделают кейген, так патч напишут.... А разница то какая? Все равно взломают....


 
Ketmar ©   (2006-09-24 22:40) [54]

>[52] DiX(c) 24-Sep-2006, 21:25
>А как реализовать защито от OllyDBG?
вежливо попросить юзера не запускать софтину под отладчиком. всё остальное -- сломают в два счёта, если надо будет.


 
Eraser ©   (2006-09-24 22:41) [55]

> [53] SergP ©   (24.09.06 22:02)

разница ОГРОМНАЯ!


 
Ketmar ©   (2006-09-24 22:55) [56]

>[55] Eraser(c) 24-Sep-2006, 22:41
>разница ОГРОМНАЯ!
да никакой, на самом деле. ну, перестанет работать со следующим билдом -- и что? опять сломают, если надо. вся эта беда у опытных кракеров делается очень быстро.


 
Eraser ©   (2006-09-24 23:59) [57]

> [56] Ketmar ©   (24.09.06 22:55)

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


 
Ketmar ©   (2006-09-25 00:01) [58]

>[57] Eraser(c) 24-Sep-2006, 23:59
>однако найди мне кряк на последнюю версию того же
>радмина.. вряд ли удастся.
а я и не использовал его никогда. VNC да твой ROM. правда, ROM пришлось снести перед увольнением -- им-то ключа никто не давал. %-)


 
Eraser ©   (2006-09-25 00:05) [59]

> [58] Ketmar ©   (25.09.06 00:01)

но все таки есть ряд категорий программ, где усложнение взлома дает таки результат. Пример из жизни - программа для администрирования интернет кафе/игровых залов, владельцу инет кафе (мой знакомы) таки пришлось купить лицензии, потому что задолбался ждать кряки на версии с кретическими обновлениями. А вот если кейген сворганят - гиблое дело..


 
Ketmar ©   (2006-09-25 00:09) [60]

>[59] Eraser(c) 25-Sep-2006, 00:05
>А вот если кейген сворганят - гиблое дело..
кто мешает в каждой версии менять алгоритм генерации/проверки ключей?


 
Eraser ©   (2006-09-25 00:15) [61]

> [60] Ketmar ©   (25.09.06 00:09)

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


 
Ketmar ©   (2006-09-25 00:18) [62]

>[61] Eraser(c) 25-Sep-2006, 00:15
>а как же законопослушные юзеры?
пусть программа сама с сайта обновления качает. %-) в смысле -- присылается вместе с ключом дополнительный модуль, жёстко "заточеный" на один ключ, и потом он сам именно этот ключ обновляет. ну и кое-какую служебную информацию правит в главном модуле, например. %-)


 
Gero ©   (2006-09-25 00:25) [63]

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


 
Eraser ©   (2006-09-25 00:27) [64]

> [62] Ketmar ©   (25.09.06 00:18)

вот только проблема, что постоянный инет не у всех есть. Да и крякнут основной модуль, и он будет "принимать" любые доп. модули :))


 
Ketmar ©   (2006-09-25 00:30) [65]

>[64] Eraser(c) 25-Sep-2006, 00:27
>Да и крякнут основной модуль, и он
>будет "принимать" любые доп. модули :))
да всё крякнут, всё. потому нечего заморачиваться. %-)
эвон, от "активации" WinXP, например, одни неприятности. знаю множество народу, которые крякают даже лицензионную винду. потому что достаёт. %-)


 
DrPass ©   (2006-09-25 00:32) [66]

ИМХО, фигня все это. Ну будет в программе функция отлова наличия SoftICE. И что тогда? Хацкер первым делом дотрассирует до ее вызова, отключит ее, а потом продолжит дальше. Эффективнее сделать несколько уровней защиты - один явный и пару скрытых, с запаздыванием в несколько дней/недель. Т.е. первый будет взломан, и душа Злодея умиротворенно отвалит, а слуги Злодея помчат штамповать пиратские диски и продавать их на радиорынках. Юзеры с радостью кинутся покупать эту софтину, ставить ее себе - а тут фигушки! Через пару недель оно все равно начинает ругаться и слать кляузы в Интерпол


 
Ketmar ©   (2006-09-25 00:34) [67]

ну да. "размазать" защиту по всей программе. причём не вызовом одной процедуры во многих местах, а прямым дубляжом кода.


 
Eraser ©   (2006-09-25 00:35) [68]

> [65] Ketmar ©   (25.09.06 00:30)


> да всё крякнут, всё. потому нечего заморачиваться. %-)

во! вот это правильно! об чем и твержу с самого начала ветки ;-)


 
Gero ©   (2006-09-25 00:37) [69]

> [67] Ketmar ©   (25.09.06 00:34)

Защита должна быть неразрывной частью программы. Это не дубляж кода, это большее, когда защита растет и развивается вместе с остальным кодом.


 
Gero ©   (2006-09-25 00:37) [70]

> с остальным кодом

с основным кодом


 
Gero ©   (2006-09-25 00:40) [71]

> да всё крякнут, всё. потому нечего заморачиваться. %-)

Интересует не столько итог, сколько предшествующее ему положение. А то, по этому логике можно не мыться, не стричься, не чистить зубы. Да и вобще не жить, все равно умирать ведь.


 
DrPass ©   (2006-09-25 00:43) [72]


> Защита должна быть неразрывной частью программы

ДА! В идеально защищенной программе кроме защиты вообще ничего не должно быть. И спор "если встретятся идеально защищенная программа и идеальный хакер, то кто кого сделает?" до сих пор одолевает умы лучших философов мира


 
Ketmar ©   (2006-09-25 01:03) [73]

>[69] Gero(c) 25-Sep-2006, 00:37
>Защита должна быть неразрывной частью программы.
и во сколько встанет разработка и поддержка? нафиг-нафиг. %-)


 
DiX ©   (2006-09-25 17:38) [74]

Я согласен против хороших хакеров/крекеров большинство защит бессильно, но они отстраняют от кода программы всяких начинающих. Незащещенную программу может вскрыть любой школьник умеющий пользоваться отладчиком. Если ваша программа выполняет какие-либо финансовые операции то лучше подойти к ее защите с умом и как можно грамотней все зделать.


 
Eraser ©   (2006-09-25 17:50) [75]

> [74] DiX ©   (25.09.06 17:38)


> Если ваша программа выполняет какие-либо финансовые операции
> то лучше подойти к ее защите с умом и как можно грамотней
> все зделать.

каким образом это связано с тем, что программа выполняет финансовые операции?



Страницы: 1 2 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.67 MB
Время: 0.044 c
3-1155278255
wipr
2006-08-11 10:37
2006.10.15
Сменить программно свойство таблицы "Table language"


11-1132744014
igi
2005-11-23 14:06
2006.10.15
VMHSyntaxEdit как юзать?


2-1158950941
spaider
2006-09-22 22:49
2006.10.15
Принтер


15-1158672385
ProgRAMmer Dimonych
2006-09-19 17:26
2006.10.15
Собрать много DJVU в 1


15-1159082637
AntiUser
2006-09-24 11:23
2006.10.15
Форум по Oracle?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский