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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2012, 23:41   #21
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Цитата:
хранение данных в ОЗУ
ну так я вроде с самого начала начал копать в этом направлении, не?
тема то начиналась "Как запихать в память..."
только вот как бы там не было, ваши же товарищи мне наглядно объяснили
(впрочем я и сам догадывался) что любую хрень из ОЗУ можно
"сдампить" и вот она, пожалуйста...

кстати, я недопонял, что за такую "вирт. систему" создает протектор?
уж не винду ли?

а если так, то вся эта история с протекторами похожа на
попытку надеть на маринера танк вместо бронежилета,
вы так не считаете?


а все эти волшебные протекторы для меня до сих пор остаются загадками
xrob вне форума Ответить с цитированием
Старый 17.03.2012, 00:16   #22
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

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

более того, иногда проект сразу компилируется в код виртуальной машины что повышает надёжность защиты
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 17.03.2012, 00:36   #23
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

о, я понял, т.е. это по-сути превратить исполняемый файл проги в тупо скрипт, да?
дайте-ка подумать чем это усложнит взлом...

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

и работать это все будет по принципу

str:=GetNextCommand; //получить очередную строку скрипта
if str = 'ShowMessage' then ShowMessage;

я об этом уже думал, когда очень сильно обиделся на Flash,
но все еще был под впечатлением от его возможностей,
и решил мстить - сделать свой Flash.
ну и по этому поводу придумывал систему скриптов.

Суть виртуализации я понял, спасибо за наглядное объяснение.
В чем сложность взлома - тоже допер.
Если самому написать такую виртуальную машину,
то можно генерить разные версии скриптового языка
для каждой новой проги ))
Темка эта по-ходу до жути интересная, обязательно ей займусь,
только вот мучает вопрос производительности такой проги...

она, ведь по-идее должна на порядок медленнее работать,
потому что вместо одной команды a:=a+1;
там будет пачка команд...

кстати, интересно, а можно класс описать в скрипте?...
че-то вообще не представляю как это сделать...
а с другой стороны - почему нельзя?...

Последний раз редактировалось xrob; 17.03.2012 в 00:59.
xrob вне форума Ответить с цитированием
Старый 17.03.2012, 00:59   #24
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

xrob, к примеру интерпритатор регулярных выражений RegExpr.
Берем выражение: [_a-zA-Z\d\-\.]+@([_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)

Это выражение для поиска e-mail адресов в тексте.
Вот во что, превращает его RegExpr:
Цитата:
1:BRANCH (196)
6:PLUS (48)
11:ANYOFFULLSET (0)-.0123456789ABCDEFGHIJKLMNOPQRSTUVWX YZ_abcdefghijklmnopqrstuvwxyz
48:EXACTLY (55) @
55:OPEN[1] (60)
60:BRANCH (191)
65:PLUS (107)
70:ANYOFFULLSET (0)-0123456789ABCDEFGHIJKLMNOPQRSTUVWXY Z_abcdefghijklmnopqrstuvwxyz
107:OPEN[2] (112)
112:BRANCH (166)
117:EXACTLY (124) .
124:PLUS (166)
129:ANYOFFULLSET (0)-0123456789ABCDEFGHIJKLMNOPQRSTUVWXY Z_abcdefghijklmnopqrstuvwxyz
166:CLOSE[2] (171)
171:BRANCH (181)
176:BACK (107)
181:BRANCH (186)
186:NOTHING (191)
191:CLOSE[1] (196)
196:END (0)
must have @
FirstCharSet:-.0123456789ABCDEFGHIJKLMNOPQRSTUVWX YZ_abcdefghijklmnopqrstuvwxyz
Примерно так же поступает вирт. машина, смысл в том, что только машине известно, как интерпритировать скрипт.
Человек_Борща вне форума Ответить с цитированием
Старый 17.03.2012, 01:03   #25
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Цитата:
только машине известно, как интерпритировать скрипт
да, я именно так и понял.
до тех пор, пока не сломают эту вирт-машину...
Человек Борща, что вы можете сказать про быстродействие такой системы?
xrob вне форума Ответить с цитированием
Старый 17.03.2012, 02:02   #26
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

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

Есть мнение что, образ программы расшифровывается внутри вирт. машины и исполняется оттуда.
Человек_Борща вне форума Ответить с цитированием
Старый 17.03.2012, 04:19   #27
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

xrob, а не заморачиваетесь ли вы случаем? Ну сами реально посудите - кому, вот просто так, захочется использовать вашу длл, не зная толком для чего она предназначена? Да я более чем уверен, что простым пользователям это точно не нужно...А те кто разбираются и кому действительно нужно будет, те обойдут спокойно вашу защиту...А у вас в итоге куча дополнительных багов...
Вобщем не стоит добавлять себе лишних проблем в приложение...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 17.03.2012, 09:31   #28
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

Цитата:
Сообщение от xrob Посмотреть сообщение
что вы можете сказать про быстродействие такой системы?
виртуализируются как правило самые критические и важные части программы (вышеуказанной Enigma Virtual Box не пользовался)
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запустить чужую программу со своей dll библиотекой или внедрить в уже существующий процесс Человек_Борща Общие вопросы Delphi 5 23.01.2011 21:20
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку kapustin Общие вопросы .NET 10 23.09.2009 22:20