Konstantin Mironovich: [.NET] аналог native dll exports
Konstantin Mironovich
Expert
Автор темы
4208/23257 ответов
25 лет на iXBT, с ноября 1999
Чаще пишет Р Р† "Политика" (35%)
Инфо Ответить
K
Konstantin Mironovich ExpertАвтор темы
10 лет назад / 10 ноября 2014 17:47
сразу скажу в чем проблема:
в WiX/MSI есть managed dll, содержащие всякие т.н. custom action функции, которые плохо документированы.
надо посмотреть что там есть в наличии.
требуется нечто аналогичное depends.exe или dumpbin/exports, ну или как в .Net это делается в принципе.

спасибо.
loyolla
Member
516/543 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет Р Р† "Программирование" (95%)
Инфо Ответить
l
loyolla Member
10 лет назад / 10 ноября 2014 18:29
Konstantin Mironovich
Посмотрите вот это. В принципе, инструмент предполагает знание устройства сборок, но можно и так разобраться. Обратите внимание на <.NET byte code> и на <.Net Directory->MetaData Streams->#~->Tables->TypeDef>
ash of mind
Member
1110/4480 ответов, #10 в рейтинге
17 лет на iXBT, с июля 2007
1 фото на iXBT.photo
Чаще пишет Р Р† "Программирование" (30%)
Инфо Ответить
a
ash of mind Member
10 лет назад / 10 ноября 2014 19:18
Konstantin Mironovich
dotPeek или JustDecompile - не оно?
Konstantin Mironovich
Expert
Автор темы
4209/23263 ответов
25 лет на iXBT, с ноября 1999
Чаще пишет Р Р† "Политика" (35%)
Инфо Ответить
K
Konstantin Mironovich ExpertАвтор темы
10 лет назад / 10 ноября 2014 20:21
loyolla
ash of mind
поверить не могу, что нет стандартных способов типа dumpbin(который вызывает link с параметрами)

насколько я понял, вся информация хранится в некоем манифесте/ресурсе, который представлен в виде xml. вот только как его извлечь и прочесть я пока не обнаружил.

Добавление от 10.11.2014 20:40:

помнится, было там средство, компилирующее MSIL в native.. нельзя ли его натравить на интересующие меня dll, а потом уже посмотреть через ту же depends ?
loyolla
Member
517/544 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет Р Р† "Программирование" (95%)
Инфо Ответить
l
loyolla Member
10 лет назад / 10 ноября 2014 23:06
Konstantin Mironovich

Вы поняли неправильно. нет там никаких XML.

А вот просто подключить эту библиотку как dependency, а потом посмотреть на ее внутренности используя Object browser почему нельзя?
arsa
Member
819/10032 ответов
25 лет на iXBT, с января 2000
Чаще пишет Р Р† "Интернет" (68%)
США, Редмондия
Web-страница
Инфо Ответить
a
arsa Member
10 лет назад / 10 ноября 2014 22:17
loyolla
подключить эту библиотку как dependency
видимо этого человеку недостаточно?

Konstantin Mironovich
http://ilspy.net/ пробовали?
Konstantin Mironovich
Expert
Автор темы
4210/23268 ответов
25 лет на iXBT, с ноября 1999
Чаще пишет Р Р† "Политика" (35%)
Инфо Ответить
K
Konstantin Mironovich ExpertАвтор темы
10 лет назад / 10 ноября 2014 22:26
loyolla
А вот просто подключить эту библиотку как dependency, а потом посмотреть на ее внутренности используя Object browser почему нельзя?
библиотеки подключены
185x104, 4,9Kb

а вот в списке Object browser ничего соответствующего не могу найти.

Добавление от 10.11.2014 22:29:

более того, подключенные библиотеки работают с, к примеру, DllEntry="WixShellExec"
но надо выяснить что там еще есть, чтобы не зазря писать свою CA dll.

Добавление от 10.11.2014 22:33:

loyolla
нет там никаких XML.
есть.
просматривается любым вьюером (картинку с дампом приводить тут не стану). вот только его назначение мне непонятно.
loyolla
Member
518/545 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет Р Р† "Программирование" (95%)
Инфо Ответить
l
loyolla Member
10 лет назад / 10 ноября 2014 22:43
Konstantin Mironovich
Экспортируются два класса

01public class sealed UIExtension
02{
03  private Microsoft.Tools.WindowsInstallerXml.Extensions.UIDecompiler decompilerExtension;
04  private Microsoft.Tools.WindowsInstallerXml.Library library;
05  
06  public void UIExtension();
07   
08  public virtual Microsoft.Tools.WindowsInstallerXml.DecompilerExtension get_DecompilerExtension();
09  public virtual Microsoft.Tools.WindowsInstallerXml.Library GetLibrary(Microsoft.Tools.WindowsInstallerXml.TableDefinitionCollection tableDefinitions);
10  public virtual string get_DefaultCulture()
11}
12  
13public class sealed UIDecompiler
14{
15  private bool removeLibraryRows;
16  
17  public void UIDecompiler();
18  
19  public virtual bool get_RemoveLibraryRows();
20  public virtual void InitializeDecompile(Microsoft.Tools.WindowsInstallerXml.TableCollection tables);
21}
Все. Больше там в .NET секции ничего нет.

Нет. Тот XML который виден никак не описывает сборку. У сборки совершенно другая структура.
Konstantin Mironovich
Expert
Автор темы
4211/23270 ответов
25 лет на iXBT, с ноября 1999
Чаще пишет Р Р† "Политика" (35%)
Инфо Ответить
K
Konstantin Mironovich ExpertАвтор темы
10 лет назад / 10 ноября 2014 22:52
loyolla
Экспортируются два класса
это с помощью PE инсайдера получено?
loyolla
Member
519/546 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет Р Р† "Программирование" (95%)
Инфо Ответить
l
loyolla Member
10 лет назад / 10 ноября 2014 23:03
Konstantin Mironovich

Типа того.. Корпоративный тул. Но он построен абсолютно также как и PE Insider.
Что удивительно - я никак не могу найти к чему относятся те XML строки...По идее, они должны быть в #Strings хипе, но там их нет
Konstantin Mironovich
Expert
Автор темы
4212/23274 ответов
25 лет на iXBT, с ноября 1999
Чаще пишет Р Р† "Политика" (35%)
Инфо Ответить
K
Konstantin Mironovich ExpertАвтор темы
10 лет назад / 10 ноября 2014 23:31
loyolla
судя по экспорту, я на ложном пути.
сдается мне, что упомянутая DllEntry="WixShellExec" - это запись в некоей таблице, которая предоставляется методом экспортируемого класса.
т.е. эти именованные точки входа надо искать среди каких-то данных.

похоже, что проще и быстрее написать свою CA dll, что и планировалось изначально. либо CA скрипт.

Добавление от 10.11.2014 23:46:

вопрос закрыт.
совершенно забыл про сорцы.
loyolla
Member
520/547 ответов
19 лет на iXBT, с декабря 2005
Чаще пишет Р Р† "Программирование" (95%)
Инфо Ответить
l
loyolla Member
10 лет назад / 10 ноября 2014 23:53
Konstantin Mironovich

Тот XML - это один огромный XML (почти 4 мега) который, судя по всему, представляет собой какие-то ресурсы.

1<?xml version="1.0" encoding="utf-8"?>
2<wixLibrary version="3.0.2002.0" xmlns="http://schemas.microsoft.com/wix/2006/libraries">
3    <WixLocalization Codepage="936" Culture="zh-cn" xmlns="http://schemas.microsoft.com/wix/2006/localization"><String Id="VerifyReadyDlg_Title" Overridable="yes">
4    ...
5    <row sourceLineNumber="C:\delivery\Dev\wix35_public\src\ext\UIExtension\wixlib\WixUI_Advanced.wxs*36">
6        <field>WixUISupportPerMachine</field><field>1</field><field>1</field>
7    </row></table></section>
8</wixLibrary>
9    
Однако я не нашла ни одной ссылки на него в коде, и он не включен в .NET ресурсы. Судя по всему, что-то нестандартное.
vertur
Member
3352/3797 ответов, #5 в рейтинге
16 лет на iXBT, с марта 2008
Чаще пишет Р Р† "Программирование" (52%)
Гондурас, default city
Инфо Ответить
v
vertur Member
10 лет назад / 11 ноября 2014 03:17
Konstantin Mironovich
IDA
Ваш ответ:

Нет значка Нет значка Р’РѕС‚ тут! Лампочка Восклицание Р’РѕРїСЂРѕСЃ Класс! Улыбка Злость Огорчение РџРѕРіРѕРІРѕСЂРёРј? Краснею Подмигивание Ругаю РћРґРѕР±СЂСЏСЋBIUdelSxsupxsuboffsp spoilerqurlimgvideo• list1. list1 codeprecenter-hr-rusQWE→ЙЦУ
файлыочистить
Ваше имя: Авторизуйтесь Предпросмотр В полную форму
вставить выделенную цитату в окно ответа
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Последние обсуждения в Конференции
04:29Пандемия COVID-2019 (было - Миру угрожает вирус пандемического гриппа, может погибнуть МИЛЛИАРД человек.) Общий
04:28Электромобили - грядет революция? Авто
04:25РћС‚ Windows Рє Linux Unix
04:25Будет ли война России с Украиной? Политика
04:21ИИ - осознание себя? ИИ
04:17Люблю ругалики Флуд
04:15FF БЗК Canon EOS R (RP, R5, R3, R1 и т.д.) и оптика к ним Фото
04:05Выбор посудомоечной машины Бытовая техника
03:55Сисадминская курилка Администрирование
03:50Я плакаль... (картинка прикол) Юмор
03:47Ресиверы Yamaha - пообщаемся? FAQ в первом посте ДК аудио
03:44Вопросы знатокам o S.M.A.R.T. Накопители
03:40Отзывы о PrivalSystems (аналог skype) Интернет
03:40Выбор цветного струйного МФУ формата А3 в офис Периферия
03:28Как выразить АНАЛИТИЧЕСКИ значения корней алгебраического уравнения 5-й степени через значения корней его резольвенты 6-й степени (которые найдены, например, численно) Наука
03:28Поговорим о припоях и флюсах Эл. устройства
03:18Path of Exile. Врываемся в приятно выпуклый эндгейм PoE 2 6 декабря 2024-го и ждём 3.26 в первой части когда-нибудь! Игры
02:52Выбор бюджетного "цифрового" (китайского) усилителя Стерео
02:38Какие триллеры посоветуете? Кино
02:35Выбор матраса Ремонт
Последние темы без ответов
вчераАрхаичные выражения, подзабытые слова, названия, а также уходящие в прошлое культурные традиции XX века. Культура
вчераBattlefield 2042 drweb Игры
вчераМышь лагает и плавает при запуске любого приложения Тех. поддержка
вчераLLM Qwen – возможности, опыт использования, ограничения ИИ
вчераНе могу прошить UUID на материнской плате ASRock H55M-LE ни с помощью amidedos ни ее версии под Windows - осталось только слить дамп биоса, редактировать в HEX-редакторе и шить обратно? Тех. поддержка
2 дня[Решено] Установил и успешно запустил пакет motion под OpenWRT, но не могу зайти на его админку и получить видеопоток с помощью VLC-плеера Unix
2 дняDenon dcd-3000 ремонт Стерео
3 дняИИ шутит. ИИ
4 дняThecus 4560/2520 поиск прошивки. НАС
4 дняРоссийская инди-поп-музыка Культура
23:59вчераНовый смартфон Samsung за 120 долларов. Представлен Samsung Galaxy A06 5G: 50 Мп, 5000 мАч, IP54 и 4 года обновлений
23:51вчераMicrosoft создала квантовый чип Majorana 1: миллион кубитов на ладони
22:46вчераРоссийские астрономы обнаружили редкую двойную звезду с магнитным белым карликом Gaia 19cwm
22:35вчераПока видеокарты GeForce отсутствуют либо дорожают, пользователи активно переходят на Radeon. Как минимум так говорит статистика для Южной Кореи
22:16вчераЕсли хочется GeForce RTX 50, но максимально дёшево. Существование RTX 5050 Laptop подтверждено
22:06вчераУчёные «просветили стену» из титана в поисках аксионов на ускорителе в Гамбурге
21:59вчераGeForce RTX 5090 оказалась в семь раз слабее RTX 4090. Nvidia убрала поддержку PhysX из свежего драйвера для видеокарт RTX 50
21:48вчера800 л.с., рама и полный привод. Опубликованы фото супермощного Tank 400
21:45вчераTesla строит первую общедоступную зарядную станцию для электрогрузовиков в Лос-Анджелесе
21:39вчераNASA завершило сборку первого двигателя RS-25 для миссии «Артемида V»
20+ лет назад в этот день обсуждали
2002Citrix via Internet Сети
2002Minolta RD175 - НУЖНА ПОМОЩЬ!!!!! Фото
2002W2k - проблема с флоппи-диском. OС и сист. ПО
2002Получил по почте вирус. Лежит в базе OUTLOOKa. Как лучше поступить? Интернет
2002Как можно разогнать 500 Селерон на bx Разгон
2002Дождемся KT333A или нет? Сист. платы
2004unmountable_boot_volume Накопители
2004Как сделать, чтобы у письма обратный адрес был один, а отвечали на него на другой адрес? Интернет (архив)
2005Компьютер перезапускается во время POST Тех. поддержка
2005Выгонят ли Россию из большой восьмерки(G-8) Политика