ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

17.06.2008, 21:59
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Сообщение от SNAIPER ShoT
эта dll'ka просто должна влезть в другой процесс. Тоесть когда я нажимаю на лоад мой exe должен прятатся в Древо процессов... Вот а dll'ka просто должна загружатся вся в процес hl.exe  мож кто знает такой.
Перехват API функций.
http://www.wasm.ru/article.php?article=apihook_1
http://www.wasm.ru/article.php?article=apihook_2
http://www.wasm.ru/article.php?article=apihook_3
ЗЫ, мне кажется это не для новичков.
|
|
|

18.06.2008, 00:10
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Подскажите 2 команды как мне зашифровать бинарный (.exe) файл, а так-же расшифровать его потом к исходному виду???
Вот например алгоритм шифрования текста:
memo.text:=code(memo.text);
Вот дешифрование:
memo.text:=decode(memo.text);
А можно ли тоже самое проделать с бинарным файлом???
Пробовал через TMemoryStream, File и т.д... Но как там считать текст, и уж тем более куда-то записать ХЗ...
Очень желательно подробный готовый пример.
|
|
|

18.06.2008, 00:58
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от Nightmarе
Подскажите 2 команды как мне зашифровать бинарный (.exe) файл, а так-же расшифровать его потом к исходному виду???
Вот например алгоритм шифрования текста:
memo.text:=code(memo.text);
Вот дешифрование:
memo.text:=decode(memo.text);
А можно ли тоже самое проделать с бинарным файлом???
Пробовал через TMemoryStream, File и т.д... Но как там считать текст, и уж тем более куда-то записать ХЗ...
Очень желательно подробный готовый пример.
На винапи в данном случае я думаю будет очень легко.
Читаем файл в массив байтов через ReadFile(), потом шифруем побайтово после чего записываем массив в файл через WriteFile 
|
|
|

18.06.2008, 11:36
|
|
Познающий
Регистрация: 11.01.2008
Сообщений: 42
Провел на форуме: 95213
Репутация:
49
|
|
всем прив! вопрос такой: пишу прогу, для нее необходим юнит Ariphm.dcu, в комплекте с Борланд Делфи7 он не идет, гугл не помогает. подскажите плз, где его взять?
заранее спс )
|
|
|

18.06.2008, 16:51
|
|
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме: 801879
Репутация:
337
|
|
Nightmarе
Assembler. Простейший алгоритм шифрования строк
Просто всавь его в процедуру...
Примерно так:
Код:
procedure code; stdcall;
var bufsize: DWORD;
buffer: byte;
asm
pushad
mov ecx, bufsize
mov esi, 0
L1:
xor buffer[esi], KEY
inc esi
loop L1
popad
ret
......................
end;
|
|
|

18.06.2008, 16:58
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Ага спс, а дальше всего то АСМ выучить и только...
Я просил рабочий код, а это я никогда в рабочее состояние не приведу.
У меня уже есть свой готовый алгоритм шифрования с открытым ключём, обычный текст шифрует замечательно, а вот как с бинарным кодом быть...
|
|
|

18.06.2008, 18:19
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
{ **** 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...
|
|
|

18.06.2008, 19:13
|
|
Познающий
Регистрация: 24.06.2007
Сообщений: 36
Провел на форуме: 177842
Репутация:
5
|
|
А мне так с длл и не кто не поможет ? 
|
|
|

19.06.2008, 15:44
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Сообщение от SNAIPER ShoT
А мне так с длл и не кто не поможет ? 
Ты получается хочешь инжектиться в hl.exe, проще говоря в халяву, не объясняешь толком что именно нужно и требуешь результата.
Опиши все, что необходимо получить в результате твоих действий, что ты реализуешь, и как оно должно работать, или читай про перехват API.
Последний раз редактировалось 0verbreaK; 19.06.2008 в 15:47..
|
|
|

19.06.2008, 20:50
|
|
Познающий
Регистрация: 24.06.2007
Сообщений: 36
Провел на форуме: 177842
Репутация:
5
|
|
Сообщение от 0verbreaK
Ты получается хочешь инжектиться в hl.exe, проще говоря в халяву, не объясняешь толком что именно нужно и требуешь результата.
Опиши все, что необходимо получить в результате твоих действий, что ты реализуешь, и как оно должно работать, или читай про перехват API.
на просто что бы *dll загружалась всесте с *exe..
Тоесть запустил екзешник и длл вмести с ним поехал..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|