Страницы

Поиск по вопросам

Показаны сообщения с ярлыком отладчик. Показать все сообщения
Показаны сообщения с ярлыком отладчик. Показать все сообщения

пятница, 13 декабря 2019 г.

Как посмотреть исходный код программы?

#cpp #отладчик


Я хочу подправить исходный код, ничего серьезного, только вывод нескольких строк.
Программа написана скорее всего на С++. Мне использовать отладчик? Или как-то открыть
в IDE? Просто я не хочу запускать программу, хочу просто поковыряться в коде. И может
посоветуете какой нибудь? 
P.S. Сам файл - .exe
    


Ответы

Ответ 1



Исходный код раскрыть невозможно если для этого постарались обеспечить безопасность (особенно если это фирменная вещь). Но есть способы полностью или частично раскрыть код. IDA Pro - самый лучший из безплатных взломщиков, некоторые макросы возможно позволяют преобразовать код назад. Но не всегда. Особо хорошо раскрываются borland-продукты. Hiew.Exe бесплатная утилита, очень маленькая, позволяет править код на языке ассемблера. Можно править текстовые и целые константы. Можно ею даже сделать "перевод" программы на другой язык, затереть имя фирмы и т.п. Если есть PDB-файл, или подшита debug-info к файлу то код можно получить в среде разработки (если debug-info полная) редко можно использовать. Исходный код получить нельзя, но можно получить "номера строк и имена исходников", а так же имена/значения всех констант, локальных переменных, избежать "раздроблености функций" а так же получить классы с начинкой класса (почти все структуры кроме текста программы) что значительно упростит понимание работы программы. Для некоторых библиотек (dll) pdb-файлы можно скачать отдельно. Врядли уважающая себя фирма допустит утечку pdb своего стоящего продукта. Debug info, существует DebugInfo-информация встроеная в exe. Если есть такая информация, и соответствующая утилита (Например на Borland Delphi собран, и он есть в наличии), то можно сделать аналогичное предыдущему пункту. Но врядли уважающая себя фирма допустит такую "глупую" ошибку (аналогично pdb). Если файл написан на с# его можно почти полностью просмотреть в кодах с помощью disSharp (такие программы "подключают" в таблице импорта лишь mscorlib и всё). DisSharp плохо дизассемблирует некоторые части программы, но возможно его платная версия или платная версия подобных утилит раскрывает код лучше. Если файл написан на FoхPro, clipper и других подобный байт-кодовых языках - он раскрывается спец-утилитами (Refox например). Утилита exescope.exe ResourceHacker.exe и её-подобные утилиты позволяют смотреть шапку, подключенные библиотеки (по ним можно понять на чём писана программа) и редактировать ресурсы программы (ресурс-формы в.т.ч. delphi, иконки, картинки, таблицы ресурсо-строк). Если извесно чем создан код - думаю есть специальные утилиты способные его раскрыть (они платные и малодоступные). Опять-же, это при условии что нету паковщика кода (тогда нужно сначала применить депаковщик), шифровальщика/самомодифицирующегося кода. Если не разбит обфускатором так что не распутать. Чем больше код - тем сложнее разобраться. P.S. Лично моё мнение - раскрывается-взламывается всё, но на это нужно потратить много-много времени. Возможно год и более (зависит от опыта и инструментов, в свободном доступе хороших инструментов нету).

Ответ 2



Рад буду ошибаться, что такого способа для "новичка" просто нет. Вам нужно дизассемблеровать exe-файл в IDA или Hiew32, ну и там уже рассматривать код на языке asm(низкого уровня).

Ответ 3



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

воскресенье, 1 декабря 2019 г.

“Отладчик установлен неправильно” Visual Studio 17

#visual_studio #visual_studio_2017 #отладчик


Здравствуйте. 
Создал новый проект WPF в Студии, покидал нужных виджетов, пытаюсь запустить, получаю
ошибку:

Ошибка при попытке запуска проекта: не удалось запустить программу 
<путь>
Отладчик установлен неправильно. Запустите программу Setup для установки или 
восстановления отладчика.


