Может ли приложение WinRT использовать обфускацию?


Все приложения Metro должны быть проверены перед распространением через Windows 8 AppStore. Означает ли это, что нельзя будет использовать обфускацию кода? Или это все еще возможно, и только некоторые конкретные аспекты будут контролироваться во время такой проверки?

3 6

3 ответа:

Вот некоторые факты:

  • Marketplace для WP7 позволяет запутывать приложения C# (даже MS он советует и я не вижу никаких причин, почему Windows AppStore будет запрещать такие приложения.
  • почти наверняка некоторые поставщики предоставят совместимый C++ обфускатор.
  • Вы должны заботиться о своих клиентах, а не о крекерах. :)
  • Многие хаки для запутывания кода будут запрещены.

Помните, если у вас есть какая-то логика, которую вы хотите скрыть, сделайте webservice и использовать его в вашем клиентском приложении. Лучше потратьте свое время на создание лучшего приложения, исправление ошибок и т. д.

Нет кости, если у кого-то есть доступ к двоичным файлам, это только вопрос времени, когда кто-то взломает его.

Это ответ кресла с некоторыми вещами, которые приходят на ум:

  1. Даже приложение C++ все еще может быть аназлировано, если оно зависит от динамической привязки к среде выполнения или API, что имеет место с приложениями WinRT. Теоретически одобрение Microsoft может включать автоматическое или управляемое человеком тестирование вашего приложения с использованием специальной песочницы и / или крючков ОС, способных обнаруживать, если ваше приложение пытается выполнить определенные Запрещенные операции.

  2. Под капотом, C++ приложения для WinRT они больше похожи на собственные приложения C++, чем на C++/CLI, поэтому обфускация не нужна в той степени, в какой она нужна для C#, при прочих равных условиях.

  3. Вы по-прежнему можете создавать приложения C#, предназначенные для WinRT, но ваш код все равно будет компилироваться в CIL и выполняться в среде CLR (более или менее), вызывая WinRT через обертки, предоставляемые Microsoft. Поскольку это CIL, вопрос об обфускации должен быть эквивалентен вопросу обфускации C# / .NET в целом.

Обфускация все еще возможна для WinRT. Проверка, проводимая комплектом сертификации приложений, охватывает множество аспектов, включая метаданные и проверку IL. Так же, как старый peverify сделал.