Быстрая базовая декомпиляция

Мы ищем быстрый базовый декомпилятор. Программа очень старая, написана в DOS, теперь мы хотим дополнить этот код в Windows дополнительными функциями. К сожалению, разработчик не отслеживается, и единственная надежда - декомпиляция.

Пожалуйста, предложите лучший способ выполнить эту задачу.

Спасибо


person Harsh Parekh    schedule 03.04.2017    source источник
comment
reverseengineering.stackexchange.com /вопросы/1503/   -  person Ry-♦    schedule 03.04.2017
comment
Если вам нужно написать ПО для Windows, я думаю, лучше создать новое ПО :) В противном случае вы можете использовать старое ПО, используя что-то вроде dosbox... Декомпилированный код будет почти ассемблером...   -  person Sir Jo Black    schedule 09.03.2018
comment
Может быть, вы встречаетесь с разработчиком в суде, когда делали улучшения   -  person Lee    schedule 04.04.2019
comment
sourceforge.net/projects/decompiler   -  person user10186832    schedule 03.03.2021


Ответы (2)


[ Дэн на форуме QB на http://qbasicnews.com , 4 мая 2003 г. ]

Вот ответ Microsoft на этот вопрос: Microsoft в настоящее время не предлагает никаких продуктов, способных декомпилировать объектный (.OBJ) или исполняемый (.EXE) файл обратно в исходный исходный код (.BAS). На это есть несколько причин:

  1. Ни один декомпилятор не мог точно воспроизвести исходный код. Когда программа компилируется в объект и компонуется для создания исполняемого файла, большинство имен, используемых в исходной программе, преобразуются в адреса. Эта потеря имен означает, что декомпилятору придется создавать уникальные имена для всех переменных, процедур и меток, и эти имена не будут иметь смысла в контексте программы. Очевидно, что синтаксиса исходного языка больше нет в скомпилированном объектном файле или исполняемом файле. Декомпилятору было бы очень сложно интерпретировать ряд инструкций машинного языка, которые существуют в объекте или исполняемом файле, и решить, какой была инструкция исходного исходного языка.

  2. Если бы такой декомпилятор действительно существовал и был бы доступен, любой мог бы использовать его для декомпиляции любой исполняемой программы, созданной на языке, для которого был разработан декомпилятор. Например, если бы существовал декомпилятор Microsoft BASIC, любой, у кого был бы этот декомпилятор, мог бы использовать его на созданном вами исполняемом файле и получить из этого исполняемого файла копию вашего исходного кода. Исходный код любой программы, которую вы написали на Microsoft BASIC, будет доступен любому, у кого есть декомпилятор. Немногие разработчики коммерческого программного обеспечения захотят использовать языковой продукт, который можно расшифровать, что позволит другим получить их исходный код.

Есть некоторые разговоры от бывших программистов Microsoft, которые клянутся, что это было сделано для их личного использования. Я также видел службу базового декомпилятора на веб-сайте, которая предоставляет некоторый рабочий код BAS из вашего exe, но это беспорядок и не стоит денег, запрашиваемых за услугу (http://02c1289.netsolhost.com).

person Polluks    schedule 04.11.2020

Я могу сказать вам как разработчик программного обеспечения BASIC на протяжении почти всей своей карьеры, что это не то, что вам нужно. Когда пришло время портировать мою бухгалтерскую программу с DOS BASIC на Visual BASIC, наличие исходного кода и полное понимание кода, поскольку это был мой собственный код, нисколько не помогли. Возможно, это выражение слишком часто используется, но DOS и Windows — это яблоки и апельсины. Вы не можете просто преобразовать код, вы должны перепроектировать и кодировать систему.

Все, что вам нужно сделать, это то, что у вас уже есть — рабочая версия скомпилированного кода. Используйте его экраны для разработки своих баз данных и экранов в Windows, а затем напишите базовый код. В любом случае дизайн этих двух вещей часто составляет от половины до 90% работы. Теперь это действительно помогло мне иметь свой собственный источник таких вещей, как, например, как я снова рассчитал эти налоги? Я мог скопировать чистый логический код из DOS в Windows практически без изменений, но все, что касалось базы данных или пользовательского интерфейса, пришлось полностью переделывать.

Если вы не готовы, ищите того, кто готов.

Опять же, вам НЕ нужен исходный код, если только нет какого-то секретного алгоритма, который вам нужно продублировать и который вы не понимаете сами.

person Bill Hileman    schedule 27.11.2020