Запускаю установщик, выбираю VS17 -> изменить. В сводке указанно (если это важно):


Включено


Средства разработки классических приложений
Средства разработки для .NET 4.6.1
C# и Visual Basic

Необязательные


Blend for visual studio
Инструменты для Entity Framework 6
Средства профилирования 
Поддержка языка F#
Средства разработки .NET Core 1.0 - 1.1

Среда выполнения .NET Core
Что еще может понадобиться, ума не приложу.


Не могли бы вы подсказать, в чем может быть дело?



Попытка переустановить студию приводит к сбою установки со следующей ошибкой (из журнала)

Не удалось восстановить пакет "Microsoft.Net.4.6.FullRedist,version=4.6.81.6".
        URL-адрес поиска: https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.Net.4.6.FullRedist;PackageAction=Repair;ReturnCode=5100
        Затронутые рабочие нагрузки
            Основной редактор Visual Studio (Microsoft.VisualStudio.Workload.CoreEditor,version=15.0.26228.0)
        Затронутые компоненты
            Основной редактор Visual Studio (Microsoft.VisualStudio.Component.CoreEditor,version=15.0.26208.0)
        Журнал
            C:\Users\Илья\AppData\Local\Temp\dd_setup_20170524225231_002_Microsoft.Net.4.6.FullRedist.log
        Сведения
            Команда выполнена: "C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Net.4.6.FullRedist,version=4.6.81.6\dotNetFx-x86-x64-AllOS-ENU.exe"
/q /norestart /repair /KeepAUPaused /ChainingPackage Visual_Studio_15_Setup /CEIPconsent
/log "C:\Users\Илья\AppData\Local\Temp\dd_setup_20170524225231_002_Microsoft.Net.4.6.FullRedist.log"
            Код возврата: 5100
            Сведения о коде возврата: Азия




По совету @Eikhner обновил windows, установил проблемный пакет руками, перезагрузился;
никакого эффекта. Попробовал восстановить студию, получаю сбой. Единственная ошибка,
которую пока удалось вынуть из журнала:

Не удалось установить перечисленные рабочие нагрузки и компоненты в продукте из-за
сбоев в пакете.

Неполные рабочие нагрузки
    Основной редактор Visual Studio (Microsoft.VisualStudio.Workload.CoreEditor,version=15.0.26228.0)

Неполные компоненты
        Основной редактор Visual Studio (Microsoft.VisualStudio.Component.CoreEditor,version=15.0.26208.0)

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

Ниже перечислены отдельные сбои в пакете, которые сделали перечисленные выше рабочие
нагрузки и компоненты неполными. Чтобы найти имеющиеся отчеты об этих проблемах, скопируйте
и вставьте URL-адрес из сообщения о сбое пакета в адресную строку веб-браузера. Если
о проблеме уже сообщалось, вы сможете найти решения или обходные пути. В противном
случае вы можете создать новую запись о проблеме, в которой другие пользователи смогут
найти решения или обходные пути.

Не удалось восстановить пакет "Microsoft.Net.4.6.FullRedist,version=4.6.81.6".
        URL-адрес поиска: https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.Net.4.6.FullRedist;PackageAction=Repair;ReturnCode=5100
    Затронутые рабочие нагрузки
        Основной редактор Visual Studio (Microsoft.VisualStudio.Workload.CoreEditor,version=15.0.26228.0)
    Затронутые компоненты
        Основной редактор Visual Studio (Microsoft.VisualStudio.Component.CoreEditor,version=15.0.26208.0)
    Журнал
        C:\Users\Илья\AppData\Local\Temp\dd_setup_20170529214845_002_Microsoft.Net.4.6.FullRedist.log
    Сведения
        Команда выполнена: "C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Net.4.6.FullRedist,version=4.6.81.6\dotNetFx-x86-x64-AllOS-ENU.exe"
/q /norestart /repair /KeepAUPaused /ChainingPackage Visual_Studio_15_Setup /CEIPconsent
/log "C:\Users\Илья\AppData\Local\Temp\dd_setup_20170529214845_002_Microsoft.Net.4.6.FullRedist.log"
        Код возврата: 5100
        Сведения о коде возврата: Азия




