Как посмотреть код программы на windows

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

Исходный код раскрыть невозможно если для этого постарались обеспечить безопасность (особенно если это фирменная вещь).

Но есть способы полностью или частично раскрыть код.

  • 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. Лично моё мнение — раскрывается-взламывается всё, но на это нужно потратить много-много времени. Возможно год и более (зависит от опыта и инструментов, в свободном доступе хороших инструментов нету).

I’ve got some old Windows executable files. How can I edit them with Visual Studio 2010? What are the ways to see an exe’s source code?

MPelletier's user avatar

MPelletier

16k15 gold badges86 silver badges136 bronze badges

asked Apr 17, 2010 at 18:37

Ali Demirci's user avatar

You can’t get the C++ source from an exe, and you can only get some version of the C# source via reflection.

Community's user avatar

answered Apr 17, 2010 at 18:41

i_am_jorf's user avatar

i_am_jorfi_am_jorf

53.2k15 gold badges128 silver badges220 bronze badges

2

If the program was written in C# you can get the source code in almost its original form using .NET Reflector. You won’t be able to see comments and local variable names, but it is very readable.

If it was written C++ it’s not so easy… even if you could decompile the code into valid C++ it is unlikely that it will resemble the original source because of inlined functions and optimizations which are hard to reverse.

Please note that by reverse engineering and modifying the source code you might breaking the terms of use of the programs unless you wrote them yourself or have permission from the author.

answered Apr 17, 2010 at 18:40

Mark Byers's user avatar

Mark ByersMark Byers

795k188 gold badges1562 silver badges1443 bronze badges

1

If it is native code, you can disassemble it. But you won’t see the original code as written by the programmer. You will see the code produced by the compiler. This code is possibly optimized and although it is semantically equivalent, it can be much harder to read than normal ASM.

If it is bytecode (MSIL or javabytecode), there are decompiler which can product pretty good sourcecode. For .net, this would be reflector.

Man No Name's user avatar

answered Apr 17, 2010 at 18:40

Henri's user avatar

HenriHenri

5,08521 silver badges24 bronze badges

I would (and have) used IDA Pro to decompile executables. It creates semi-complete code, you can decompile to assembly or C.

If you have a copy of the debug symbols around, load those into IDA before decompiling and it will be able to name many of the functions, parameters, etc.

answered Apr 17, 2010 at 18:43

ssube's user avatar

ssubessube

46.3k7 gold badges101 silver badges139 bronze badges

There’s nothing you can do about it i’m afraid as you won’t be able to view it in a readable format, it’s pretty much intentional and it’ll show the interpreted machine code, there would be no formatting or comments as you normally get in .cs/.c files.

It’s pretty much a hit and miss scenario.

Someone has already asked about it on another website

answered Apr 17, 2010 at 18:42

Jamie Keeling's user avatar

Jamie KeelingJamie Keeling

9,69717 gold badges65 silver badges100 bronze badges

7

For Any *.Exe file written in any language .You can view the source code with hiew (otherwise Hackers view). You can download it at www.hiew.ru. It will be the demo version but still can view the code.

After this follow these steps:

  1. Press alt+f2 to navigate to the file.

  2. Press enter to see its assembly / c++ code.

Yogiraj's user avatar

Yogiraj

1,93217 silver badges29 bronze badges

answered May 28, 2014 at 13:14

Aravind's user avatar

I’ve got some old Windows executable files. How can I edit them with Visual Studio 2010? What are the ways to see an exe’s source code?

MPelletier's user avatar

MPelletier

16k15 gold badges86 silver badges136 bronze badges

asked Apr 17, 2010 at 18:37

Ali Demirci's user avatar

You can’t get the C++ source from an exe, and you can only get some version of the C# source via reflection.

Community's user avatar

answered Apr 17, 2010 at 18:41

i_am_jorf's user avatar

i_am_jorfi_am_jorf

53.2k15 gold badges128 silver badges220 bronze badges

2

If the program was written in C# you can get the source code in almost its original form using .NET Reflector. You won’t be able to see comments and local variable names, but it is very readable.

If it was written C++ it’s not so easy… even if you could decompile the code into valid C++ it is unlikely that it will resemble the original source because of inlined functions and optimizations which are hard to reverse.

Please note that by reverse engineering and modifying the source code you might breaking the terms of use of the programs unless you wrote them yourself or have permission from the author.

answered Apr 17, 2010 at 18:40

Mark Byers's user avatar

Mark ByersMark Byers

795k188 gold badges1562 silver badges1443 bronze badges

1

If it is native code, you can disassemble it. But you won’t see the original code as written by the programmer. You will see the code produced by the compiler. This code is possibly optimized and although it is semantically equivalent, it can be much harder to read than normal ASM.

If it is bytecode (MSIL or javabytecode), there are decompiler which can product pretty good sourcecode. For .net, this would be reflector.

Man No Name's user avatar

answered Apr 17, 2010 at 18:40

Henri's user avatar

HenriHenri

5,08521 silver badges24 bronze badges

I would (and have) used IDA Pro to decompile executables. It creates semi-complete code, you can decompile to assembly or C.

If you have a copy of the debug symbols around, load those into IDA before decompiling and it will be able to name many of the functions, parameters, etc.

answered Apr 17, 2010 at 18:43

ssube's user avatar

ssubessube

46.3k7 gold badges101 silver badges139 bronze badges

There’s nothing you can do about it i’m afraid as you won’t be able to view it in a readable format, it’s pretty much intentional and it’ll show the interpreted machine code, there would be no formatting or comments as you normally get in .cs/.c files.

It’s pretty much a hit and miss scenario.

Someone has already asked about it on another website

answered Apr 17, 2010 at 18:42

Jamie Keeling's user avatar

Jamie KeelingJamie Keeling

9,69717 gold badges65 silver badges100 bronze badges

7

For Any *.Exe file written in any language .You can view the source code with hiew (otherwise Hackers view). You can download it at www.hiew.ru. It will be the demo version but still can view the code.

After this follow these steps:

  1. Press alt+f2 to navigate to the file.

  2. Press enter to see its assembly / c++ code.

Yogiraj's user avatar

Yogiraj

1,93217 silver badges29 bronze badges

answered May 28, 2014 at 13:14

Aravind's user avatar

Как посмотреть код программы

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

Как посмотреть код программы

Вам понадобится

  • — декомпилятор;
  • — дезассемблер.

Инструкция

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

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

Если вы хотите найти код свободной программы, выполните поиск в интернете с соответствующим запросом. Также попробуйте скачать данную программу и в ее меню найти пункт «Просмотр исходного кода». Обычно это доступно для бесплатно распространяемых программ.

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

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

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

Полезный совет

Не просматривайте код закрытых программ и тем более не вносите в него изменения.

Войти на сайт

или

Забыли пароль?
Еще не зарегистрированы?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

0 / 0 / 1

Регистрация: 27.12.2011

Сообщений: 24

1

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

23.04.2012, 21:48. Показов 45896. Ответов 18


Есть файл с простой программой, мне надо узнать его исходный код. как это сделать?

main.rar

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

23.04.2012, 21:49

2

никак.



0



0 / 0 / 1

Регистрация: 27.12.2011

Сообщений: 24

24.04.2012, 01:54

 [ТС]

3

Цитата
Сообщение от magirus
Посмотреть сообщение

никак.

очень понятный и развёрнутый ответ.



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

24.04.2012, 03:23

4



0



Эксперт С++

7175 / 3234 / 80

Регистрация: 17.06.2009

Сообщений: 14,164

24.04.2012, 07:19

5

очень понятный и развёрнутый ответ

Главное что он правильный

Добавлено через 46 секунд

Потребуется несколько вещей
1) Комната с звукоизоляцией
2) Автор программы
3) Паяльник
4) Утюг
5) Наручники



2



0 / 0 / 1

Регистрация: 27.12.2011

Сообщений: 24

24.04.2012, 09:52

 [ТС]

6

Цитата
Сообщение от odip
Посмотреть сообщение

Потребуется несколько вещей
1) Комната с звукоизоляцией
2) Автор программы
3) Паяльник
4) Утюг
5) Наручники

спасибо, обязательно воспользуюсь этим методои



0



В астрале

Эксперт С++

8048 / 4805 / 655

Регистрация: 24.06.2010

Сообщений: 10,562

24.04.2012, 10:39

7

Jgo Gankster, Была бы прога на .NET узнавалось бы легко.
На С/С++ проще написать самому новую, чем заниматься реверс-инженерией.



0



-=ЮрА=-

Заблокирован

Автор FAQ

24.04.2012, 12:17

8

Jgo Gankster, исходный код, верней его асемблерный вариант можно получить в ходе дизасемблирования. Существует множество программ к примеру OllyDebuger который преобразуют экзешники в асмовские инструкции. Если понимаем асм, то по полученной интерпритации кода можно сообразить где выводим строку, где светим окошко и т.д. Ну а там зная принцип работы алгоритма либо пишем аналог на Си либо осавляем в асме и правим под наши нужды(это называется крэком или варезом).



0



-=ЮрА=-

Заблокирован

Автор FAQ

24.04.2012, 12:40

9

Кстати некоторые вещи можно сказать по программе просто открыв экзешник в блокноте
На первом скрине строковые литералы присутсвующие в приложении (это строки меню и содержимое меседжбоксов), на втором скрине список функций используемых в приложении

Не по теме:

PS:Вспомниаю слова оператора из первой Матрицы .

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

Вот так и с дизасмом

Миниатюры

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

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



0



Xorazm

1 / 1 / 0

Регистрация: 19.06.2017

Сообщений: 32

23.06.2017, 09:26

10

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
void main(){
    FILE *fp;
    char c;
    fp = fopen(__FILE__,"r");
    while(1){
         c= getc(fp);
         if(feof(fp)) break;
         putchar(c);
    }
 
    fclose(fp);
}



0



1488 / 1203 / 821

Регистрация: 29.02.2016

Сообщений: 3,592

23.06.2017, 10:24

11

Цитата
Сообщение от odip
Посмотреть сообщение

Потребуется несколько вещей

все гораздо проще:
1) автор программы
2) деньги



0



Software Developer

315 / 229 / 113

Регистрация: 03.05.2017

Сообщений: 1,306

23.06.2017, 10:31

12

Jgo Gankster, воспользуйтесь IDA Pro (для дизасемблирования) + Hex Rays (для преобразования в Си подобный код)



0



Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28037 / 15768 / 981

Регистрация: 15.09.2009

Сообщений: 67,753

Записей в блоге: 78

23.06.2017, 11:36

13

decrement, я не думаю, что спустя 5 лет твой совет нужен Jgo Gankster,
хотя тут спасибо надо сказать товарищу Xorazm, который поднял тему из небытия.



0



5225 / 3197 / 362

Регистрация: 12.12.2009

Сообщений: 8,101

Записей в блоге: 2

23.06.2017, 11:49

14

Почему до сих пор не посоветовали рабочий способ? Нужно сменить расширение файла на .cpp (или на другой язык программирования) и открыть в IDE. Умные люди так, например, jpg в gif конвертят и т.д.



0



Software Developer

315 / 229 / 113

Регистрация: 03.05.2017

Сообщений: 1,306

23.06.2017, 12:04

15

Цитата
Сообщение от Kastaneda
Посмотреть сообщение

Почему до сих пор не посоветовали рабочий способ? Нужно сменить расширение файла на .cpp (или на другой язык программирования) и открыть в IDE. Умные люди так, например, jpg в gif конвертят и т.д.

юмор понял

Цитата
Сообщение от magirus
Посмотреть сообщение

я не думаю, что спустя 5 лет твой совет нужен

я на дату и не посмотрел даже)



0



45 / 45 / 23

Регистрация: 14.04.2013

Сообщений: 188

23.06.2017, 23:06

16

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



0



Software Developer

315 / 229 / 113

Регистрация: 03.05.2017

Сообщений: 1,306

23.06.2017, 23:33

17

Цитата
Сообщение от Zazy
Посмотреть сообщение

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

как бы вы не прятали всё равно можна прочесть



0



зомбяк

1564 / 1213 / 345

Регистрация: 14.05.2017

Сообщений: 3,936

23.06.2017, 23:39

18

Zazy, от дизассемблирование ничто не может защитить, ибо это, простите, инструкции, которые процессор делать должен. А значит понимать. А вот от дальнейшего понимания того, что собственно выполняет процессор, есть это — https://ru.wikipedia.org/wiki/… еспечение)



0



290 / 87 / 28

Регистрация: 25.01.2016

Сообщений: 529

Записей в блоге: 1

24.06.2017, 14:33

19

Цитата
Сообщение от odip
Посмотреть сообщение

Потребуется несколько вещей
1) Комната с звукоизоляцией
2) Автор программы
3) Паяльник
4) Утюг
5) Наручники

Бедный автор программы…

Добавлено через 15 секунд

Цитата
Сообщение от odip
Посмотреть сообщение

Потребуется несколько вещей
1) Комната с звукоизоляцией
2) Автор программы
3) Паяльник
4) Утюг
5) Наручники

Бедный автор программы…



0



Исходный код программы на С — это текстовая запись программы на языке программирования С. Исходный код на С пишется таким образом, чтобы любой программист, владеющий этим языком программирования, смог разобрать, что там написано.

С — это язык программирования, который проверен временем. Изначально он задумывался как заменитель Ассемблера, чтобы писать на нем операционные системы. 

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

 

Исходный код программы на С

Сегодня языки программирования С и С++ ставят рядом, потому что С++ это улучшенная версия С.Таким образом, программы, которые пишутся на С, будут корректными и для языка программирования С++. Из этого получается, что для извлечения исходного кода программы на С можно использовать инструменты, предназначенные для С++, но об этом чуть позже.

Исходный код программы на С — это программный код, который еще не был скомпилирован и содержится в файлах с расширением данного языка. У этого языка имеется несколько расширений, и делятся они в зависимости от типов файлов:

  • заголовочный файлы используют расширение «.h», поэтому называются h-файлы;

  • файлы реализации используют расширение «.с» для языка С и «.срр», «.схх», «.сс» для языка программирования С++.

Любой проект, реализованный на С, будет иметь файлы обоих типов. Но нужно отметить, что:

  • h-файлы — это файлы, содержащие сведения о программе;

  • файлы реализации — это сам код программы.

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

 

Как получить исходный код программы на С

Исходный код априори принадлежит своему автору. Поэтому если автор кода выставляет его в открытые источники, то пользователи получают программу с открытым исходным кодом. В этой ситуации пользователи могут воспользоваться исходным кодом программы по своему усмотрению, например:

  • помочь доработать программу, вплоть до того, чтобы стать соавтором;

  • использовать код, чтобы создать подобную программу, однако тут есть тонкости: нужно будет указать автора исходного кода или что-то еще;

  • чуть-чуть подправить программу для личного пользования;

  • и др.

Если автор скрывает исходный код программы, то получить его:

  • противозаконно, потому что авторы закрывают код и защищают его лицензиями;

  • очень сложно, а иногда практически невозможно.

Процесс получения исходного кода из закрытой программы — это реверсивная инженерия или обратное программирование. У закрытых программ пользователи не могут видеть исходный код программы, лишь ее исполняемые или скомпилированные файлы, например, файлы «.ехе» для Windows-программ. Если открыть исполняемый или скомпилированный файл, то там не будет ничего общего с языком программирования. Все, что там можно будет увидеть, — это беспорядочный набор цифр и букв или двоичный код из сочетания «1» и «0».

 

Исходный код программы на С: обратное программирование 

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

Реверсное программирование завязано на применении специфического программного обеспечения: декомпиляторы, дешифровщики, деобфускаторы, отладчики, оптимизаторы и т. д. В этом заключается еще одна сложность — достать качественные программы из этой категории в открытом доступе практически нереально. Все, что есть в открытом доступе, может помочь только с небольшими программами. Если вам нужен будет исходный код более серьезной программы на С, то искать специализированное ПО — это та еще затея, но поисковик, анонимные сообщества хакеров и darknet вам в помощь, при том что способы попробовать восстановить исходный код полностью или частично есть.

Способы попробовать восстановить исходный код программы на С:

  • IDA Pro — одна из лучших и бесплатных программ из категории «реверсивная инженерия»;

  • «hiew.exe» утилита, которая не выдаст исходный код программы, но поможет править его на языке ассемблера;

  • нужно внимательно посмотреть имеющийся код программы: если к нему подшиты PDB-файлы (опытные программисты этого не делают, но мало ли что), тогда есть возможность прямо в IDE узнать номера строк исходников, имена переменных, функций, констант и т. д.; при помощи такого подхода добиться исходного кода не получится, но у вас будет вся информация для того, чтобы понять, как он функционирует;

  • необходимо проверить, не встроен ли в программу «debug info»: если встроен, то можно использовать его, как и в предыдущем способе, чтобы узнать информацию об исходном коде;

  • DisSharp — программа, которая способна раскрыть часть кода на С++ и С#;

  • Refox — данная утилита поможет, если программа на С скомпилирована в какой-либо байт-кодовый язык;

  • exe.scope.exe или Resourcehacker.exe — утилиты, которые не раскрывают исходный код, но помогают определить, какие библиотеки используются в программе.

Универсальных средств нет. Нет такого, чтобы вы запустили какое-то программное обеспечение, и оно вам выдало исходный код программы на С. Чтобы добиться исходного кода, нужно будет повозиться и узнавать все частями. Например:

  • при помощи одной утилиты вы узнаете используемые библиотеки;

  • при помощи другой имена классов и функций;

  • третья поможет частично раскрыть код;

  • и т. д., пока у вас не сложится общая картина об исходниках.

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

 

Заключение

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

Содержание

  • Способы декомпиляции EXE-файлов
    • Способ 1: VB Decompiler
    • Способ 2: ReFox
    • Способ 3: DeDe
    • Способ 4: EMS Source Rescuer
  • Вопросы и ответы

Как декомпилировать EXE-файлы

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

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

Способ 1: VB Decompiler

Первым рассмотрим VB Decompiler, который позволяет декомпилировть программы, написанные на Visual Basic 5.0 и 6.0.

Загрузить программу VB Decompiler

  1. Нажмите «Файл» и выберите пункт «Открыть программу» (Ctrl+O).
  2. Стандартное открытие программы в VB Decompiler

  3. Найдите и откройте программу.
  4. Открытие EXE в VB Decompiler

  5. Декомпиляция должна сразу запуститься. Если этого не произошло, нажмите кнопку «Старт».
  6. Запуск декомпиляции в VB Decompiler

  7. По завершении внизу окна появится слово «Декомпилировано». В левой части расположено дерево объектов, а в центральной можно просматривать код.
  8. Просмотр исходного кода через VB Decompiler

  9. При необходимости, сохраните декомпилированные элементы. Для этого нажмите «Файл» и выберите подходящий вариант, например, «Сохранить декомпилированный проект», чтобы извлечь все объекты в папку на диске.
  10. Сохранение декомпилированного проекта в VB Decompiler

Способ 2: ReFox

В плане декомпиляции программ, скомпилированных через Visual FoxPro и FoxBASE+, неплохо себя зарекомендовал ReFox.

Загрузить программу ReFox

  1. Через встроенный обозреватель файлов найдите нужный EXE-файл. Если его выделить, то справа будет отображаться краткая информация о нём.
  2. Поиск EXE через ReFox

  3. Откройте контекстное меню и выберите пункт «Decompile».
  4. Переход к декомпиляции в ReFox

  5. Откроется окно, где нужно указать папку для сохранения декомпилированных файлов. После нажмите «ОК».
  6. Запуск декомпиляции в ReFox

    Lumpics.ru

  7. По окончании появится такое сообщение:
  8. Завершение декомпиляции в ReFox

Можно просмотреть результат в указанной папке.

Способ 3: DeDe

А DeDe будет полезна для декомпиляции программ на Delphi.

Загрузить программу DeDe

  1. Нажмите кнопку «Добавление файла».
  2. Добавление файла в DeDe

  3. Найдите файл EXE и откройте его.
  4. Добавление EXE в DeDe

  5. Для запуска декомпиляции нажмите кнопку «Процесс».
  6. Запуск декомпиляции в DeDe

  7. При успешном завершении процедуры появится такое сообщение:
  8. Завершение декомпиляции в DeDe

    В отдельные вкладки будет выведена информация о классах, объектах, формах и процедурах.

  9. Для сохранения всех этих данных откройте вкладку «Project», проставьте галочки рядом с типами объектов, которые нужно сохранить, выберите папку и нажмите «Сделать файлы».
  10. Сохранение декомпилированных объектов в DeDe

Способ 4: EMS Source Rescuer

Декомпилятор EMS Source Rescuer позволяет работать с EXE-файлами, скомпилированными при помощи Delphi и C++ Builder.

Загрузить программу EMS Source Rescuer

  1. В блоке «Executable File» нужно указать нужную программу.
  2. В «Project name» пропишите имя проекта и нажмите «Next».
  3. Выбор исходника и имя проекта в EMS Source Rescuer

  4. Выберите необходимые объекты, укажите язык программирования и нажмите «Next».
  5. Выбор объектов и языка программирования в EMS Source Rescuer

  6. В следующем окне исходный код доступен в режиме предпросмотра. Осталось выбрать выходную папку и нажать кнопку «Save».
  7. Предпросмотр и сохранение проекта в EMS Source Rescuer

Мы рассмотрели популярные декомпиляторы для файлов EXE, написанных на разных языках программирования. Если Вам известны другие рабочие варианты, напишите об этом в комментариях.

Еще статьи по данной теме:

Помогла ли Вам статья?

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

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

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

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

Как найти исходный код

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

В большинстве случаев исходный код будет размещаться на крупнейшей веб-платформе управления версиями, GitHub,

Что такое GitHub?

GitHub был основан в 2008 году и приобретен Microsoft в 2018 году. Это глобальная платформа для разработки программного обеспечения, которая предлагает все функции управления исходным кодом: Гитнаряду с собственными функциями, которые расширяют возможности совместной работы и функции контроля версий.

Чаще всего разработчики размещают свой открытый исходный код на GitHub. Несколько примеров программного обеспечения, о котором вы, вероятно, слышали, с исходным кодом, доступным на GitHub: LibreOffice, GIMP, а также VLC медиаплеер,

С помощью Функция поиска GitHubвы должны быть в состоянии найти и просмотреть исходный код практически для каждого крупного программного проекта с открытым исходным кодом.

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

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

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

README.md репозитория важно проверить, потому что он часто указывает пользователям направление исходного кода, который их может заинтересовать. Репозиторий может быть заполнен всеми видами кода и другими данными, некоторые из которых совершенно бесполезны для вас. , так что этот файл — ваша дорожная карта.

Как только вы выясните, где в репозитории находится интересующий вас код, все, что вам нужно сделать, — это щелкнуть по дереву каталогов репозитория, чтобы найти, куда вы хотите перейти.

Щелчок по файлу отобразит его с правильной подсветкой синтаксиса.

Для быстрой проверки веб-интерфейс GitHub отлично подходит. Однако для более сложного исходного кода вам может потребоваться просмотреть несколько файлов одновременно или в течение длительного периода времени. В этом случае мы рекомендуем скачать и просмотреть исходный код через Текстовый редактор, например, Sublime Text.

Загрузка исходного кода

Загрузка репозитория с GitHub занимает всего два клика.

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

По умолчанию начнется загрузка главной ветви текущего репозитория в виде файла ZIP. По завершении все, что вам нужно сделать, это извлечь архив в локальную папку на вашем компьютере. Затем, используя текстовый редактор, вы можете открыть любой из файлов репозитория гораздо быстрее, не требуя браузера.

Если вы не опытный кодер, GitHub может сначала немного запутать. Если вы просто думаете об этом как об открытом каталоге исходного кода, с readme на верхнем уровне, это не слишком пугающе. Просмотр исходного кода с помощью GitHub прост, как локально, так и через его веб-интерфейс.

Понравилась статья? Поделить с друзьями:
  • Как посмотреть какие кодеки установлены в windows 10
  • Как посмотреть код приложения на windows
  • Как посмотреть какой opengl установлен на windows 7
  • Как посмотреть какие драйвера установлены на windows 10 на видеокарту
  • Как посмотреть код ошибки синего экрана в windows 11