Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/302: Рейтинг темы: голосов - 302, средняя оценка - 4.93
 Аватар для Dozentos
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118

Декомпиляция .exe в исходник

06.08.2018, 15:42. Показов 62877. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал прогу на работе и при переустановке системы потёр сам проект. Среда разработки VS2010. Проект C++/CLI Windows Forms. Попытки восстановить проект различными рекавери к успеху не привели, очевидно, что многие сектора были перезаписаны. Остался только сам релиз.
Копания в гугле привели к выводу, что можно дизассемблировать экзешник и из полученного кода получить нечто С-подобное, но толковых описаний процесса не нашёл. Всё в очень общих чертах и довольно старо.
Буду признателен за любую помощь или подсказку куда копать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.08.2018, 15:42
Ответы с готовыми решениями:

Декомпиляция скрипта оО
Есть длл нужно её декомпилировать и как то запустить исходный код в висуал студио 2010 Как можно это сделать? Надеюсь на...

Декомпиляция программы
Как декомпилировать программу? И как узнать на каком языке она написана?

Декомпиляция dll
Возможна ли декомпиляция dll'ки, защищенной Themida, если есть ThemidaSDK.h и Obfuscator.cpp, с помощью которых была скомпилирована эта dll...

8
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
06.08.2018, 15:48
Ставите IDA+Hex-Rays, и декомпилите (можно хоть каждую функцию по отдельности, или все сразу). Очень поможет наличие pdb файла. Но все равно код будет очень далек от исходника...
0
 Аватар для Dozentos
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118
06.08.2018, 16:00  [ТС]
Ставил IDA 7.0 + Hex-Rays, дизассемблировал экзешник.... а вот что дальше делать не понимаю и мануал толковый найти не получается.
Вопрос мой даже, вероятно, стоит скорректировать: можно ли вообще получить на выхлопе нечто понятное именно для визуал студии?
Прога в принципе закончена, изменений логики, во всяком случае, серьёзных не будет. А вот правки внешнего вида интерфейса было бы неплохо иметь возможность сделать. В студии это удобнее.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
06.08.2018, 16:15
Лучший ответ Сообщение было отмечено Dozentos как решение

Решение

Я вот не обратил сначала внимания что у вас там С++/CLI, его же можно тем же dotPeek'ом (или ILSpy, JustDecompile, Reflector), декомпилировать в C# например... И потом скомпилировать VS обратно в exe.
Но это только если вы нативным кодом там не злоупотребляли.
1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
07.08.2018, 09:11
Цитата Сообщение от Dozentos Посмотреть сообщение
можно ли вообще получить на выхлопе нечто понятное именно для визуал студии?
нет.
нативный код, даже после иды, не читаем.
сначала вы получите мнемонику ассемблера, потом hex rays переведёт её в С-подобный код.
его нужно переписывать.
ида даст вам представления о функциях, некоторые константы, и прочую мелочовку, и всё это нужно править ручками.

а т.к. у вас проект .net, то нужно воспользоваться советом Someone007 и попробовать его декомпилировать (а не дизассемблировать).
0
 Аватар для Dozentos
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118
07.08.2018, 10:23  [ТС]
Someone007, спасибо, совет достойный 1000 благодарностей! Jetbrains dotPeek выдал проект на шарпе, выглядящий практически, как "родной". Только такое впечатление, что код обфусцирован кучей символов юникода. Как следствие, 11539 ошибок компиляции вида:
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(7,7): ошибка CS1056: Непредвиденный знак "\u003C"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(7,37): ошибка CS1056: Непредвиденный знак "\u003E"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(78,21): ошибка CS1056: Непредвиденный знак "\u003C"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(78,33): ошибка CS1056: Непредвиденный знак "\u003E"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(78,54): ошибка CS1056: Непредвиденный знак "\u003C"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(78,66): ошибка CS1056: Непредвиденный знак "\u003E"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(82,9): ошибка CS1056: Непредвиденный знак "\u0024"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(82,24): ошибка CS1056: Непредвиденный знак "\u0024"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(82,30): ошибка CS1056: Непредвиденный знак "\u0024"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(82,36): ошибка CS1056: Непредвиденный знак "\u0024"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(82,47): ошибка CS1056: Непредвиденный знак "\u0040"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(83,26): ошибка CS1056: Непредвиденный знак "\u003C"
C:\Users\ADMIN\Documents\Visual Studio 2010\Projects\ktu_analyser\ktu_analyser\f_view_tabel.cs(83,38): ошибка CS1056: Непредвиденный знак "\u003E"

Вы не в курсе, отчего сие? И нет ли способа с этим бороться, кроме как квадратно-гнездовым проходом по всем файлам вручную? Может какие настройки dotPeek'а нужно выставить или самой студии?
0
0 / 0 / 0
Регистрация: 24.01.2020
Сообщений: 6
24.01.2020, 14:02
Someone007, Возможно ли предложить вам за деньги декомпилировать приложение?
0
 Аватар для Dozentos
5 / 6 / 0
Регистрация: 26.10.2013
Сообщений: 118
27.01.2020, 23:37  [ТС]
Возможно, моего (уже бывшего) шефа это и заинтересует но он прижимист в финансовых вопросах. Так-то прога декомпилирована, но все SQL-запросы (а их там премного) в какой-то неведомой кодировке (кракозябры, а не запросы). Компилятор выдаёт порядка 11К ошибок. Возможно ли их автоматически преобразовать в надлежащий вид..?
Если не секрет (мне просто для сведения), а каков порядок цен на подобную работу (если это возможно)?
0
0 / 0 / 0
Регистрация: 06.03.2025
Сообщений: 4
25.09.2025, 13:14
Всем добрый день!
Интересует вот какой вопрос:

Есть программное обеспечение, которое взаимодействует с базой данных MS SQL.
Собственно, программа представляет собой интерфейс для внесения и отображения данных из БД.
Для работы с MS SQL используется SQL Native Client.
Предварительный анализ показал, что программа написана на С++ и используется фреймворк Qt.

Скажу сразу, я ни разу не программист, так что сильно не плюйте.

Мне требуется выяснить два момента:
1. При подключении к БД через сеть, когда в таблицу заносится 30-я строка вываливается ошибка SQL Native Client'а. При локальном подключении такой ошибки нет.

2. В программе есть функционал выгрузки типа "отчётов" в "rtf" формате из определённых таблиц в БД. Если внести записи в таблицы вручную, используя интерфейс программы, то данные в "отчёты" вносятся корректно. А если записи импортировать непосредственно в таблицы в БД, то "отчёты" формируются не совсем корректно (естественно таблиц несколько, есть зависимости, все зависимости соблюдаю, БД не вываливает конфликтов и ошибок).

Насколько я понял, какая-то часть функционала программы реализуется посредством функций в БД MS SQL.
Но интересующую меня операцию по выгрузке "rtf" я там не нашёл, видимо потому что MS SQL c "rtf" не работает.

В общем программу я дизассемблировал (ну я так думаю, что дизассемблировал :-D, не смейтесь сильно) и естественно вывалилось достаточно много кода.

Подскажите как мне сузить область поиска, т.е. нацелиться конкретно на мои вопросы?
Может кто наводку даст куда посмотреть, что почитать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2025, 13:14
Помогаю со студенческими работами здесь

Декомпиляция программы, поиск кодировки в полученном коде
Добрый день, Есть необходимость создать программу которая будет которая будет формировать отчеты на основе файлов полученных из...

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

Декомпиляция exe файла для изменения параметра подключения
У меня такая проблема. Есть скомпилированный рабочий exe файл-программа, которая подключается по жестко прописанному внутри нее IP адресу к...

Исходник из exe
Возможно ли имея екзешник проги на паскале просмотреть ее код?

Нужен исходник из exe-шника
В общем обстоит дело так. Есть exe-файл, нет исходника. А исходник ох как нужен. Можно ли что-нить сделать? Заранее спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru