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

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

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

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


Гость






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

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

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

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

Просьба обьяснить это попонятней, поскльку я новичок в программировании.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 6.11.2025 1:42
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name