Проблемы с Erlang NIF и потоками

У меня есть небольшая проблема с потоками в Erlang NIF. Вы можете посмотреть мой код здесь: http://pastebin.com/HMCj24Jp . Проблема в том, что когда я запускаю поток, он принимает некоторые аргументы и запускает функцию generate_binary . Это нормально, но когда я пытаюсь прочитать аргументы, все вылетает.

Возможно, это не самая сложная проблема, но я не смог найти никакой документации по этому поводу, поэтому я надеюсь, что некоторые из вас могут знать ответ. параметры с помощью .NET Класс OptionalAttribute. Параметры OptionalAttribute не как его можно скрыть с помощью Dotfuscator ?

16
задан Peter Mortensen 16 November 2013 в 18:59
поделиться

4 ответа

Вы можете использовать коммерческую версию Dotfuscator для автоматического обфускации приложения ClickOnce, добавив манифест развертывания («foo.application») в качестве входных данных в ваш проект Dotfuscator. Dotfuscator позволит вам добавлять любые необходимые исключения к сборкам, содержащимся в приложении ClickOnce, и создаст обновленные манифесты развертывания и приложения, содержащие запутанные сборки.

Бесплатная версия Dotfuscator, включенная в Visual Studio (включая Visual Studio 2010), не имеет функции автоматического обфускации приложений ClickOnce. Чтобы получить работающее запутанное приложение ClickOnce, вам нужно будет воссоздать или обновить манифесты ClickOnce, поскольку обфускация изменяет подписи сборок.

Для обновления манифестов ClickOnce можно использовать mage.exe или mageui.exe (включен в Windows / .NET SDK). Если вы собираетесь использовать mage.exe, вы должны знать, что вы не можете использовать параметр «Использовать расширение файла .deploy» в параметрах ClickOnce, поскольку он его не распознает.

Предполагая, что ваше приложение ClickOnce называется «Foo» и имеет версию 1.0.0.0, вам нужно будет выполнить следующий процесс:

  1. Опубликуйте приложение ClickOnce в каталог на диске
  2. Запустите Dotfuscator CE и добавьте сборки вы хотите, чтобы вас запутали из каталога bin вашего проекта
  3. Обфускация сборок. Обфусцированные сборки по умолчанию помещаются в подкаталог с именем «Dotfuscated».
  4. Откажитесь от запутанных сборок с помощью sn.exe (только если вы изначально строго назвали их)
  5. Скопируйте запутанные сборки поверх тех, что находятся в каталоге ClickOnce publish \ Application Files \ Foo_1_0_0_0
  6. Обновите манифест приложения и откажитесь от него:

    mage.exe - Обновите "Application Files \ Foo_1_0_0_0 \ Foo.exe.manifest" -CertFile "c: \ Foo \ foo.pfx" -Password password

  7. Обновите манифест развертывания и откажитесь от него:

    mage.exe -Update Foo.application -AppManifest "Application Files \ Foo_1_0_0_0 \ Foo.exe.manifest" -CertFile "c: \ Foo \ foo.pfx" -Password password

Теперь у вас есть действующий манифест приложения и развертывания с использованием запутанных сборок. Вы также можете использовать инструмент MageUI.exe для выполнения тех же задач (и он знает, как обрабатывать сборки с расширением .deploy), но его не так просто автоматизировать.

23
ответ дан 30 November 2019 в 21:10
поделиться

Да, это совместимые технологии. ClickOnce просто фокусируется на развертывании приложения и связанных с ним двоичных файлов на целевой машине. Dotfuscator отключает файлы DLL и EXE. Они будут работать вместе, если вы запустите Dotfuscator перед публикацией приложения.

1
ответ дан 30 November 2019 в 21:10
поделиться

Если вы используете VS2010, поставляемый с ним Dotfuscator запутает файлы, а затем повторно подпишет манифесты за вас. [Edit - это неверно, если вы не купите полную версию; он работает так же, как VS2008.]

Если вы используете VS2008, вам нужно будет опубликовать, затем скрыть файлы, а затем повторно подписать манифесты с помощью Mage или MageUI.

0
ответ дан 30 November 2019 в 21:10
поделиться
-1
ответ дан 30 November 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: