• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

Выгрузить inline картинки из notesRichtextItem

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

Gandliar

Lotus Team
16.02.2004
584
26
Здравствуйте!

Может кто поделится работающим кодом по выгрузке inline картинок из ричтекстового поля.
Перелопатил форум, инет, что то частично получилось, но только частично.

Пошел по пути dxl, копирую нужное поле во временный документ, выгружаю в его дхл, нахожу сакс парсером тэги, декодирую из base64 в файл через mime.
если файлы маленькие, например jpeg - работает быстро. вставляю пару фоток 150кб - думает секунд 10 - как то очень долго
а самое печальное, что в некоторых документах дхл возращает среди тэгов какой то совсем маленький кусочек кода который никак не соответствует картинке

Использую поля ричтекст лайт (ради отображения сразу в нем кнопки выбора)

Может надо отказаться от кнопки выбора и использовать ричтекст и хранить там как html и mime ?

Что то я совсем запутался. Помогите пожалуйста.
 
С тормозами вроде разобрался.
Тормозил SAXParser, почему то. На вход ему подавал стринг, который получал из dxl экспортера.
Отказался от sax парсера, просто работаю со стрингом.

а вот так выглядить часть dxl которая кривая

Код:
<item name='Drawing' sign='true' seal='true'><richtext>
<pardef id='2' keepwithnext='true' keeptogether='true'/>
<par def='2'><picture width='1564px' height='1563px' scaledheight='6.5104in'
 scaledwidth='6.5208in'><bitmap/></picture><compositedata type='82' prevtype='125'
 nexttype='124'>
UhQEAFX4AgAUAAAAAAAAAAAAAAA=
</compositedata></par>
<par def='2'/></richtext></item>
<item name='$WebFlags'><textlist><text>V</text></textlist></item>
<item name='$ConflictAction'><textlist><text>3</text></textlist></item>
<item name='files'><richtext>
<pardef id='1' keepwithnext='true' keeptogether='true'/>
<par def='1'/></richtext></item>
<item name='$EncryptionStatus'><textlist><text>0</text></textlist></item>
<item name='$SignatureStatus'><textlist><text>0</text></textlist></item>
<item name='type'><textlist><text>article</text></textlist></item>
 
Последнее редактирование:
EmbeddedImage пробовали?
 
@oshmianski
Он тяжеловесный. Я от него как раз отказался в пользу ручного разбора dxl, производительность отличная.
 
Голд коллекшн смотрел, взял оттуда раскодировку. не увидел там особенностей

Проблема в том, что если добавлен инлайн из файла, из чего-то "корректного" то на выходе имеем номральный jpeg, или сконвертированный гиф, и работает ожидаемо и нормально.

но некоторые файлы конвертируются вот так

Код:
<item name='Drawing' sign='true' seal='true'><richtext>
<pardef id='2' keepwithnext='true' keeptogether='true'/>
<par def='2'><picture width='1564px' height='1563px' scaledheight='6.5104in'
 scaledwidth='6.5208in'><bitmap/></picture><compositedata type='82' prevtype='125'
 nexttype='124'>
UhQEAFX4AgAUAAAAAAAAAAAAAAA=
</compositedata></par>
<par def='2'/></richtext></item>

и как оттуда достать картинку хз, но она то видна

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

Проблема в том, что если добавлен инлайн из файла, из чего-то "корректного" то на выходе имеем номральный jpeg, или сконвертированный гиф, и работает ожидаемо и нормально.

но некоторые файлы конвертируются вот так

Код:
<item name='Drawing' sign='true' seal='true'><richtext>
<pardef id='2' keepwithnext='true' keeptogether='true'/>
<par def='2'><picture width='1564px' height='1563px' scaledheight='6.5104in'
 scaledwidth='6.5208in'><bitmap/></picture><compositedata type='82' prevtype='125'
 nexttype='124'>
UhQEAFX4AgAUAAAAAAAAAAAAAAA=
</compositedata></par>
<par def='2'/></richtext></item>

и как оттуда достать картинку хз, но она то видна

возможно в это поле скопипастили картинку которая была раньше в экселе
base64 decode
мб где-то здесь код мой был, не помню
 
Похоже, обсуждается сходная проблема.
Т.е. в закодированном фрагменте может храниться как непосредственно само изображение, так и ссылка - в частности на элемент file (STG62657 в примере).
PS Но в примере закодированная строка прилично отличается по размеру, надо сказать. Возможно и ссылаться можно по-разному.
 
в виде ОДП выложил либу (давно здесь выкладывал как архив nsf)
дергает все картинки и сохраняет на диск
2-ух канальная выгрузка
всё это собиралось ещё для 7-ой нотусни
многие либы и их возможности можно взять в современной жвм
 
Последнее редактирование:
пытался вникнуть, но по-моему там все равно используется dxl?

база по выгрузке картинок с кривой картинкой внутри
 

Вложения

пытался вникнуть, но по-моему там все равно используется dxl?

база по выгрузке картинок с кривой картинкой внутри
на базе энкрипшн - нужно снять галочку, сделать компакт
 
картинка png же.
вставить:
tag = "<png>"
fileExt = "png"
GoSub process
 
Мы в соцсетях:

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

Курс AD