Jetbrains dotpeek что это за программа

Доступен для скачивания dotPeek 1.1 EAP

В нашем недавнем посте мы анонсировали выход в EAP 8й версии ReSharper, упомянув улучшенную поддержку декомпиляции. Сегодня мы рады анонсировать, что следующая версия dotPeek, нашего бесплатного декомпилятора, также достигла стадии EAP. Вот несколько новых возможностей, которые можно попробовать уже сегодня.

Экспорт сборки в проект

Многие наши пользователи просили нас добавить возможность сохранения декомпилированной сборки в формате готового к компиляции проекта Visual Studio. Мы учли ваши пожелания и теперь можно кликнуть правой кнопкой на декомпилированной сборке и выбрать опцию «экспортировать в проект»:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Все что нужно сделать – это предоставить программе путь для сохранения проекта и его название. Также вы можете сгенерировать решение Visual Studio (.sln файл), если это вам требуется.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Диалог выше позволяет сгенерировать проект (.csproj), содержащий все декомпилированные файлы. dotPeek очень умен, когда дело касается создания проектов – вот некоторые оптимизации, которые он реализует:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Поддержка проектных файлов в Assembly Explorer

Дабы упростить ориентирование в только что сгенерированном коде, Assembly Explorer поддерживает моментальную загрузку сгенерированного проекта. Эта опция доступна как один из чек-боксов (Add project to Assembly Explorer) в скриншоте выше.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Go to Everything

Так же как и ReSharper, dotPeek поддерживает новую парадигму, так что нажатие Ctrl + T теперь позволяет вам навигировать к файлам, символам и типам в одном меню:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

И еще кое-что

Вот еще несколько фич которые стали доступны:

Источник

Защищаем приложение, написанное на C#

Периодически мне пишут с вопросом о том, как защитить свою программу, написанную на дотнетовской платформе. Что и говорить, но вопрос защиты интеллектуальной собственности возникает у программистов всегда.

К сожалению, дотнетовские программы, равно как джавовские, довольно-таки просто «вскрыть». Виной всему байт-код, позволяющий специальными программами легко дизассемблировать и воссоздать первоначальный код. Далеко ходить не нужно за примерами, так как даже VS поставляется с дизассемблером ILDasm.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

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

Методы защиты C# приложения

Бывалые программисты, увидев данный заголовок, просто усмехнутся и скажут, что при неправильной архитектуре приложения все попытки его защитить будут сразу обречены. На самом деле, с ними можно согласиться и не согласиться одновременно. Да, если писать клиент-серверное приложение, в котором вся логика рассчитывается на сервере, а клиент просто служит для вывода результата на экране пользователя, то можно даже не пытаться защищать такую программу – глупо, так как ключи хранятся в базе данных на сервере и при подключении просто сверяется с базой, да и в коде клиента мало чего полезного можно встретить. В эпоху повальной интернетизации, подобное решение внедрялось повсеместно, вызывая кучу недовольства у пользователей.

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

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

К сожалению, описание dotPeek и работа с помощью него выходит за пределы данной статьи, поэтому просто приведу примеры того, что этот инструмент вообще умеет. А этот список весьма и весьма внушительный. Я просто приведу наиболее важные для крэкера функции.

Для отображения декомпилированного кода dotPeek использует большинство функций, привычных пользователям Microsoft Visual Studio: открытие декомпилированных файлов в отдельных вкладках, подсветка синтаксиса, сворачивание блоков кода, нумерация строк и многое другое.

Если вы хотите не только исследовать сборку, но и внести в нее изменения, dotPeek позволит вам преобразовать и сохранить ее в проект Microsoft Visual Studio и, таким образом, продолжить работу уже с исходным кодом сборки.

Занятная тулза, не так ли? Но самое главное – dotPeek абсолютно бесплатный, в отличие от «дедушки» .NET Reflector, который раньше был едва ли не стандартом де-факто для декомпиляции дотнетовских приложений. Так как вам все равно нужно будет смотреть то, насколько хорошо вы защитили свое приложение, то dotPeek должен быть у вас всегда. Скачать его можно на сайте https://jetbrains.ru/products/dotpeek/

Естественно, что когда все знают о том, что программу на C# может «взломать» любой, способный крякнуть игру, начинается шевеление и волнение. В итоге, нужно устранить очевидные проблемы в защите.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Еще один обфускатор, который лично мне нравится – это пресловутый ConfuserEx. Он опенсорсный и дает весьма сильную защиту. Например, можете увидеть то, как он «путает» код и не дает прочитать его с помощью еще одного исследователя ILSpy.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Скачать его можете на https://yck1509.github.io/ConfuserEx/. Тем не менее, его можно все же снять небезызвестным De4dot, при условии, что реверсер его правильно определит, имейте это в виду.

2 ) Крипторы и пакеры. На самом деле, хотя и дают сильную защиту, но большинство проектов попросту брошены или они стоят безумно больших денег. Поэтому на них я останавливаться не стану.

3) Новые студии разработки (начиная с 2015) меня больше радуют. Майкрософт разработала технологию .NET Native, позволяющую скомпилировать дотнетовское приложение в нативный код.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Резюме

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

C# приложения были изначально уязвимы для реверсинга. В этом плане, они не сильно далеко ушли даже от того же JS, хотя там вообще все очевидно. Обфускация запутает код и инструменты типа dotPeek или ILSpy. Но важно понимать, что все они обрасли дополнительными плагинами, которые позволяют определить защиту и всячески ее снять. Тем не менее, пренебрегать ими не стоит.

Если вы точно знаете, что приложение будет написано только для майкрософтовской платформы, я бы все-таки порекомендовал компилировать его в нативный код с помощью .NET Native.

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

Источник

Jetbrains dotpeek что это за программа

Декомпилятор поддерживает различные форматы файлов, включая библиотеки (.dll), исполняемые файлы (.exe) и файлы метаданных Windows (.winmd).

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Экспорт декомпилированного кода в проекты Visual Studio

После декомпиляции сборку можно сохранить в проект Visual Studio (.csproj). Это позволит сэкономить время, если потребуется восстановить потерянный исходный код из устаревшей сборки.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Загрузка исходного кода и отладка стороннего кода

dotPeek умеет распознавать локальный исходный код на основе PDB-файлов и получать код с серверов исходного кода, таких как Microsoft Reference Source Center или SymbolSource.

dotPeek также может выступать в качестве сервера символов и предоставлять отладчику Visual Studio информацию, необходимую для отладки сборки.

Навигация и поиск

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

Поиск использований символа

Действие Find Usages поможет найти все методы, свойства, локальные переменные и другие сущности, в которых используется искомый символ. В окне Find Results вы можете группировать результаты поиска, перемещаться по ним и переходить к ним в области просмотра кода.

Контекстная навигация

Переход к связанному коду

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

Источник

Introducing JetBrains dotPeek

What is dotPeek

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

dotPeek has gone public for the first time in May 2011 as JetBrains opened an Early Access Program (EAP) that implied regular publishing of pre-release builds. dotPeek 1.0 has been officially released on May 10, 2012. The latest official version of the decompiler and assembly browser is always available at http://www.jetbrains.com/decompiler

JetBrains is also providing decompiling functionality as part of ReSharper, the renowned productivity tool for Visual Studio.

Distribution Options

dotPeek is available for download in two distributions: an .msi installer and portable versions for 32-bit and 64-bit processors.

Both distributions are functionally equivalent except for the way you configure Windows Explorer integration.

Windows Explorer Integration

dotPeek allows opening assemblies right from the Windows Explorer by right-clicking on them and choosing Browse with JetBrains dotPeek. If you’re deploying dotPeek using the installer, Windows Explorer integration is enabled automatically. However, if you’re using the portable distribution, you need to choose Tools | Options | Environment | General, and select Integrate with Windows Explorer to enable Windows Explorer integration.

Assembly Explorer

Files can be opened in one of the following ways:

You can also load entire folders into the Assembly Explorer by choosing File | Explore Folder. When you ask dotPeek to explore a folder, it processes all its subfolders in hunt for files that it is able to decompile, and displays the folder’s hierarchy in the Assembly Explorer.

Assembly Explorer uses the same set of icons that are used in Visual Studio for identification of code symbols. To filter the content displayed in the Assembly Explorer, start typing the name of an assembly or a symbol.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Since dotPeek processes selected folders recursively, make sure to act wisely. You wouldn’t really want to explore the entire Program Files folder because it would take a really long time to load all assemblies that it contains.

To apply order to the way you work with multiple assemblies, and also to support switching between different sets of assemblies, dotPeek provides assembly lists. You can work with different assembly lists depending on your context. You can save and reopen assembly lists, or clear the current list if you no longer need it. Assembly lists are not limited to .dll and .exe files: they can contain all supported file types (including archives) and folders.

Global Assembly Cache

Export to Project

dotPeek provides a command that automatically decompiles the selected library and saves it as a complete Visual Sudio project. Right-click on the assembly in the Assembly Explorer, and choose Export to Project. There is an option to open the decompiled project in Visual Studio right away:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Viewing source code

Source code that dotPeek decompiles is presented as C#. The Code Viewer has the look-and-feel of editor tabs in Visual Studio, with configurable presentation options, such as line numbers, options for word wrap and outlining, white space marks, and tabs to open different types in.

Code syntax is highlighted ReSharper-style, with distinctive colors for properties, types, accessors, and methods. When you put the caret on a delimiter, be it a brace or, say, parenthesis, it gets highlighted along with its counterpart, bringing focus to the scope of the particular code block you’re in:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Another noticeable ReSharper-like feature gets handy when you want to select a part of decompiled code, and is called Extend/Shrink Selection. Using a dedicated shortcut (by default, Ctrl+Alt+Right) lets you successively select expanding blocks of code, starting from a substring of a symbol, on to a statement, line, code block, and all the way to the entire code file. A pair shortcut (Ctrl+Alt+Left) works the opposite way, successively narrowing a selection. Read more about this functionality as it is implemented in ReSharper.

When you explore decompiled code, you may be willing to learn more about referenced types and method calls without opening their declarations. Two coding assistance features from ReSharper will help you with that:

View | Parameter Information (Ctrl+P) on a method call will display all available signatures of a given method.

Using the Show compiler-generated code switch on the dotPeek action bar, you can choose to turn off certain compiler transformations, thus making code structure that dotPeek displays very similar to what the compiler turns it to. This helps see how compiler deals with lambdas, closures, and auto-properties, among other things.

Navigation and Search

The main thing that distinguishes dotPeek from other decompilers around is that the majority of ReSharper navigation features are available in dotPeek as well.

Navigating to everything

Use Navigate | Go to Everything/Type (Ctrl+T) to navigate to all possible destinations (types, symbols or files). The list of suggestions appears as soon as you invoke this command and initially includes your recent files and navigated items. As you type in the pop-up, the list is updated according to your input.

Navigating to a type

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Navigating to a specific symbol

Use Navigate | Go to Symbol (Shift+Alt+T) to navigate to a specific symbol declaration, which could be a type, method, field, or property. Again, use CamelHumps to narrow down the list of symbols that dotPeek presents:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Navigating to string literals

If necessary, you can also jump to any string literal defined in methods within all current assemblies and all assemblies referenced from those assemblies. To do so, choose Navigate | Go to String in the menu and then start typing characters in the pop-up that appears. As you type, the lookup list narrows down, suggesting string declarations that match the entered substring.

Navigating between file members

As soon as you’ve opened a specific type, use Navigate | Go to File Member (Alt+Backslash) for a quick overview of and navigation to members in this file.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Alternatively, you can open the File Structure window (Windows | File Structure, or Ctrl+Alt+F) for a static display of members in the current file.

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

File Structure provides additional file browsing capabilities: for example, if you set Automatically scroll to source in File Structure toolbar, every time you select a member in File Structure, the code viewer scrolls to the declaration of this member.
The Track caret in editor option works the opposite way: as you move the caret within the code viewer, the corresponding member is highlighted in File Structure.

Navigating to a code file or assembly

dotPeek also provides Go to File (Navigate | Go to File or Ctrl+Shift+T) to quickly open files, folders, and assemblies. There are two use cases for this feature:

Speaking of previously opened files, if you’ve recently closed a code file but you need to have it open again, there’s an easy way to have it back: just choose Navigate |Recent Files (Ctrl+,) and in the resulting drop-down list, pick the file you’re looking for:

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Context-sensitive navigation

dotPeek provides the same level of insight in context-sensitive navigation between decompiled code symbols as ReSharper does for source code. You navigate to symbol declarations, implementations, derived and base symbols, and any other applicable destinations just like you would in Visual Studio with ReSharper enabled.
Specifically, when you’ve landed the caret on a symbol, you can always get an overview of all possible navigation targets using the Navigate To drop-down menu (Navigate | Navigate To or Alt+`):

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

The majority of navigation destinations presented in the Navigate To drop-down menu are also available directly through the top-level Navigate menu.
The following context-sensitive navigation commands can be available depending on context:

Searching in decompiled Code

dotPeek offers the same capabilities of searching for items in decompiled code as ReSharper offers in source code inside Visual Studio. Here’s the list of features serving to find all references to a certain symbol:

Источник

Jetbrains dotpeek что это за программа. Смотреть фото Jetbrains dotpeek что это за программа. Смотреть картинку Jetbrains dotpeek что это за программа. Картинка про Jetbrains dotpeek что это за программа. Фото Jetbrains dotpeek что это за программа

Декомпилятор поддерживает несколько форматов, включая библиотеки (.dll), исполняемые файлы (.exe) и файлы метаданных Windows (.winmd).

Экспорт декомпилированного кода в проекты Visual Studio. Как только вы декомпилируете сборку, вы можете сохранить ее как проект Visual Studio (.csproj). Это может сэкономить много времени, если вам нужно восстановить потерянный исходный код из устаревшей сборки.

Загрузите исходный код и отлаживайте сторонний код. dotPeek может идентифицировать локальный исходный код на основе файлов PDB или извлекать исходный код с исходных серверов, таких как Microsoft Reference Source Center или SymbolSource.

dotPeek также может выступать в качестве сервера символов и поставлять отладчик Visual Studio с информацией, необходимой для отладки кода сборки.

Навигация и поиск, dotPeek наследует множество функций от ReSharper. К ним относятся контекстная и контекстно-зависимая навигация, поиск использования, а также различные представления структуры кода и иерархии.

Найдите использование любого символа, используйте «Найти использование» для поиска всех видов использования символа, будь то метод, свойство, локальная переменная или другой объект. Окно инструмента «Результаты поиска» позволяет группировать использование, перемещаться между ними и открывать их в области просмотра кода.

Перейти к типу, символу или чему угодно. Всякий раз, когда вы помещаете курсор на символ в области просмотра кода, dotPeek предлагает множество вариантов контекстной навигации, которые доступны в раскрывающемся меню «Навигация».

Перейдите к связанному коду, dotPeek индексирует все сборки в вашем списке сборки, а также все сборки, которые они ссылаются, и предоставляет функции для быстрого перехода к конкретному коду. Например, Go to Everything позволяет искать сборку, пространство имен, тип, член или недавно открытый файл.

Долгосрочные пользователи JetBrains ReSharper будут чувствовать себя как дома, работая с dotPeek, поскольку он обеспечивает навигацию и поиск по ReSharper, понимание кода и привычные сочетания клавиш.

На данной странице вы можете бесплатно скачать последнюю версию JetBrains dotPeek на русском языке.

Разработчик: JetBrains (Чехия)
Дата публикации: 16 Июня 2017 года
Последний раз обновлено: 02 Декабря 2021-года
Русский язык: Есть
Операционная система: Windows 10 / 8.1 / 8 / 7 / XP / Vista 32|64-bit

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *