Как получить исходный код программы

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

Viktor1703

AutoIT Гуру

Сообщения 1,535 Репутация 413
C помощью декомпиляции

scanfail

Знающий

Сообщения 244 Репутация 17

Viktor1703

AutoIT Гуру

Сообщения 1,535 Репутация 413
scanfail, да простят вас модераторы и администраторы

kaster

Мой Аватар, он лучший самый

Команда форума
Глобальный модератор
Сообщения 4,020 Репутация 626
Viktor1703 [?]
scanfail, да простят вас модераторы и администраторы
не простят

scanfail

Знающий

Сообщения 244 Репутация 17
Таки хотел помочь человеку . Но правило, есть правило. 🙁

Viktor1703

AutoIT Гуру

Сообщения 1,535 Репутация 413

scanfail, если хотели помочь человеку, то это можно было сделать через личку, а не выкладывать на всеобщее обозрение

Сообщение автоматически объединено: 11 Фев 2012

Как получить исходный код почти любого apk?

И ещё, раздавая декомпилятор Вы рискуете тем что Ваша программа написанная на AutoIt будет взломана, если человек сам писал программу и потерял исходник, то думаю что ему не сложно будет повторить эту программу по памяти и написать новую, доработанную версию

Источник: autoit-script.ru

Как получить исходный код программы и работать с ним

Аватар пользователя cansee

Для работы с любой программой прежде всего необходимо получить её исходный код. Для работы с исходным кодом любой программы из числа размещённых на сайте используется система управления исходным кодом (или, как часто говорят, система контроля версий) Mercurial. Узнать о ней подробней и скачать дистрибутив для вашей операционной системы можно на официальном сайте: http://mercurial.selenic.com/. В случае, если вы используете какой-либо из дистрибутивов Linux, пакеты Mercurial скорее всего есть в репозиториях вашего дистрибутива.

Репозитории с исходным кодом программ находятся на сайтах SourceForge и BitBucket. Ссылка на репозиторий, из которого можно получить исходный код, обычно дана на страничке скачивания для каждой программы. Для скачивания достаточно ввести в командной строке одну команду. Например, для получения исходного кода StockNovice нужно набрать:
hg clone http://hg.code.sf.net/p/stocknovice/code

Читайте также:
Программа чтобы посчитать слова

Все программы написаны на Qt. Узнать больше о Qt можно на официальном сайте: http://qt-project.org/downloads. Скачать Qt и средства разработки на Qt для вашей операционной системы также можно на официальном сайте: http://qt-project.org/downloads. Разработка ведётся с использованием QtCreator, поэтому работать с кодом удобнее всего именно в этой программе, хотя возможно и использование других сред разработки.

Как получить исходный код функции в виде текста. Python. Александр Килинкаров

Сборочные скрипты пока не поставляются в составе исходного кода, хотя работа в этом направлении ведётся — планируется перевести все проекты на систему сборки CMake. В состав последних версий StockNovice уже включен файл CMakeLists.txt, который обеспечивает сборку, но пока ещё не обеспечивает установку.

В случае, если у вас возникли любые вопросы по участию в разработке — вы можете задать их здесь на форуме или через контактную форму.

  • Войдите, чтобы оставлять комментарии

Источник: life-warrior.org

Создание исходного кода из сборок .NET во время отладки

Область применения:yesVisual StudionoVisual Studio для Mac noVisual Studio Code

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

  • Создание исходного кода (декомпиляция) возможно только для приложений .NET и построено на проекте ILSpy с открытым кодом.
  • Декомпиляция доступна только в Visual Studio 2019 версии 16.5 и более поздних версий.
  • Атрибут SuppressIldasmAttribute, примененный к сборке или модулю, не позволит Visual Studio выполнить декомпиляцию.

Создание исходного кода

Если при выполнении отладки исходный код недоступен, в Visual Studio отображается документ Исходный код не найден, а если отсутствуют символы для сборки, отображается документ Символы не загружены. Оба документа имеют параметр Декомпилировать исходный код, который создает код C# для текущего расположения. Созданный код C# можно использовать так же, как любой другой исходный код. Вы можете просматривать этот код, проверять переменные, устанавливать точки останова и т. д.

Читайте также:
Команда чтобы закрыть программу

Символы не загружены

На следующем рисунке показано сообщение Символы не загружены.

Screenshot of no symbol loaded document

Исходный код не найден

На следующем рисунке показано сообщение Исходный код не найден.

Screenshot of source not found document

Создание и внедрение исходного кода для сборки

Можно создать не только исходный код для определенного расположения, но и весь исходный код для конкретной сборки .NET. Для этого перейдите в окно Модули и в контекстном меню сборки .NET выберите команду Декомпилировать исходный код. Visual Studio создает файл символов для сборки, а затем внедряет исходный код в файл символов. На последующем этапе можно извлечь внедренный исходный код.

