есть прога на нашем любимом языке, написанная мной, исходный код потерял, но есть скомпилированная прога, как можно получить исходный код для доработки?
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
Как получить исходный код программы и работать с ним
Для работы с любой программой прежде всего необходимо получить её исходный код. Для работы с исходным кодом любой программы из числа размещённых на сайте используется система управления исходным кодом (или, как часто говорят, система контроля версий) 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 во время отладки
Область применения:Visual Studio
Visual Studio для Mac
Visual Studio Code
При отладке приложения .NET вам может потребоваться просмотреть исходный код, которого у вас нет. Например, происходит прерывание в исключении, или стек вызовов используется для перехода к исходному расположению.
- Создание исходного кода (декомпиляция) возможно только для приложений .NET и построено на проекте ILSpy с открытым кодом.
- Декомпиляция доступна только в Visual Studio 2019 версии 16.5 и более поздних версий.
- Атрибут SuppressIldasmAttribute, примененный к сборке или модулю, не позволит Visual Studio выполнить декомпиляцию.
Создание исходного кода
Если при выполнении отладки исходный код недоступен, в Visual Studio отображается документ Исходный код не найден, а если отсутствуют символы для сборки, отображается документ Символы не загружены. Оба документа имеют параметр Декомпилировать исходный код, который создает код C# для текущего расположения. Созданный код C# можно использовать так же, как любой другой исходный код. Вы можете просматривать этот код, проверять переменные, устанавливать точки останова и т. д.
Символы не загружены
На следующем рисунке показано сообщение Символы не загружены.
Исходный код не найден
На следующем рисунке показано сообщение Исходный код не найден.
Создание и внедрение исходного кода для сборки
Можно создать не только исходный код для определенного расположения, но и весь исходный код для конкретной сборки .NET. Для этого перейдите в окно Модули и в контекстном меню сборки .NET выберите команду Декомпилировать исходный код. Visual Studio создает файл символов для сборки, а затем внедряет исходный код в файл символов. На последующем этапе можно извлечь внедренный исходный код.
Извлечение и просмотр внедренного исходного кода
Исходные файлы, внедренные в файл символов, можно извлечь с помощью команды Извлечь исходный код в контекстном меню окна Модули.
Извлеченные исходные файлы добавляются в решение как прочие файлы. В Visual Studio функция «Прочие файлы» по умолчанию отключена. Чтобы включить эту функцию, установите флажок Инструменты>Параметры>Среда>Документы>Показывать прочие файлы в Обозревателе решений. Без включения этой функции вы не сможете открыть извлеченный исходный код.
Извлеченные исходные файлы отображаются в разделе прочих файлов в Обозревателе решений.
SourceLink
Для библиотек .NET или пакетов NuGet, включенных для SourceLink, можно также выполнять по шагам исходный код, задавать точки останова и использовать все функции отладчика. Дополнительные сведения см. в разделе Улучшение производительности во время отладки с помощью SourceLink.
Известные ограничения
Требуется режим прерывания выполнения
Создание исходного кода с помощью декомпиляции возможно только в том случае, если отладчик находится в режиме прерывания выполнения и приложение приостановлено. Например, Visual Studio переходит в режим прерывания, попадая в точку останова или в исключение. Вы можете легко активировать прерывание выполнения Visual Studio при следующем запуске кода с помощью команды Прервать все ().
Ограничения декомпиляции
Создание исходного кода из промежуточного языка (IL), используемого в сборках .NET, имеет некоторые внутренние ограничения. Поэтому созданный исходный код не выглядит в точности как оригинальный исходный код. Большая часть различий сосредоточена в тех местах, где информация в оригинальном исходном коде не нужна во время выполнения. Например, во время выполнения не нужна такая информация, как пробелы, комментарии и имена локальных переменных. Рекомендуется использовать созданный исходный код, чтобы понять, как выполняется программа, а не в качестве замены оригинального исходного кода.
Отладка оптимизированных сборок или сборок выпуска
При отладке кода, декомпилированного из сборки, которая была скомпилирована с использованием оптимизаций компилятора, вы можете столкнуться со следующими проблемами:
- точки останова могут не всегда быть привязаны к соответствующим исходным расположениям;
- при пошаговом выполнении шаг может не всегда переходить в правильное место;
- имена локальных переменных могут быть неточными;
- некоторые переменные могут быть недоступны для оценки.
Дополнительные сведения можно найти в описании проблемы 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