RSS 2.0 Версия для КПК (Бета)
Конференция JavaTalks  :  Java форум
Java форум JavaTalks
форум программистов 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Вызвать метод из jar-файла

 
Начать новую тему   Ответить на тему    Список форумов Java форум JavaTalks -> Отражение (Reflection API)
Предыдущая тема :: Следующая тема  
Автор Сообщение
Am1r
Новичок


Зарегистрирован: 18.12.2008
Сообщения: 16

СообщениеДобавлено: Фев 04, 2010 23:17    Заголовок сообщения: Вызвать метод из jar-файла Ответить с цитатой

Привет всем.

Допустим у меня есть программа написанная на Java. Т.е. jar-файл.
Ещё у меня есть каталог с jar/class файлами.
Я просматриваю каталог на наличие этих файлов, и если находится файл с нужным именем, то я должен вызвать из него какой нибудь "метод".

Вопрос: "Как вызвать метод из jar/class файла, если имя метода заранее будет известно"

jar или class значение не имеет, приму любой из способов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
psix
Новичок


Зарегистрирован: 23.01.2008
Сообщения: 15

СообщениеДобавлено: Фев 04, 2010 23:35    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

Вам нужно почитать про класс-лоадеры (java.lang.ClassLoader) и рефлекшн (java.lang.reflect.*).

Создаете свой класс-лоадер, который будет загружать ваш класс. Получаете ссылку на объект типа Class, через него получаете список методов, выбираете нужный и вызываете.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Am1r
Новичок


Зарегистрирован: 18.12.2008
Сообщения: 16

СообщениеДобавлено: Фев 05, 2010 16:13    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

Разобрался!
Кому интересно, вот эта статья очень помогла.
http://forum.vingrad.ru/faq/topic-157972.html
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RLC
Новичок


Зарегистрирован: 07.10.2009
Сообщения: 88
Откуда: Санкт-Петербург

СообщениеДобавлено: Фев 06, 2010 19:03    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

есть вопрос по теме: есть некая прога и очень не хочется что бы кто либо смог бы подключится к ней и узнать логины и пароли пользователей.
Как мне сделать чт бы такого не случилось.
Или в какую сторону мне копать?

_________________
Чудеса в моей жизни я делаю своими руками!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Oxygen
Новичок


Зарегистрирован: 06.12.2009
Сообщения: 56
Откуда: Воронеж

СообщениеДобавлено: Фев 06, 2010 19:47    Заголовок сообщения: Re: RE: Вызвать метод из jar-файла Ответить с цитатой

RLC писал(а):
есть вопрос по теме: есть некая прога и очень не хочется что бы кто либо смог бы подключится к ней и узнать логины и пароли пользователей.
Как мне сделать чт бы такого не случилось.
Или в какую сторону мне копать?

Эта прога - апплет, отдельный JAR или приложение Java Web Start? Я решил, что вы о втором.

Вам нужно копать в сторону шифрования. Всё шифрование и средства безопасности в пакете java.security; Не могу прям сейчас написать код, но думаю, что пароли следует хранить так:

1. Снять с пароля отпечетов по алгоритму MD5 и сохранить отпечаток.
2. Потом, когда пользователь введёт свой пароль, сделать то же самое и сверить с сохранённым отпечатком.

Фокус в том, что даже если кто-то выкраст отпечаток, пароль он всё равно не узнает (если конечно он не живёт вечно)

_________________

Компьютер - это почти человек. Единственное серьезное различие - ему не свойственно сваливать свои ошибки на другой компьютер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
RLC
Новичок


Зарегистрирован: 07.10.2009
Сообщения: 88
Откуда: Санкт-Петербург

СообщениеДобавлено: Фев 06, 2010 20:41    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

нет. я про десктоп приложение. Я уже сделал прогу которая шифрует пароли от каких либо сайтов программ и пр. не хотелось бы мне что бы мой jar кто нить умный добавил в свой classpath и приспокойно считал бы все данные и через Reflection тоже... как поставить заглушку?
_________________
Чудеса в моей жизни я делаю своими руками!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
TimReset
Постоянный посетитель


Зарегистрирован: 19.02.2009
Сообщения: 540

СообщениеДобавлено: Фев 08, 2010 12:34    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

Воспользоваться обфускатором?
_________________
вообще не понял вопрос, но постараюсь ответить
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Am1r
Новичок


Зарегистрирован: 18.12.2008
Сообщения: 16

СообщениеДобавлено: Фев 08, 2010 14:12    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

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

А сам пароль от проги хранить в md5.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RLC
Новичок


Зарегистрирован: 07.10.2009
Сообщения: 88
Откуда: Санкт-Петербург

СообщениеДобавлено: Фев 08, 2010 19:04    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

в голове Smile
_________________
Чудеса в моей жизни я делаю своими руками!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
RLC
Новичок


Зарегистрирован: 07.10.2009
Сообщения: 88
Откуда: Санкт-Петербург

СообщениеДобавлено: Фев 08, 2010 19:08    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

обфускатор-это дело!
Дело в том что есть некоторые статические классы и публичные переменные которые легко доступны и при желании можно легко получит часть пароля. тк часть зашита в прогу. + получить количество итераций шифрования и алгоритм. Ну и даже текст в исходном виде. поэтому обфускация!!!! и ещё раз обфускация!!!

_________________
Чудеса в моей жизни я делаю своими руками!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Am1r
Новичок


Зарегистрирован: 18.12.2008
Сообщения: 16

СообщениеДобавлено: Фев 08, 2010 21:44    Заголовок сообщения: Re: RE: Вызвать метод из jar-файла Ответить с цитатой

RLC писал(а):
в голове Smile

не, с чем то ведь сравнивать придется. Вроде как для нескольких пользователей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Am1r
Новичок


Зарегистрирован: 18.12.2008
Сообщения: 16

СообщениеДобавлено: Фев 08, 2010 22:09    Заголовок сообщения: Re: RE: Вызвать метод из jar-файла Ответить с цитатой

RLC писал(а):
обфускатор-это дело!
Дело в том что есть некоторые статические классы и публичные переменные которые легко доступны и при желании можно легко получит часть пароля. тк часть зашита в прогу. + получить количество итераций шифрования и алгоритм. Ну и даже текст в исходном виде. поэтому обфускация!!!! и ещё раз обфускация!!!

Но я все равно не понимаю. А какой смысл в обфускации?!
Доступ к памяти процесса, сторонний процесс получить не может (или я не прав?).
А через Reflection, как я понимаю, можно получить только шаблон класса, а не указатель на него.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Shreder
Новичок


Зарегистрирован: 07.05.2008
Сообщения: 101
Откуда: Kharkov, Ukraine

СообщениеДобавлено: Фев 24, 2010 18:56    Заголовок сообщения: RE: Вызвать метод из jar-файла Ответить с цитатой

ProGuard подойдет для вышеописаного. Сразу оговорюсь что офлускация часто добавляет больше проблем чем выгоды. Покрайней мере пока нет плугинов к IDE проводящих рефакторинг и добавление ноых пакетов в конфигурационный файла обфускатора вместе с кодом.
Ктому-же сборка на разных JVM-ах (не сановских, например аплл) потребует модификации сборочного скрипта.
Сам-же протект - иллюзорен, при желании и приналичии jad программа всеравно взламывается.

Можно попытатся использовать exe4j тогда можно будет обойтись без обфускации. [/url]
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Java форум JavaTalks -> Отражение (Reflection API) Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Этот сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

GetJava Download Button Rambler's Top100
Хостинг от bizname.ru
При поддержке hitech.com.ua