Screenshot of assembly context menu in modules window with decompile source command.

Извлечение и просмотр внедренного исходного кода

Исходные файлы, внедренные в файл символов, можно извлечь с помощью команды Извлечь исходный код в контекстном меню окна Модули.

Screenshot of assembly context menu in modules window with extract sources command.

Извлеченные исходные файлы добавляются в решение как прочие файлы. В Visual Studio функция «Прочие файлы» по умолчанию отключена. Чтобы включить эту функцию, установите флажок Инструменты>Параметры>Среда>Документы>Показывать прочие файлы в Обозревателе решений. Без включения этой функции вы не сможете открыть извлеченный исходный код.

Screenshot of tools option page with miscellaneous files option enabled.

Извлеченные исходные файлы отображаются в разделе прочих файлов в Обозревателе решений.

Screenshot of solution explorer with miscellaneous files.

Для библиотек .NET или пакетов NuGet, включенных для SourceLink, можно также выполнять по шагам исходный код, задавать точки останова и использовать все функции отладчика. Дополнительные сведения см. в разделе Улучшение производительности во время отладки с помощью SourceLink.

Известные ограничения

Требуется режим прерывания выполнения

Break all icon

Создание исходного кода с помощью декомпиляции возможно только в том случае, если отладчик находится в режиме прерывания выполнения и приложение приостановлено. Например, Visual Studio переходит в режим прерывания, попадая в точку останова или в исключение. Вы можете легко активировать прерывание выполнения Visual Studio при следующем запуске кода с помощью команды Прервать все ().

Ограничения декомпиляции

Создание исходного кода из промежуточного языка (IL), используемого в сборках .NET, имеет некоторые внутренние ограничения. Поэтому созданный исходный код не выглядит в точности как оригинальный исходный код. Большая часть различий сосредоточена в тех местах, где информация в оригинальном исходном коде не нужна во время выполнения. Например, во время выполнения не нужна такая информация, как пробелы, комментарии и имена локальных переменных. Рекомендуется использовать созданный исходный код, чтобы понять, как выполняется программа, а не в качестве замены оригинального исходного кода.

Читайте также:
Cs программа что такое

Отладка оптимизированных сборок или сборок выпуска

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

  • точки останова могут не всегда быть привязаны к соответствующим исходным расположениям;
  • при пошаговом выполнении шаг может не всегда переходить в правильное место;
  • имена локальных переменных могут быть неточными;
  • некоторые переменные могут быть недоступны для оценки.

Дополнительные сведения можно найти в описании проблемы GitHub Интеграция ICSharpCode.Decompiler с отладчиком VS.

Надежность декомпиляции

Относительно небольшой процент попыток декомпиляции может привести к сбою. Это происходит из-за ошибки пустой ссылки точки последовательности в ILSpy. Мы устранили этот сбой путем перехвата таких проблем и корректного завершения попытки декомпиляции.

Дополнительные сведения можно найти в описании проблемы GitHub Интеграция ICSharpCode.Decompiler с отладчиком VS.

Ограничения при работе с асинхронным кодом

Результаты декомпиляции модулей с шаблонами кода async/await могут быть неполными или неудачными в целом. Шаблоны кода async/await и машины состояния yield state-machine в ILSpy реализованы только частично.

Дополнительные сведения можно найти в описании проблемы GitHub Состояние генератора PDB.

Только мой код

Параметры режима Только мой код (JMC) позволяют Visual Studio выполнять шаг с обходом системы, платформы, библиотеки и других вызовов непользовательского кода. Во время сеанса отладки в окне Модули отображаются модули кода, которые отладчик воспринимает как «Мой код» (т. е. пользовательский код).

При декомпиляции оптимизированных модулей или модулей выпуска создается непользовательский код. Если отладчик прерывается в декомпилированном непользовательском коде, появляется окно Отсутствует источник. Чтобы отключить режим «Только мой код», перейдите в раздел Инструменты>Параметры (или Отладка>Параметры) >Отладка>Общие и снимите флажок Включить только мой код.

Извлеченный исходный код

Исходный код, извлеченный из сборки, имеет следующие ограничения.

  • Имена и расположение созданных файлов нельзя настроить.
  • Файлы являются временными и будут удалены Visual Studio.
  • Файлы помещаются в одну папку без использования какой-либо иерархии, которая была в оригинальных исходных файлах.
  • Имя каждого файла содержит хэш контрольной суммы файла.

Создается только код C#

При декомпиляции создаются только файлы исходного кода на C#. Возможность создавать файлы на каком-либо другом языке отсутствует.

Источник: learn.microsoft.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru