IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Защита от взлома, Есть ли она?
Славик
сообщение 17.02.2005 23:27
Сообщение #1


Гость






Всем привет. И спасибо за быстрые отклики в предыдущих темах.

Я искал на вашем форуме, но не нашел... по поводу вопроса:

Можно ли взломать ".exe" файл созданный на Турбо паскале 7 ? (чтобы был виден алгоритм)
Как это можно сделать?

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

Просьба обьяснить это попонятней, поскльку я новичок в программировании.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Romtek
сообщение 22.02.2005 23:19
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


Советую прочитать статьи в CRACKL@B: http://www.cracklab.ru/art/
Крутая защита или CRACKL@B CrackMe #1
Исследование защит shareware-программ
Там много полезной информации. Чтобы защищать программы, надо немного самому уметь ломать программы. Или хотя бы знать на что обращать внимание, где слабые места и всё такое.

Вот ещё тебе кусок, для старта:
Код
(* Проверка правильности ввода строки *)

//uses
//     SysUtils;

Type
 BoolProc = function (s: string): boolean;
 PBoolProc = ^BoolProc;

Const
 HashSum: longint = 3412; // это, скорее всего, слабое место

var
 str: string;

Function Hash (Key: string): Longint;
Var
 I,
 Sum:Integer;
Begin
Sum := 0;
For I := 1 To Length (Key) Do
 Sum := Sum + (Ord (Key[I]) * (1 shl I));
Result := Sum;
End;

function Passed (ss: string): boolean;
begin
    Result := (Hash (ss) = HashSum);
end;

procedure TestPsw (f: BoolProc);
var
 b: boolean;
begin
    b := f (str);
    writeln ('Passed test: ', b);
end;

var
 pp: pointer;

begin
    write ('Enter password: ');  readln (str);

    pp := @Passed;

// ***  Debugging:
//     writeln (IntToHex(Longint(@Passed),8));
//     writeln (IntToHex(Longint(pp),8));

    // здесь надо сбить кракера с толку (самый наивный способ :-)
    asm
      inc PP  //если изменить адрес вызываемой функции проверки, то произойдёт ошибка
      dec PP //чтобы ошибка не произошла, здесь я возвращаю указатель обратно
    end;

    TestPsw (PP);
end.

В ней наверняка есть слабые места, но для начала сойдёт.


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Славик   Защита от взлома   17.02.2005 23:27
xds   1) общая идея алгоритма видна без взлома ;); 2) д...   18.02.2005 2:59
Славик   Обьясни пожалуйста свой первый пункт. Как это видн...   18.02.2005 15:45
Altair   это не возможно, что бы совсем не подкопаться, ког...   18.02.2005 16:04
SKVOZNJAK   Используй побольше GOTO и констант, правильное зна...   18.02.2005 16:11
SHnur   также можеш использовать побольше break , exit , h...   18.02.2005 16:32
SKVOZNJAK   exit , halt, repeat, until легко эмулируются при п...   18.02.2005 16:38
xds   Раз ты догадался, что задача может быть решена не...   18.02.2005 16:44
Славик   Спасибо всем за отзывы. Кое что пересмотрю... Ес...   18.02.2005 17:15
SKVOZNJAK   GOTO не такое слабое как кажется. Допустим у тебя ...   19.02.2005 2:39
xds   Например, машинный код цеплялют (до сих пор, сцен...   19.02.2005 4:29
Михаил Густокашин   можно устроить xor с паролем на критический участо...   20.02.2005 10:18
ZeroLink   Для защиты: 1) Шифруй все надписи типа "Cop...   20.02.2005 14:15
Славик   Некоторые предложения мне подойдут. Спасибо Вам...   20.02.2005 18:40
volvo   :blink: Так какая же из них после этого главная...   20.02.2005 18:50
Altair   Он говрил не про ХОГ а про xor (XOR) - это команд...   20.02.2005 19:24
Славик   Так какая же из них после этого главная? Если нап...   20.02.2005 19:37
volvo   Как я могу отвечать на конкретные вопросы, не имея...   20.02.2005 19:45
Славик   Какая ОС, какие права (пользователь, админ...   20.02.2005 19:53
Altair   Да можно сркыть все что угодно, можно сделать проц...   20.02.2005 20:04
Guest   Речь о любой программе. Сейчас, или потом, прийд...   20.02.2005 20:21
Altair   так нажо писать программу, шифрования текста, так...   20.02.2005 20:55
Romtek   Вставляй процедуры в критические места программы. ...   22.02.2005 1:15
SKVOZNJAK   Тема очень интересная и не все способы защиты здес...   22.02.2005 10:19
Guest   Oleg_Z Я считаю, что защиты требует создатель, на...   22.02.2005 15:16
SKVOZNJAK   Как продвигается дизасемблирование проги ;)   22.02.2005 21:46
Romtek   Советую прочитать статьи в CRACKL@B: http://www.cr...   22.02.2005 23:19
SKVOZNJAK   Нда, защита, взлом, а в текстовом визуализаторе ни...   24.02.2005 15:56
Digitalator   Не думаю, что это правильный ход мыслей. Довольно...   6.03.2005 21:47
Dark   Если вы решили защитить вашу информацию то мааален...   9.03.2005 5:41
Romtek   Вот ещё исходник на FPC (Free Pascal), который лег...   21.07.2005 23:14


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 16.07.2025 23:13
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"