Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Вниз

защита   Найти похожие ветки 

 
Платоха   (2007-07-18 18:56) [0]

слышал сущ. проги - дебаггеры, с помощью которых можно вытащить код программы. Написал программу с собственно разработанным алгоритмом,и очень не хотелось бы чтобы его кто то узнал. Существует ли защита от "таких" программ? что посоветуете, куда копать?
Спасибо :)


 
grisme ©   (2007-07-18 20:30) [1]

копать в сторону format C:


 
DrPass ©   (2007-07-18 20:40) [2]


> Существует ли защита от "таких" программ?

Нет. Только яд поможет


 
Tack ©   (2007-07-18 21:14) [3]

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


 
Dimaxx ©   (2007-07-18 21:15) [4]

Ну вот тебе "защита" от SoftIce... :)

unit StopIce;

{
 Anti debug unit. Detect SoftIce and shutdown Windows.

 Delphi 2,3,4,5,6
 Freware with source.

 Copyright (c) 1998-2001, SoftLab MIL-TEC Ltd
 Web:   http://www.softcomplete.com
 Email: support@softcomplete.com

 THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED
 "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR
 ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED.
 NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
 THE USER MUST ASSUME THE ENTIRE RISK OF USING THE ACCOMPANYING CODE.

 Permission is granted to anyone to use this software for any purpose,
 including commercial applications, and to alter it and redistribute it
 freely, subject to the following restrictions:

 1. The origin of this software must not be misrepresented, you must
    not claim that you wrote the original software. If you use this software
    in a product, an acknowledgment in the product documentation
    would be appreciated but is not required.
 2. Altered source versions must be plainly marked as such, and must not be
    misrepresented as being the original software.
 3. Original copyright may not be removed or altered from any source
    distribution.
}

interface

implementation

uses Windows;

Function IsSoftIce95Loaded: boolean;
Var hFile: Thandle;
Begin
 result := false;
 hFile := CreateFileA("\\.\SICE", GENERIC_READ or GENERIC_WRITE,
   FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
   FILE_ATTRIBUTE_NORMAL, 0);
 if( hFile <> INVALID_HANDLE_VALUE ) then begin
   CloseHandle(hFile);
   result := TRUE;
 end;
End;

Function IsSoftIceNTLoaded: boolean;
Var hFile: Thandle;
Begin
 result := false;
 hFile := CreateFileA("\\.\NTICE", GENERIC_READ or GENERIC_WRITE,
   FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING,
   FILE_ATTRIBUTE_NORMAL, 0);
 if( hFile <> INVALID_HANDLE_VALUE ) then begin
   CloseHandle(hFile);
   result := TRUE;
 end;
End;

function WinExit(flags: integer): boolean;
 function SetPrivilege(privilegeName: string; enable: boolean): boolean;
 var tpPrev,
     tp         : TTokenPrivileges;
     token      : THandle;
     dwRetLen   : DWord;
 begin
   result := False;
   OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, token);
   tp.PrivilegeCount := 1;
   if LookupPrivilegeValue(nil, pchar(privilegeName), tp.Privileges[0].LUID) then
   begin
     if enable then
       tp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
     else
       tp.Privileges[0].Attributes := 0;
     dwRetLen := 0;
     result := AdjustTokenPrivileges(token, False, tp, SizeOf(tpPrev), tpPrev, dwRetLen);
   end;
   CloseHandle(token);
 end;
begin
 if SetPrivilege("SeShutdownPrivilege", true) then begin
   ExitWindowsEx(flags, 0);
   SetPrivilege("SeShutdownPrivilege", False)
 end;
end;

initialization
 if IsSoftIce95Loaded or IsSoftIceNTLoaded then begin
   WinExit(EWX_SHUTDOWN or EWX_FORCE);
   Halt;
 end;
end.


 
Сергей М. ©   (2007-07-19 09:46) [5]


> что посоветуете, куда копать?


Копай в сторону Themida 2.x

На сей момент это одна из наиболее эффективных технологий защиты от дизассемблирования и трассировки.

Китайцы, лучшие друзья всех хакеров и халявщиков, пока научились только распаковывать обработанные Темидой модули, дальше дело у них пока не продвинулось)


 
rainy_moments   (2007-07-19 12:00) [6]


> копать в сторону format C:
</I
Это тоже может не  спасти


 
Shamansky_ne ©   (2007-07-19 12:23) [7]

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


 
Stanislav ©   (2007-07-19 12:26) [8]

Платоха   (18.07.07 18:56)  
А что за сверхсекретный алгоритм можна узнать? Что делает?


 
iXT ©   (2007-07-19 12:28) [9]

> [8] Stanislav ©   (19.07.07 12:26)
> А что за сверхсекретный алгоритм можна узнать? Что делает?

begin
 Write("Hello World");
end;
:)


 
Shamansky_ne ©   (2007-07-19 12:34) [10]

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


 
MOO   (2007-07-19 18:32) [11]


> дебаггеры, с помощью которых можно вытащить код программы

Ну Вообще-то дебагеры не могут вытащить код программы.


> Написал программу с собственно разработанным алгоритмом,
> и очень не хотелось бы чтобы его кто то узнал.

Ты имеешь ввиду алгоритм чего?...
ЗЫ Если прога нужная её всё равно сломают=)


 
Платоха   (2007-07-19 22:00) [12]


> обычно пытаются спрятать бизнес-логику, а не алгоритмы.

типо этого.

> А что за сверхсекретный алгоритм можна узнать? Что делает?

Именно поэтому и понадобилось обезопасить программу.
Всем спасибо за ответы. Есть над чем подумать.



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

Форум: "Начинающим";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.039 c
15-1184481774
Kolan
2007-07-15 10:42
2007.08.12
Какой таб открыть следующий или пред идущий? Вопрос по UseAbility


15-1184593403
TStas
2007-07-16 17:43
2007.08.12
Как снести брандмауэр


15-1184656246
Тульский
2007-07-17 11:10
2007.08.12
Open Office Calc и первичные ключи


15-1184597966
TStas
2007-07-16 18:59
2007.08.12
Длинные ветки в поболталовке


1-1181045623
Kolan
2007-06-05 16:13
2007.08.12
Какие могут быть причины не попасть в код потока после Resume?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский