Jetbrains dotpeek что это
Здравствуйте!
Научите, пожалуйста, открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5".
Сам пока не открывал, страшновато. "Декомпилятор JetBrains dotPeek .1.5" скачал вчера.
Он немного чудной — отличается от обычных программ, похож на рисунок.
"Декомпилятор JetBrains dotPeek .1.5" находится у меня в папке "Программные файлы" (объём 46 Мб). Характерная особенность — папок не имеет, сам как — иконка.
Файл-ЕХЕ во вложении (точнее: скачан с "Форума Программистов" за 2010 год)
Помощь в написании контрольных, курсовых и дипломных работ здесь
Не умею открывать файлы, найденные "FindFirst"
Доброго времени суток, дорогие форумчане! Пишу программу для обработки Excel файлов, хочу улучшить.
Модераторы, перенесите, пожалуйста, тему в раздел, где "Корифеи С++ "! От "начинающих" — толку не будет.
Нет желания ожидать: "когда рак на горе свистнет".
Сам пытаюсь что-то делать, но пока много неясного.
Например, распаковываю архив до 209 Кб. Запускаю: дважды ЛКМ
Появляется Командная строка:
Shaker Sort.
Enter array dimension:
Трудности на ровном месте…
Запускаю Декомпилятор "JetBrains dotPeek 1.5". Отвожу его туда, где файл "распакованный Shaker Sort". Дальше тупик.
По смыслу картинки, ниже, ему что-то не нравится или чего-то не хватает:
Shaker Sort (not supported)
Как уговорить Декомпилятор немного поработать?
Ну, раз ты такой крутой, что сам-то не разобрался?В Корифеев ему перенести, программист, а с программкой разобраться не может(даже погуглить) открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5". не бывает
декомпилировать исполняемый код, нереально
компиляция необратимый процесс
например
написал ты
а компилятор это все заменил на sum=45
и насколько я почитал, JetBrains это декомпилятор для шарпа, а это совсем другая история ну разве что в синтаксисе и то не всегда
да и в букве как сказал Croessmah
шарп компилит код который должон, по великой задумке мелкомягких, исполнятся на любой машине, NET технология, понимаешь
и посему из них вполне реально выдернуть исходники
а плюсы компилят код уже в машинных кодах,можно сказать в ассемблере,хотя это не совсем верно
для ARM будет совсем другой код, нежли для Intel
да еще оптимизатор постарается
так что дизассемблер в зубы
IDA например, у неё есть модуль который переводит из ассемблера в Си
но чаще всего лучше бы он этого не делал, запутанный малопонятный код но чаще всего лучше бы он этого не делал, запутанный малопонятный код то есть получается, что (компилятор + IDA) == (классный "обфускатор")? можно сразу догадаться что сие есть
а IDA опознала как strlen ValeryS, батюшки тот редкий случай, когда на asm'е читабельнее?
Спасибо толковым людям, подсказали: декомпиляция с помощью OllyDbg! Осталось немного доработать саму идею. Потом напишу о результатах.
ValeryS, спасибо!
Этих книг до смерти не перечитать. Мне нужны только мельчайшие детали, полагаюсь на интуицию или озарение. Вся суть ниже, пока её не оспариваю.
Как узнать исходный код программы? Декомпиляция С++.
Как узнать исходный код С++
Вопрос: Нужно узнать исходный код программы, написанной на C++. (Почему именно на с++? - Не спрашивайте, просто знаю и всё.)
Решение
Мне нужны только мельчайшие детали, полагаюсь на интуицию или озарение. ну полагайся, полагайсядля работы с Олькой (да и с ИДой тоже)нужно прекрасно знать ассемблер, архитектуру,знать Си на низком уровне,как выглядят строки, структуры, классы, адресная арифметика, ОСь опять же
никаких Сишных строк ты в листинге не увидишь
декомпиляция невозможна, возможно дизассемблирование
это разные вещи
Вы, наверно, преподаватель — ощущается педант.
Когда всё перечитаю и выучу, то угроблю: интерес, страсть и жизнь. Кроме того и сам себя поневоле, в момент чтения, буду зомбировать, загоню в прокрустово ложе стереотипов. Сейчас… разбежался.
Периодически мне пишут с вопросом о том, как защитить свою программу, написанную на дотнетовской платформе. Что и говорить, но вопрос защиты интеллектуальной собственности возникает у программистов всегда.
К сожалению, дотнетовские программы, равно как джавовские, довольно-таки просто «вскрыть». Виной всему байт-код, позволяющий специальными программами легко дизассемблировать и воссоздать первоначальный код. Далеко ходить не нужно за примерами, так как даже VS поставляется с дизассемблером ILDasm.
На самом деле, эту тему можно копнуть на страниц 20 и все равно она получится достаточно поверхностной. Поэтому давайте будем отталкиваться от инструментария, которыми пользуются крэкеры и программисты. Хотя это и будет скорее обзорная статья, тем не менее, постараюсь давать именно полезную информацию.
Бывалые программисты, увидев данный заголовок, просто усмехнутся и скажут, что при неправильной архитектуре приложения все попытки его защитить будут сразу обречены. На самом деле, с ними можно согласиться и не согласиться одновременно. Да, если писать клиент-серверное приложение, в котором вся логика рассчитывается на сервере, а клиент просто служит для вывода результата на экране пользователя, то можно даже не пытаться защищать такую программу – глупо, так как ключи хранятся в базе данных на сервере и при подключении просто сверяется с базой, да и в коде клиента мало чего полезного можно встретить. В эпоху повальной интернетизации, подобное решение внедрялось повсеместно, вызывая кучу недовольства у пользователей.
Да, серьезные продукты привязывают к электронным ключам, вставляемым в ПК, но у инди-разработчиков подобных возможностей просто нет, да и даже такие решения все же можно эмулировать, хотя и довольно-таки сложно.
Как я уже писал, главная проблема дотнетовских программ, равно как джавашных – легкий способ получения исходников. Да, получить исходный код сейчас просто плевое дело. Например, можно воспользоваться бесплатным dotPeek от JetBrains. Фактически, основанный на базе известного Resharper от этой же студии, данный инструмент позволяет легко и непринужденно вскрыть внутренности исследуемой программы, если незадачливый программист не позаботился о ее своевременной защите.
К сожалению, описание dotPeek и работа с помощью него выходит за пределы данной статьи, поэтому просто приведу примеры того, что этот инструмент вообще умеет. А этот список весьма и весьма внушительный. Я просто приведу наиболее важные для крэкера функции.
Для отображения декомпилированного кода dotPeek использует большинство функций, привычных пользователям Microsoft Visual Studio: открытие декомпилированных файлов в отдельных вкладках, подсветка синтаксиса, сворачивание блоков кода, нумерация строк и многое другое.
Если вы хотите не только исследовать сборку, но и внести в нее изменения, dotPeek позволит вам преобразовать и сохранить ее в проект Microsoft Visual Studio и, таким образом, продолжить работу уже с исходным кодом сборки.
- Вернее, он бесплатный только для личного использования, для бизнеса он стоит ну очень много убитых енотов. Он уже интегрирован в Visual Studio. Честно, помню недовольные отзывы о нем в плане неочевидности и прочего, но как по мне, пользоваться им достаточно просто. Да, есть хромые места, но идеальных обфускаторов, думаю вообще не существует. В любом случае, начните хотя бы с него. По крайней мере, у него есть также и защита от отладки. Для новичков он будет весьма и весьма кстати.
Еще один обфускатор, который лично мне нравится – это пресловутый ConfuserEx. Он опенсорсный и дает весьма сильную защиту. Например, можете увидеть то, как он «путает» код и не дает прочитать его с помощью еще одного исследователя ILSpy.
2 ) Крипторы и пакеры. На самом деле, хотя и дают сильную защиту, но большинство проектов попросту брошены или они стоят безумно больших денег. Поэтому на них я останавливаться не стану.
Резюме
Вопрос защиты интеллектуальной собственности стоял всегда перед разработчиками. Пиратство и антипиратство буквально шагают рука об руку, создавая всевозможные инструменты.
Тем не менее, не забывайте, что любую программу всегда можно взломать. Вопрос стоит только в том, кому это понадобится.
Декомпилятор поддерживает несколько форматов, включая библиотеки (.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 года
Последний раз обновлено: 10 Ноября 2021-года
Русский язык: Есть
Операционная система: Windows 10 / 8.1 / 8 / 7 / XP / Vista 32|64-bit
Читайте также: