Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2012, 03:29   #1
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию Шифрование

Всем доброго времени суток. Столкнулся с такой проблемой. На днях написал программу, хоть и простую, но над ней долго пыхтел. И решил ради интереса взглянуть на неё через HEX - редактор.

К сожалению, этим HEX - редактор можно будет перебить достаточно много информации.

Вопрос такой, возможно ли каким нибудь образом защитить так скажем исходники программы от исправления их через HEX - редактор.
Если да, то хотелось бы увидеть какие нибудь наглядные примеры )))
-Jack- вне форума Ответить с цитированием
Старый 17.04.2012, 09:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Закриптуй любым протектором типа UPX и дело в шляпе
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2012, 13:42   #3
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Думал об этом, но есть 1 минус ... не 1 пробывал
1. протектор можно легко взять
2. Очень часто на них ругаются антивирусы
-Jack- вне форума Ответить с цитированием
Старый 17.04.2012, 13:47   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
-Jack-
Видишь ли. даже если не удается в ХЕКС редакторах править, всегда под руокй может найтись какой-нить SoftIce, который все твои криптования все равно покажет. Ведь когда-то в ходе работы проги тебе понадобится расшифровку делать - этого не скрыть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2012, 13:47   #5
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

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

Последний раз редактировалось -Jack-; 17.04.2012 в 14:18.
-Jack- вне форума Ответить с цитированием
Старый 17.04.2012, 13:55   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Даже не знаю... ИМХО овчинка выделки не стоит. Сам быстро запутаешся вскоре.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.04.2012, 14:14   #7
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Всё, разобрался сам, буду пробовать )))

Последний раз редактировалось -Jack-; 17.04.2012 в 14:18.
-Jack- вне форума Ответить с цитированием
Старый 18.04.2012, 23:41   #8
Андрей19930323
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 17
По умолчанию

хочу разобраться в шифровании текста с помощью шифра Гронсфельда. нашёл текст программы, так всё понятно кроме одного действия((
(K [(pred(i) mod length(K)) + 1]) - что оно выполняет?((

Код:
program Kriptograf; 
function Shifr ( Kod, K : string ): string; 
var i,t,d : integer; 
begin for i:=1 to length (Kod) do begin 
d:=ord (Kod[i]); 
t:= (ord(Kod[i]) + (ord (K [(pred(i) mod length(K)) + 1]) - ord('0'))); 
if t>=256 then dec (T,256); 
Kod[i]:=Chr(t); 
end; 
Shifr := Kod; 
end; 

var 
a,k,s:string; 

Begin 
writeln('vvedite slovo'); 
readln(a); 
writeln('vvedite kluch'); 
readln(k); 
s:= Shifr(a,k); 
writeln('s= ', Shifr (a, k)); 
readln; 
End.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.04.2012 в 23:49.
Андрей19930323 вне форума Ответить с цитированием
Старый 19.04.2012, 00:03   #9
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сообщение от -Jack- Посмотреть сообщение
Всем доброго времени суток. Столкнулся с такой проблемой. На днях написал программу, хоть и простую, но над ней долго пыхтел. И решил ради интереса взглянуть на неё через HEX - редактор.

К сожалению, этим HEX - редактор можно будет перебить достаточно много информации.

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

Никак. Рано или поздно, вы эти строки сами же дешифруете и используете.

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

Можно использовать мощьные средства, типа VMProtect, ASProtect, Enigma, но сути не меняет. Рано или поздно вы сами расшифруете эти строки. Да и протекторы успешно палятся антивирусами, особенно VMProtect, от которого АВ просто в бешеной панике с пеной у рта.
Да и веса к exe добовляют. Надо оно или нет?


P.S. UPX - это НЕ ПРОТЕКТОР!, а упаковщик, не надо путить дерево с доской.


Андрей19930323, не суйтесь не в свою тему.

Цитата:
t:= (ord(Kod[i]) + (ord (K [(pred(i) mod length(K)) + 1]) - ord('0')));
Ord возвроащает код символа ввиде числа. К приверу знак © вернет код 0169.
mod - деление без остатка.

Последний раз редактировалось Человек_Борща; 19.04.2012 в 00:09.
Человек_Борща вне форума Ответить с цитированием
Старый 19.04.2012, 00:23   #10
Андрей19930323
Пользователь
 
Регистрация: 18.04.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение

Андрей19930323, не суйтесь не в свою тему.


Ord возвроащает код символа ввиде числа. К приверу знак © вернет код 0169.
mod - деление без остатка.
все эти стардартные функции Delphi я знаю, только не могу понять совокупность стандартных функций этой части (K [(pred(i) mod length(K)) + 1])
Андрей19930323 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование sweeach Компоненты Delphi 3 03.08.2010 02:01
Шифрование gusluk Работа с сетью в Delphi 6 12.04.2010 04:33
Шифрование на С Jasper92 Общие вопросы C/C++ 1 23.12.2009 10:05
шифрование на С# innei Помощь студентам 0 08.04.2009 22:00