Текущий архив: 2006.10.15;
Скачать: CL | DM;
ВнизЗащита от вмешательства Найти похожие ветки
← →
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.61 MB
Время: 0.048 c