HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1791  
Старый 18.06.2008, 18:19
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Шифрование исполняемого файла

В данном примере реализована процедура шифрования и расшифрования
одной только процедуры "вывода сообщения".Процедура изночально
не зашифровано ,что ни есть хорошо.Для того что бы процедура была
при запуске программы уже зашифрована надо написать внешнюю программку,
которая ба сканировала ехе-шник и находила определенные метки
(начальную и конечную) и шифровала бы всё между ними.Таким образом
вы получите готовый ехе-шник с уже зашифрованой(зашифрованым )процедурой.

Для того чтоб некоторым умным людям (crackers)жить было не легко,
после расшифровки и выполнения процедуры можно её опять зашифровать.

Более потробную информацию читайте в статье на «Королевства Delphi»
http://delphi.vitpc.com/mastering/safe/safe.htm

Там же читайте Открытый проект "Анти крэковые мучения"
http://delphi.vitpc.com/mastering/safe/index.htm

Зависимости: Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,Dialogs, StdCtrls;
Автор: DDA, Vologda
Copyright: «Королевства Delphi» Защита от несанкционированного
использования программ, написанных на Delphi
Дата: 3 марта 2004 г.
************************************************** *** }

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure metka1;
//Начальная метка - нужна что бы находить потом в exe файле эти символы и знать
//откуда начинать шифровать
//Здесь метка представляет из себя десятичные числа от 0 до 256 через запятые
//Если метка 50,60,70,80,90 то это соответствует символам 2<FPZ
//Кстати, такого кол-во символов в метке может быть мало и лучше использовать больше
//Т.к если программа большая то такие последовательности могут встретиться не один раз
begin
asm
DB 50,60,70,80,90 //2<FPZ это метка начальная
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
beep;
ShowMessage('Период использования программы истёк!');
end;

procedure metka2;
//Конечная метка - нужна чтобы знать до куда нужно шифровать в файле и
//докуда расшифровывать в памяти
begin
asm
DB 68,68,67,45,61 //DDA-= это метка конечная
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
//Процедура Расшифрования(В даном примере и зашифрования)
var
ptrAddr: Pointer; {для Адреса процедуры вывода сообщения}
dwOldProtect: DWORD;
begin
ptrAddr := @TForm1.Button1Click; //Получаем адрес процедуры вывода сообщения
VirtualProtect(@TForm1.Button1Click, 2048, PAGE_READWRITE, @dwOldProtect);
//2048 это размер в байтах с которыми можно работать(по моему)
//Если процедура большая то нужно подбирать соответствующий размер
while ptrAddr <> @metka2 do
//шифрование(слабое) выполняем пока не дойдем то конечной метки
begin
Byte(ptrAddr^) := Byte(ptrAddr^) xor $41;
//каждый байт в памяти ксорится с кодом 65'A'(к примеру)
//Используйте более надёжные алгоритмы шифрования
inc(Integer(ptrAddr));
end;

exit; //нужно так сделать что б компилятор включил эти процедуры
metka1; //в код,т.к Delphi не вставляет в результирующий код процедуры,
metka2; //которые никогда не используются
end;

//Такое шифрование взято для примера и не рекомендуется для использования серьёзной защиты
//Также рекомендуется использовать и проверочную контрольную сумму для проверки
//целостности кода программы.
//Теперь осталось только сделать отдельную программу которая искала бы
//в этом exe файле начальную и конечную метки и шифровало бы всё между ними
//Но для демонстрации можно посмотреть результат и сейчас
//Запустите программу и нажмите на кнопку 1 -Должно вывестись сообщение и звук.сигнал
//А если нажать на кнопку 2 - то прцедура нажатия на кнопку 1 зашифруется
//И если после этого нажать на кнопку 1 -то должно произойти что-то не предсказуемое
//т.к процедура зашифрованна и что-то нормального вы не увидите.

//Источник информации: CopyRight «Королевства Delphi»
//"Защита от несанкционированного использования программ, написанных на Delphi"

end.
(c) DelphiWorld
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #1792  
Старый 18.06.2008, 19:13
SNAIPER ShoT
Познающий
Регистрация: 24.06.2007
Сообщений: 36
Провел на форуме:
177842

Репутация: 5
Отправить сообщение для SNAIPER ShoT с помощью ICQ
По умолчанию

А мне так с длл и не кто не поможет ?
 
Ответить с цитированием

  #1793  
Старый 18.06.2008, 22:31
Dr.Bodja
Познающий
Регистрация: 27.08.2006
Сообщений: 52
Провел на форуме:
338724

Репутация: 15
По умолчанию

Ребята помогите пожалуйста. Суть задачи, нужно из Label.Caption сохранить данные в файл, это у меня получилось быстро, опыт работы с паскалем имею, но мне хочется, чтобы путь не был сразу прописан, и чтобы его не вводить в строку edit, а чтобы была кнопка "Обзор" после нажатия которой, появлялось окошко windows где можно было бы выбрать путь, куда сохранять файл. Зарание спасибо.

Последний раз редактировалось Dr.Bodja; 18.06.2008 в 22:40..
 
Ответить с цитированием

  #1794  
Старый 18.06.2008, 23:13
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме:
1509352

Репутация: 132
Отправить сообщение для qPhoenix с помощью ICQ
По умолчанию

2 Dr.Bodja
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var Fil:TextFile;
    SaveDialog1:TSaveDialog;
begin
 SaveDialog1:=TSaveDialog.Create(nil);
 if SaveDialog1.Execute then
 begin
  assignfile(Fil,SaveDialog1.FileName);
  //...//
 end;
 SaveDialog1.Free;
end;
 
Ответить с цитированием

  #1795  
Старый 19.06.2008, 14:09
Dr.Bodja
Познающий
Регистрация: 27.08.2006
Сообщений: 52
Провел на форуме:
338724

Репутация: 15
По умолчанию

Спасибо большое!
 
Ответить с цитированием

  #1796  
Старый 19.06.2008, 15:44
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Цитата:
Сообщение от SNAIPER ShoT  
А мне так с длл и не кто не поможет ?
Ты получается хочешь инжектиться в hl.exe, проще говоря в халяву, не объясняешь толком что именно нужно и требуешь результата.

Опиши все, что необходимо получить в результате твоих действий, что ты реализуешь, и как оно должно работать, или читай про перехват API.

Последний раз редактировалось 0verbreaK; 19.06.2008 в 15:47..
 
Ответить с цитированием

  #1797  
Старый 19.06.2008, 16:32
A2GIL
Познающий
Регистрация: 31.08.2007
Сообщений: 94
Провел на форуме:
422909

Репутация: 200
Отправить сообщение для A2GIL с помощью ICQ
По умолчанию

Цитата:
Сообщение от Nightmarе  
Ага спс, а дальше всего то АСМ выучить и только...
Я просил рабочий код, а это я никогда в рабочее состояние не приведу.
У меня уже есть свой готовый алгоритм шифрования с открытым ключём, обычный текст шифрует замечательно, а вот как с бинарным кодом быть...
+W!z@rD

Еще вот простенький модуль (без асм вставок) для щифрования исполняемых файлов:

Скачать (Crypting)

Пользоваться так, к примеру:

Код:
var
procedure TForm1.Button1Click(Sender: TObject);
var
 key:TWordTriple;
begin
key[0]:=1; key[1]:=2; key[2]:=3;
FileEncrypt('C:\123.exe','C:\new123.exe',key);

{FileDecrypt('C:\new123.exe','C:\new123.exe',key,true);}
end;
 
Ответить с цитированием

  #1798  
Старый 19.06.2008, 16:58
hoty
Познающий
Регистрация: 20.05.2008
Сообщений: 81
Провел на форуме:
224517

Репутация: 32
По умолчанию

Стояла у меня одна ОС:
смена языка (русский/английский) производилась нажатием shift & alt.
в Паскале 7.0 нужно было нажимать shift & ctrl.

Сейчас стоит таже ОС (более новая):
смена языка производится нажатием shift & ctrl (изначально в системе так).
но в Паскале НИКАК не могу изменить язык.

Подскажите, какими ЕЩЕ клавишами (мне срочно нужно комментарии в программах писать по русски) можно изменять язык в Паскале. Что только не нажимал.
 
Ответить с цитированием

  #1799  
Старый 19.06.2008, 18:01
qPhoenix
Banned
Регистрация: 15.12.2005
Сообщений: 95
Провел на форуме:
1509352

Репутация: 132
Отправить сообщение для qPhoenix с помощью ICQ
По умолчанию

Попробуй и в этой ОС поменять сочетание на shift & alt

Либо копипасти в текстовик и там добавляй коменты ))
 
Ответить с цитированием

  #1800  
Старый 19.06.2008, 18:16
rankor777
Познающий
Регистрация: 11.01.2008
Сообщений: 42
Провел на форуме:
95213

Репутация: 49
Отправить сообщение для rankor777 с помощью ICQ
По умолчанию

А мне с модулем поможете?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