@PashaPash, файл, о котором вы говорите, отсутствует, но есть с таким же именем и
расширением .log.html

OS Version = 6.0.6000, SP = 0.0, Platform 2
OS Description = Vista - x64 Ultimate Edition 
MSI = 5.0.7601.23593
Windows version = amd64_windowsfoundation_31bf3856ad364e35_6.1.7601.17514_none_615fdfe2a739474c.manifest
Windows servicing = 6.1.7601.18766
CommandLine = C:\f5fa5e713993e05ed093ae6f7e40\\Setup.exe /q /norestart /repair /KeepAUPaused
/ChainingPackage Visual_Studio_15_Setup /CEIPconsent /log "C:\Users\Илья\AppData\Local\Temp\dd_setup_20170529214845_002_Microsoft.Net.4.6.FullRedist.log"
/x86 /x64 /redist
Using Simultaneous Download and Install mechanism
Operation: Repairing
Package Name = Microsoft .NET Framework 4.6.1 Setup
Package Version = 4.6.01055
User Experience Data Collection Policy: AlwaysUploaded
Logging all the global blocks


Installation Blockers:

Не удается выполнить установку в режиме совместимости.

Final Result: Installation failed with error code: (0x000013EC), "A StopBlock was
hit or a System Requirement was not met." (Elapsed time: 0 00:00:08).


Система почему-то определилась как виста. Что бы это могло означать?
    


Ответы

Ответ 1



Для того, чтобы создать новый проект WPF в Visual Studio 2017, понадобится компонент: Данный компонент содержит в себе все необходимое, конечно, можно поставить дополнительные отдельные компоненты, такие как: Пакет SDK для .NET Framework 4.6.2 .NET Framework 4.6.2 Хотя, все что нужно выбирается автоматически и можно вручную выбрать то, чего не хватает: Если после обновления операционной системы Windows теперь не удается восстановить среду разработки Visual Studio 2017, то тут можно пойти двумя путями. Пробовать нужно сначала с менее затратного: Полностью удалить среду разработки Visual Studio 2017 со всеми ее вспомогательными элементами. После удаления не забывать перезагрузить компьютер и чистить мусор. Зависимые компоненты тоже удалять. Проверить обновления операционной системы Windows, при наличии - установить. Снова перезагрузить систему. Скачать последнюю версию установщика среды разработки Visual Studio 2017, запустить инсталлятор и выбрать необходимые рабочие нагрузки (обязательно выбрать Разработка классических приложений .NET и новый .NET Framework желательно). Завершить установку, при этом следовать инструкции, снова перегрузиться и пробовать создать новый проект, с нуля. (либо просто удалить и установить заново, но лучше конечно все почистить). Сначала показалось, что этот метод менее затратный, но по сути он более затратный, чем следующий, который будет предложен. Итак, быстрый и затратный способ сделать так, чтобы заработало: Перенести нужные файлы на диск, хранящиеся на диске с системой. Переустановить систему и накатить среду разработки Visual Studio 2017 с нуля. Да, я предлагаю такой ответ. Увы, если в среде разработки что-то сыпется, после чего она перестает исправно работать - это приводит к большим проблемам. Решать эти проблемы приходится долго и нудно. Устанавливать пакеты, докачивать компоненты, копировать файлы с рабочего компа на свой, выяснять, почему файлы приложения удалены или почему вдруг антивирус что-то заблокировал и удалил. На все это тратится слишком много времени. Если вам не удалось решить этот вопрос за несколько дней, то решение лежит на поверхности, займет всего пару часов. Сам недавно столкнулся с проблемой в Visual Studio, обновил - она стала глючить, затем перестал запускаться тестовый клиент WCF, затем стала сама перезагружаться. Переустановил среду разработки и все заработало. Как-то ранее при возникновении больших проблем пытался выяснить в чем проблема в среде разработки, но это отнимает слишком много времени. Тем более, сообщение об ошибке звучит так: “Отладчик установлен неправильно” Значит нужно установить правильно, а для этого, как минимум, нужно его удалить. А удаляется он лучше всего вместе со всей средой разработки Visual Studio. Как-то так.

четверг, 28 марта 2019 г.

Как посмотреть исходный код программы?

Я хочу подправить исходный код, ничего серьезного, только вывод нескольких строк. Программа написана скорее всего на С++. Мне использовать отладчик? Или как-то открыть в IDE? Просто я не хочу запускать программу, хочу просто поковыряться в коде. И может посоветуете какой нибудь? P.S. Сам файл - .exe


Ответ

Исходный код раскрыть невозможно если для этого постарались обеспечить безопасность (особенно если это фирменная вещь).
Но есть способы полностью или частично раскрыть код.
IDA Pro - самый лучший из безплатных взломщиков, некоторые макросы возможно позволяют преобразовать код назад. Но не всегда. Особо хорошо раскрываются borland-продукты. Hiew.Exe бесплатная утилита, очень маленькая, позволяет править код на языке ассемблера. Можно править текстовые и целые константы. Можно ею даже сделать "перевод" программы на другой язык, затереть имя фирмы и т.п. Если есть PDB-файл, или подшита debug-info к файлу то код можно получить в среде разработки (если debug-info полная) редко можно использовать. Исходный код получить нельзя, но можно получить "номера строк и имена исходников", а так же имена/значения всех констант, локальных переменных, избежать "раздроблености функций" а так же получить классы с начинкой класса (почти все структуры кроме текста программы) что значительно упростит понимание работы программы. Для некоторых библиотек (dll) pdb-файлы можно скачать отдельно. Врядли уважающая себя фирма допустит утечку pdb своего стоящего продукта. Debug info, существует DebugInfo-информация встроеная в exe. Если есть такая информация, и соответствующая утилита (Например на Borland Delphi собран, и он есть в наличии), то можно сделать аналогичное предыдущему пункту. Но врядли уважающая себя фирма допустит такую "глупую" ошибку (аналогично pdb). Если файл написан на с# его можно почти полностью просмотреть в кодах с помощью disSharp (такие программы "подключают" в таблице импорта лишь mscorlib и всё). DisSharp плохо дизассемблирует некоторые части программы, но возможно его платная версия или платная версия подобных утилит раскрывает код лучше. Если файл написан на FoхPro, clipper и других подобный байт-кодовых языках - он раскрывается спец-утилитами (Refox например). Утилита exescope.exe ResourceHacker.exe и её-подобные утилиты позволяют смотреть шапку, подключенные библиотеки (по ним можно понять на чём писана программа) и редактировать ресурсы программы (ресурс-формы в.т.ч. delphi, иконки, картинки, таблицы ресурсо-строк). Если извесно чем создан код - думаю есть специальные утилиты способные его раскрыть (они платные и малодоступные).
Опять-же, это при условии что нету паковщика кода (тогда нужно сначала применить депаковщик), шифровальщика/самомодифицирующегося кода. Если не разбит обфускатором так что не распутать. Чем больше код - тем сложнее разобраться.
P.S. Лично моё мнение - раскрывается-взламывается всё, но на это нужно потратить много-много времени. Возможно год и более (зависит от опыта и инструментов, в свободном доступе хороших инструментов нету).

вторник, 9 октября 2018 г.

“Отладчик установлен неправильно” Visual Studio 17

Здравствуйте. Создал новый проект WPF в Студии, покидал нужных виджетов, пытаюсь запустить, получаю ошибку:
Ошибка при попытке запуска проекта: не удалось запустить программу <путь> Отладчик установлен неправильно. Запустите программу Setup для установки или восстановления отладчика.
Запускаю установщик, выбираю VS17 -> изменить. В сводке указанно (если это важно):
Включено
Средства разработки классических приложений Средства разработки для .NET 4.6.1 C# и Visual Basic Необязательные
Blend for visual studio Инструменты для Entity Framework 6 Средства профилирования Поддержка языка F# Средства разработки .NET Core 1.0 - 1.1 Среда выполнения .NET Core Что еще может понадобиться, ума не приложу.
Не могли бы вы подсказать, в чем может быть дело?

Попытка переустановить студию приводит к сбою установки со следующей ошибкой (из журнала)
Не удалось восстановить пакет "Microsoft.Net.4.6.FullRedist,version=4.6.81.6". URL-адрес поиска: https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.Net.4.6.FullRedist;PackageAction=Repair;ReturnCode=5100 Затронутые рабочие нагрузки Основной редактор Visual Studio (Microsoft.VisualStudio.Workload.CoreEditor,version=15.0.26228.0) Затронутые компоненты Основной редактор Visual Studio (Microsoft.VisualStudio.Component.CoreEditor,version=15.0.26208.0) Журнал C:\Users\Илья\AppData\Local\Temp\dd_setup_20170524225231_002_Microsoft.Net.4.6.FullRedist.log Сведения Команда выполнена: "C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Net.4.6.FullRedist,version=4.6.81.6\dotNetFx-x86-x64-AllOS-ENU.exe" /q /norestart /repair /KeepAUPaused /ChainingPackage Visual_Studio_15_Setup /CEIPconsent /log "C:\Users\Илья\AppData\Local\Temp\dd_setup_20170524225231_002_Microsoft.Net.4.6.FullRedist.log" Код возврата: 5100 Сведения о коде возврата: Азия

По совету @Eikhner обновил windows, установил проблемный пакет руками, перезагрузился; никакого эффекта. Попробовал восстановить студию, получаю сбой. Единственная ошибка, которую пока удалось вынуть из журнала:
Не удалось установить перечисленные рабочие нагрузки и компоненты в продукте из-за сбоев в пакете.
Неполные рабочие нагрузки Основной редактор Visual Studio (Microsoft.VisualStudio.Workload.CoreEditor,version=15.0.26228.0)
Неполные компоненты Основной редактор Visual Studio (Microsoft.VisualStudio.Component.CoreEditor,version=15.0.26208.0)
Вы можете искать решения по сведениям ниже, изменить выбор рабочих нагрузок и компонентов и повторить установку, или же удалить продукт с компьютера.
Ниже перечислены отдельные сбои в пакете, которые сделали перечисленные выше рабочие нагрузки и компоненты неполными. Чтобы найти имеющиеся отчеты об этих проблемах, скопируйте и вставьте URL-адрес из сообщения о сбое пакета в адресную строку веб-браузера. Если о проблеме уже сообщалось, вы сможете найти решения или обходные пути. В противном случае вы можете создать новую запись о проблеме, в которой другие пользователи смогут найти решения или обходные пути.
Не удалось восстановить пакет "Microsoft.Net.4.6.FullRedist,version=4.6.81.6". URL-адрес поиска: https://aka.ms/VSSetupErrorReports?q=PackageId=Microsoft.Net.4.6.FullRedist;PackageAction=Repair;ReturnCode=5100 Затронутые рабочие нагрузки Основной редактор Visual Studio (Microsoft.VisualStudio.Workload.CoreEditor,version=15.0.26228.0) Затронутые компоненты Основной редактор Visual Studio (Microsoft.VisualStudio.Component.CoreEditor,version=15.0.26208.0) Журнал C:\Users\Илья\AppData\Local\Temp\dd_setup_20170529214845_002_Microsoft.Net.4.6.FullRedist.log Сведения Команда выполнена: "C:\ProgramData\Microsoft\VisualStudio\Packages\Microsoft.Net.4.6.FullRedist,version=4.6.81.6\dotNetFx-x86-x64-AllOS-ENU.exe" /q /norestart /repair /KeepAUPaused /ChainingPackage Visual_Studio_15_Setup /CEIPconsent /log "C:\Users\Илья\AppData\Local\Temp\dd_setup_20170529214845_002_Microsoft.Net.4.6.FullRedist.log" Код возврата: 5100 Сведения о коде возврата: Азия

