Существует ли программа для декомпиляции Delphi? [закрытый]

Если вы хотите установить его точное значение с помощью API Core Audio:

using CoreAudioApi;

public class SystemVolumeConfigurator
{
        private readonly MMDeviceEnumerator _deviceEnumerator = new MMDeviceEnumerator();
        private readonly MMDevice _playbackDevice;

        public SystemVolumeConfigurator()
        {
            _playbackDevice = _deviceEnumerator.GetDefaultAudioEndpoint(EDataFlow.eRender, ERole.eMultimedia);
        }

        public int GetVolume()
        {
            return (int)(_playbackDevice.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
        }

        public void SetVolume(int volumeLevel)
        {
            if (volumeLevel < 0 || volumeLevel > 100)
                throw new ArgumentException("Volume must be between 0 and 100!");

            _playbackDevice.AudioEndpointVolume.MasterVolumeLevelScalar = volumeLevel / 100.0f;
        }
}
21
задан Tim Farley 2 December 2008 в 19:40
поделиться

3 ответа

Я не думаю, что существуют любые декомпиляторы машинного кода, которые производят код Паскаля. Большинство "декомпиляторов Delphi" анализирует форму и данные RTTI, но на самом деле не декомпилирует машинный код. Я могу только рекомендовать использовать что-то как DeDe (или подобное программное обеспечение ) для извлечения информации о символе в сочетании с декомпилятором C, затем перевести декомпилируемый код C в Delphi (существует много преобразователей исходного кода там).

12
ответ дан 29 November 2019 в 21:35
поделиться

Вот список: http://delphi.about.com/od/devutilities/a/decompiling_3.htm (и эта страница упоминает еще немного: http://www.program-transformation.org/Transform/DelphiDecompilers )

я использовал DeDe при случае, но это не действительно все, что мощный, и это не актуально с текущими версиями Delphi (последняя версия, которую это поддерживает, Delphi 7, которому я верю)

6
ответ дан 29 November 2019 в 21:35
поделиться

Языки как Delphi, C и Компиляция C++ к собственному машинному коду процессора и выходные исполняемые файлы имеют минимальные метаданные в них. Это в отличие от Java или .NET, которые компилируют в объектно-ориентированный платформенно независимый байт-код, который сохраняет названия методов, параметров метода, классов и пространств имен и других метаданных.

, Таким образом, существует намного менее полезная декомпиляция, которая может быть сделана на коде C или Delphi. Однако Delphi обычно встраивал данные формы для любой формы в проекте (сгенерированный $R *.dfm строка), и это также имеет метаданные по всем опубликованным свойствам, таким образом, определенный для Delphi инструмент был бы в состоянии извлечь эту информацию.

1
ответ дан 29 November 2019 в 21:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: