Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Можно ли изменять методы во время выполнения VM 
:(
    Опции темы
Viroman
Дата 27.11.2010, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Здравствуйте дорогие форумчане, дабы не забегать вперёд и не разводить излишних диспутов на тему моральных устоев, хочу в программе, которая под gpl, дабы обезопасить себя от возможных нападок со стороны gpl исходниколюбителей, делать изменение методов во время выполенения. На данный момент я делаю это тем, что классы вместе с изменёнными методами подгружаю первыми, что позволяет как бы делать, что хочу. Это хоть немного улучшило ситуацию, но всего лишь завуалировало мои старания. А хотелось бы коренное решение, перезапись методов уже после того, как классы были подгружены, пусть даже если ещё не ЗАПУЩЕНЫ. Если для этого понадобится изменить саму программу под такую изменяемую структуру, не проблема.
То есть как я это себе бы представлял в идеальном случае.
подгружается jar файл в class path
далее изменяю метод xyz на свой (именно метод, а не весь класс)
и далее запускаю уже сам нужный класс с изменённым методом.
Вот поэтому вопрос, какие формы реализации подобного уже имеются.
И пожалуйста, без коментов, типа хочешь не гпл, пиши своё, ибо рад бы, но несколько лет в запасе не имею.



Это сообщение отредактировал(а) Viroman - 27.11.2010, 17:22
PM MAIL   Вверх
lazycat
Дата 27.11.2010, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 15.7.2007

Репутация: нет
Всего: 1



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

PM MAIL   Вверх
kemiisto
Дата 27.11.2010, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 7
Всего: 160



Цитата(Viroman @  27.11.2010,  15:21 Найти цитируемый пост)
И пожалуйста, без коментов, типа хочешь не гпл, пиши своё, ибо рад бы, но несколько лет в запасе не имею.

Да, судя по Вашим мыслям, вещества, которыми Вы злоупотребляете оставляют Вам мало времени в запасе.

Цитата(lazycat @  27.11.2010,  19:47 Найти цитируемый пост)
Задача из раздела "challenges"

 smile Да нет, эта задача немного из другого разряда. Но правила Форума запрещают использовать нецензурную лексику.

Цитата(Viroman @  27.11.2010,  15:21 Найти цитируемый пост)
Здравствуйте дорогие форумчане, дабы не забегать вперёд и не разводить излишних диспутов на тему моральных устоев, хочу в программе, которая под gpl, дабы обезопасить себя от возможных нападок со стороны gpl исходниколюбителей, делать изменение методов во время выполенения.

Так, отложили вещества в сторону, глубоко вдохнули. Выдохнули. А теперь чётко - каких нападок вы опасаетесь? Как Вы используете GPL-код в своём приложении?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Viroman
Дата 27.11.2010, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Цитата


Да, судя по Вашим мыслям, вещества, которыми Вы злоупотребляете оставляют Вам мало времени в запасе.

Для особо обделённых этим самым веществом или всячески израсходовавшим его окончательно, повторюсь, если нечего написать, то лучше промолчать.. Ну конечно, для таких людей правил этикета не существует, но я уже на это к сожалению повлиять не могу :(
О gpl я говорю из опыта, ибо работаю на заграничную компанию, которая именно это и попросила, и знаю, что third parts не должны входить под эту лицензию, а любое изменение в исходниках этому подлежит. Хоть вы компания такой величены как Cisco, и они тоже используют ту же программу под gpl, и также вынуждены выставлять исходники. Так что тупые коментарии о серном веществе, либо нехватке времени не подлежат никакой критике. Обидно, что такие люди отравляют темы.

Цитата

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

Эх, опять подмена классов с нужными методами, ну да ладно, пусть будет, как есть.

Это сообщение отредактировал(а) Viroman - 27.11.2010, 22:55
PM MAIL   Вверх
kemiisto
Дата 27.11.2010, 23:03 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 7
Всего: 160



Цитата(Viroman @  27.11.2010,  20:48 Найти цитируемый пост)
Для особо обделённых этим самым веществом или всячески израсходовавшим его окончательно

 smile Вещества же.

Цитата(Viroman @  27.11.2010,  20:48 Найти цитируемый пост)
О gpl я говорю из опыта, ибо работаю на заграничную компанию, которая именно это и попросила, и знаю, что third parts не должны входить под эту лицензию, а любое изменение в исходниках этому подлежит.

 smile Вы, скажем, с Украины, а заграничная компания - российская? Что за бред Вы несёте. Заграничная компания просит разработчика нарушить GPL в ходе разработки своего продукта?

Цитата(Viroman @  27.11.2010,  20:48 Найти цитируемый пост)
также вынуждены выставлять исходники

Конечно. И ваша компания тоже вынуждена. Или пуская тратится на свои велосипеды. Есть и другие варианты. Но. Самое главное, что Вы приходите сюда с вопросом "Как бы мне убить человека и скрыть факт убийства" непонимая главного, Вы всё равно будете убийцой.

Цитата(Viroman @  27.11.2010,  20:48 Найти цитируемый пост)
Обидно, что такие люди отравляют темы.

Обидно, что количество наркоманов в профессии неуклонно растёт. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
_Y_
Дата 30.11.2010, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 1
Всего: 34



kemiisto, в сексопаталогии есть такое явление: эксгибиционизм. Это когда больной получает удовольствие, демонстрируя публике не самые приятные взгляду части своего тела.

Был бы я студентом-медиком, написал бы диплом. Тема была бы О тех, кто начинает посты словами "Не разводить излишних диспутов на тему моральных устоев".


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
nc30
Дата 30.11.2010, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Интересующийся :)
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 24.6.2010
Где: Санкт-Петербург

Репутация: нет
Всего: 8



@Offtop
user posted image
Цитата
Ребята! Давайте жить дружно!


Это сообщение отредактировал(а) nc30 - 1.12.2010, 06:06
PM MAIL   Вверх
Skipy
Дата 1.12.2010, 10:05 (ссылка) |    (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: нет
Всего: 16



Цитата(Viroman @ 27.11.2010,  22:48)
Обидно, что такие люди отравляют темы.

Еще более обидно существование тем "как сп...дить чужое, и чтобы за это ничего не было"


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
LSD
Дата 1.12.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(Viroman @  27.11.2010,  23:48 Найти цитируемый пост)
О gpl я говорю из опыта, ибо работаю на заграничную компанию, которая именно это и попросила, и знаю, что third parts не должны входить под эту лицензию, а любое изменение в исходниках этому подлежит. Хоть вы компания такой величены как Cisco, и они тоже используют ту же программу под gpl, и также вынуждены выставлять исходники.

Очень странно что у компании нет юриста который мог бы прочитать GPL (ну или хотябы FAQ на сайте FSF) и объяснить что:
а) переводить исходники под GPL нужно только если вы распространяете приложение
б) что статическая линковка с GPL приложением (использование вашими классами классов/интерфейсов из этой библиотеки и есть статическая линковка) означает, что приложение тоже должно распространятся по GPL лицензии
в) в случае чего ответственность за нарушение GPL будет нести тот кто это делает, т.е. если западная компания начнет распространять софт по лицензии несовместимой с GPL, то именно она и будет нести ответственность, а не разработчик. Так что переложить ответственность не получится.



M
LSD
Ко всем, не надо хамить друг другу. Следующий кого замечу за этим отправится в баню;)


З.Ы. Способ конечно есть, но обсуждать его в данном контексте считаю неразумным. Да и кривой он.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Разные вопросы"
Smartov

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


С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разные вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.