@PashaPash, файл, о котором вы говорите, отсутствует, но есть с таким же именем и расширением .log.html
OS Version = 6.0.6000, SP = 0.0, Platform 2 OS Description = Vista - x64 Ultimate Edition MSI = 5.0.7601.23593 Windows version = amd64_windowsfoundation_31bf3856ad364e35_6.1.7601.17514_none_615fdfe2a739474c.manifest Windows servicing = 6.1.7601.18766 CommandLine = C:\f5fa5e713993e05ed093ae6f7e40\\Setup.exe /q /norestart /repair /KeepAUPaused /ChainingPackage Visual_Studio_15_Setup /CEIPconsent /log "C:\Users\Илья\AppData\Local\Temp\dd_setup_20170529214845_002_Microsoft.Net.4.6.FullRedist.log" /x86 /x64 /redist Using Simultaneous Download and Install mechanism Operation: Repairing Package Name = Microsoft .NET Framework 4.6.1 Setup Package Version = 4.6.01055 User Experience Data Collection Policy: AlwaysUploaded Logging all the global blocks
Installation Blockers:
Не удается выполнить установку в режиме совместимости.
Final Result: Installation failed with error code: (0x000013EC), "A StopBlock was hit or a System Requirement was not met." (Elapsed time: 0 00:00:08).
Система почему-то определилась как виста. Что бы это могло означать?


Ответ

Для того, чтобы создать новый проект WPF в Visual Studio 2017, понадобится компонент:

Данный компонент содержит в себе все необходимое, конечно, можно поставить дополнительные отдельные компоненты, такие как:
Пакет SDK для .NET Framework 4.6.2 .NET Framework 4.6.2
Хотя, все что нужно выбирается автоматически и можно вручную выбрать то, чего не хватает:

Если после обновления операционной системы Windows теперь не удается восстановить среду разработки Visual Studio 2017, то тут можно пойти двумя путями. Пробовать нужно сначала с менее затратного:
Полностью удалить среду разработки Visual Studio 2017 со всеми ее вспомогательными элементами. После удаления не забывать перезагрузить компьютер и чистить мусор. Зависимые компоненты тоже удалять. Проверить обновления операционной системы Windows, при наличии - установить. Снова перезагрузить систему. Скачать последнюю версию установщика среды разработки Visual Studio 2017, запустить инсталлятор и выбрать необходимые рабочие нагрузки (обязательно выбрать Разработка классических приложений .NET и новый .NET Framework желательно). Завершить установку, при этом следовать инструкции, снова перегрузиться и пробовать создать новый проект, с нуля. (либо просто удалить и установить заново, но лучше конечно все почистить).
Сначала показалось, что этот метод менее затратный, но по сути он более затратный, чем следующий, который будет предложен. Итак, быстрый и затратный способ сделать так, чтобы заработало:
Перенести нужные файлы на диск, хранящиеся на диске с системой. Переустановить систему и накатить среду разработки Visual Studio 2017 с нуля.

Да, я предлагаю такой ответ. Увы, если в среде разработки что-то сыпется, после чего она перестает исправно работать - это приводит к большим проблемам. Решать эти проблемы приходится долго и нудно. Устанавливать пакеты, докачивать компоненты, копировать файлы с рабочего компа на свой, выяснять, почему файлы приложения удалены или почему вдруг антивирус что-то заблокировал и удалил. На все это тратится слишком много времени. Если вам не удалось решить этот вопрос за несколько дней, то решение лежит на поверхности, займет всего пару часов.
Сам недавно столкнулся с проблемой в Visual Studio, обновил - она стала глючить, затем перестал запускаться тестовый клиент WCF, затем стала сама перезагружаться. Переустановил среду разработки и все заработало. Как-то ранее при возникновении больших проблем пытался выяснить в чем проблема в среде разработки, но это отнимает слишком много времени.
Тем более, сообщение об ошибке звучит так:
“Отладчик установлен неправильно”
Значит нужно установить правильно, а для этого, как минимум, нужно его удалить. А удаляется он лучше всего вместе со всей средой разработки Visual Studio. Как-то так.