Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Возможности синтаксиса и компиляьора.   Найти похожие ветки 

 
Pa5ha   (2004-03-18 16:17) [0]

Всем привет! У меня необычный вопрос, не поможете ли прогой, которая из нормального кода делает все неразрывным блоком и все символы заменяет на непонятный эквивалент.


 
WebErr ©   (2004-03-18 16:31) [1]

Пока не конец файла считывать символ применять к нему NOT или XOR к какой-нибудь константе, потом записать полученный символ, а вот что такое неразрывный блок - не знаю! :)


 
Алхимик ©   (2004-03-18 17:26) [2]

WinRar.exe


 
Pa5ha   (2004-03-18 19:03) [3]

Нет, надо не зашифровать, а сделать так, чтоб он компилировался, но при этом выглядел, как shit. Я тут неправильно выразил свою мысль, короче надо так, чтоб было по неск. операторов в одной строке без пробелов и проч. разделителей, все символы, которые можно заменить на многосимволные аналоги и т.д. Проги вроде есть, которые так делают.


 
Amoeba ©   (2004-03-19 11:57) [4]

А зачем нужно такое извращение? И чем собираешься компилировать исходный текст после его ропуска через такую мясорубку?


 
Тимохов ©   (2004-03-19 12:12) [5]

Я так понимаю, что это своего рода защита.
Я лет 15 назад так свое распространял.
Пользуйся, компилируй, а править - ни-ни.
Только отстой это имхо


 
Digitman ©   (2004-03-19 12:17) [6]


> У меня необычный вопрос


не то что бы "необычный" - вообще непонятный !
речь идет о КАКОМ коде ? о коде-исх.тексте или о маш.коде ?


 
Тимохов ©   (2004-03-19 12:21) [7]

раньше такая прога была из

var
  i: integer;
  a: array [0..1] of integer;
  b: integer;
begin
  for i := 0 to 1 do
  begin
     if a[i] > 0 then b := b + a[i]
  end;
end;

могла сделать что-то типа

var _______a0234292424323420923525:integer;_e203420412491249123491234124:array[0..1]ofinteger;_b1313134241242414b:integer;be gin for _______a0234292424323420923525:=0 to 1 do begin if _e203420412491249123491234124[i]>0 then _b1313134241242414b:=_b1313134241242414b+_e203420412491249123491234124[i];end;end;

т.е. чтобы править код было не реально.
Наверное это автор спрашивает.


 
Юрий Зотов ©   (2004-03-19 12:31) [8]

При наличии препроцессора - нет проблем. При его отсутствии - есть проблемы.


 
Игорь Шевченко ©   (2004-03-19 13:16) [9]

Есть такая программа, в сети была (разбирая свою свалку я на нее наткнулся, но забыл название)


 
Pa5ha   (2004-03-19 20:29) [10]


> var _______a0234292424323420923525:integer;_e203420412491249123491234124:array[0..1]ofinteger;_b1313134241242414b:integer;be  
> gin for _______a0234292424323420923525:=0 to 1 do begin
> if _e203420412491249123491234124[i]>0 then _b1313134241242414b:=_b1313134241242414b+_e203420412491249123491234124[i];end;end;

Вот, человек меня понял, а то непонятно, непонятно.
А где мона взять?


 
vuk ©   (2004-03-19 21:21) [11]

Обычно программы такого типа называются obfuscator. Поищите где-нибудь на поисковике по сочетанию "Delphi obfuscator" может что и найдется.


 
Gero ©   (2004-03-19 22:22) [12]

Если есть obfuscator, до должен быть и deobfuscator.
Т.е вводите что-то типа:

var _______a0234292424323420923525:integer;_e203420412491249123491234124:array[0..1]ofinteger;_b1313134241242414b:integer;be  gin for _______a0234292424323420923525:=0 to 1 do begin if _e203420412491249123491234124[i]>0 then _b1313134241242414b:=_b1313134241242414b+_e203420412491249123491234124[i];end;end;

А получаете:

var
 i: integer;
 a: array [0..1] of integer;
 b: integer;
begin
 for i := 0 to 1 do
 begin
    if a[i] > 0 then b := b + a[i]
 end;
end;

:)
А если даже и нет такой проги, то кому очень надо будет, напишет.
Никуда такая система защиты не годится.
Лучше уже .dcu распространять.


 
Игорь Шевченко ©   (2004-03-19 22:35) [13]

Gero ©   (19.03.04 22:22)

Это необратимый процесс :)


 
EXE7   (2004-03-20 14:27) [14]

>Пользуйся, компилируй, а править - ни-ни.

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


 
Pa5ha   (2004-03-20 15:46) [15]


> obfuscator

Сенкс, поищу. Просто надо, а самому писать такое лень, хоть и мог бы.

> Это необратимый процесс :)

Хочу добавить, что ни названия переменных, ни коментарии после такого не остаются. А если вы способны разобрать массивный код вот в таком виде, то флаг вам в руки. Я, даже если надо будет, разбирать такое не буду.


 
EXE7   (2004-03-21 13:37) [16]

>вы способны разобрать массивный код вот в таком виде
а что мешает сделать авто-распаковшик подобного трас-кода,
машкоды криптованые тоже разбирают

лучще dcu
делаете .pas модуль компилите,получаетете dcu
его в папку к проектам
в uses пишете название -имя dcu
все пользуйтесь,только хелп сделайте какие есть функции
TCryptLib знаете там dcu,res( kbcrypt.dcu, kbcrypt.res,
lzh.dcu, zlib.dcu) и в хелпе описание
функц
TCryptLib = class(TComponent)
public
 //  Методы класса
 procedure EncryptFile;                                    // шифрация файла    
 procedure DecryptFile;                                    // дешифрация файла  
 function  EncryptStr(StrToEncrypt : string ) : string;    // шифрация строки

может вам надо комуто показать .pas
и скомпилить на глазах,типа мой исходник?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.042 c
3-1081797714
Mishenka
2004-04-12 23:21
2004.04.11
Можно ли определить была ли запись в таблицу?


8-1076481355
Evgeniy_K
2004-02-11 09:35
2004.04.11
Экранная лупа


4-1075481587
Hotabich
2004-01-30 19:53
2004.04.11
Помещение картинки на форму


11-1068056483
BelchonokH
2003-11-05 21:21
2004.04.11
Регионы + D5


1-1082614906
JT
2004-04-22 10:21
2004.04.11
HTML Help





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский