|
Платные хостинги
Раскрутка сайта
Книги по программированию
Защита от распаковки., Метод сжатия UPX.
- В каком-то из Shell я уже видел подобную фишку - надо его загрузить и посмотреть что он делает, скорее всего он меняет несколько байт в заголовке так чтобы UPX не мог распознать, что это его файл. Только на мой взгляд это совершенно бессмысленная работа, потому что любой запакованный exe можно распаковать по определению - есть целый ряд распаковщиков, которым наплевать чем запакован файл, они просто берут ту копию которая возникает при реальном запуске exe и сбрасывают ее в файл...
- Ну самый простой способ это замена в HEX редакторе строчек"UPX0", "UPX1", "1.20.UPX!" на что либо другое. А сложный способ, это смещение точки входа в программу (Entry Point).И всё это можно реализовать в делфях.
- Код constbuff_size=50000;procedure PROTECTUPX;varF:File;decstr:string;buf:array[1..2218] of Char;i:integer;beginAssignFile(f,'C:\FILE.EXE'); //Открываем фаил{$I-} Reset(f,1); {$I+} If IOResult = 0 thenbegindecstr:='....';for i:=1 to 4 do buf[i]:=chr(241);Seek(F,440); //позиция строки UPX0for i:=1 to length(decstr) dobuf[i]:=decStr[i];BlockWrite(F,buf,4);for i:=1 to 4 do buf[i]:=chr(241);Seek(F,480); //позиция строки UPX1for i:=1 to length(decstr) do buf[i]:=decStr[i];BlockWrite(F,buf,4);for i:=1 to 4 do buf[i]:=chr(241);Seek(F,987); //позиция строки 1.20for i:=1 to length(decstr) do buf[i]:=decStr[i];BlockWrite(F,buf,4);for i:=1 to 4 do buf[i]:=chr(241);Seek(F,992); //позиция строки UPX!for i:=1 to length(decstr) do buf[i]:=decStr[i];BlockWrite(F,buf,4);CloseFile(F);ShowMessage('Фаил Под защитой');end;End;highlightSyntax('delphimMGMyY','delphi');
- это было про первый, метод, ибо он есть простой, а насчёт второго метода я только знаю как его в ручную реализовать, но второй метод хоть и более надёжен но иногда выдаёт испорченные файлы.
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|