• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Lotus Jvm

  • Автор темы Azrael
  • Дата начала
A

Azrael

Какая версия JVM в 7-ом Lotus'е?
Опытным путем установлено, что в 6.5.3 сторонние *.jar файлы нужно компилировать под "Java 2 SDK, v.1.3 and later".
При этом возникла проблема: в notes\jvm\lib\rt.jar в классе java.lang.StringBuffer нет метода append (точнее нужной реализации) :(
Затыкается на строчке:
Код:
off.append(' ').append(gen).append(generation == 65535 ? " f \n" : " n \n");

В rt.jar все реализации append возвращают null.

P.S. В консоли получил вот что:
java.lang.NoSuchMethodError: java.lang.StringBuffer: method append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer; not found
at com.lowagie.text.pdf.PdfWriter$PdfBody$PdfCrossReference.toPdf(PdfWriter.java:191)
at com.lowagie.text.pdf.PdfWriter$PdfBody.writeCrossReferenceTable(PdfWriter.java:504)
at com.lowagie.text.pdf.PdfWriter.close(PdfWriter.java:1162)
at com.lowagie.text.pdf.PdfDocument.close(PdfDocument.java:805)
at com.lowagie.text.Document.close(Document.java:497)
at JavaAgent.NotesMain(JavaAgent.java:37)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(NotesThread.java:218)
 
Y

Yakov

Azrael, скажите, пожалуйста, каков тип переменной gen?
Метод public StringBuffer append(StringBuffer sb), упомянутый в трассировке стека ошибок, согласно документации, появился с версии 1.4.
 
A

Azrael

Azrael, скажите, пожалуйста, каков тип переменной gen?

StringBuffer. Есть подозрение, что Lotus использует собственный JVM, причем непонятно какой версии (по крайней мере, версия 6.5.4 c Java 2 SDK, v.1.4 работать отказывается). Поэтому и интересуюсь, какая версия в 7ке
 
Y

Yakov

Конечно, Lotus использует свою jvm, которая находится в каталоге %LotusPath%\jvm, где %LotusPath% - каталог, в который установлен Lotus. Узнать версию можно так: %LotusPath%\jvm\bin\java -version.
Lotus 6.5 имеет jvm версии 1.3.1, Lotus 7.0 - jvm 1.4.2. В %LotusPath%\jvm\lib\core.jar семерки точно есть требуемый метод класса StringBuffer.
 
S

sanch

Советую скомпилить класс и запустить его через шелл из lscript (личный опыт).
 
A

Azrael

Для: Yakov Спасибо, разобрался! Поставил 7-ку, заработало.
Для: sanch Можно подробнее? Всмысле полностью написать функционал в классе на java (с использованием i-text) и запускать его из LS? А как реализовывать работу с БД Lotus?
 
K

Kee_Keekkenen

у меня тоже не получалось прицеплять jar или class к лотусу, что-то не так делал, потому что можно..
поэтому использовал связку LS2J, т.е. создавал java библиотеку, LS библиотеку(интерфейс для java) и агента, который использовал ls-библ для доступа к java-библ ...
 
A

Azrael

У меня в 7-ом лотусе получилось нормально (все делал как в хелпе описано). Запихал jar-файл в java-библиотеку, в java-агенте ее использовал.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!