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

Как извлечь код программы из ехе файла?

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

Можно ли как-нибудь из ехе-файла получить дизассемблированый код
Можно ли как нибудь из ехе файла получить дизассемблированый код на FASM\MASM?

как посмотреть код программы на windowsКак узнать исходный код файла-ЕХЕ для Visual Basic 6.0?
Здравствуйте! Прошу помощи. Как узнать P-Code? Научите, пожалуйста, пользоваться компиляторами и.

Как средствами Delphi реализовать извлечение ехе файла при запуске ехе?
Здорова, народ. Как средствами Delphi реализовать извлечение ехе файла при запуске ехе? Заранее.

как посмотреть код программы на windows
смешно, хоть и флуд.

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

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

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

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

ну вот сейчас вменяемое объяснение. это так сложно сразу нормально писать.
То что можно только повторить примерный листинг пользуясь диззасемблером/декомпилятором это и говорилось автору сразу, но он сам этого мало понимает в силу своих очень скудных познаний (да и интелектуальный потенциал этого индивида тоже вызывает сомнения)
>>1)автор хочет исходник для Студии; от бишь с шаблонами диалогов, ДОТНЕТОМ, и прочими финтифлюшками. это специфические реализации С++

с++ это не дотнет, дотнетовские проги просматриваются CLR просмоторщиками (который входит в состав студии)

Источник

Один из простых способов улучшить свои навыки программирования — читать чужой код

Примечание: первоначально эта статья была написана для сайта Fuel Your Coding back в мае 2010 года. К сожалению, этот сайт сейчас не работает, поэтому я публикую статью здесь, чтобы сохранить её для потомков. Я собирался обновить её, учитывая последние веяния, но решил оставить так, как она была написана. Те части, что подустарели, могут показаться немного смешными, но да ладно. Получайте удовольствие…

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

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

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

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

Что читать

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

Читайте программы, имеющие к вам отношение

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

• Плагин WordPress, который вам действительно нравится;
• Ruby gem, который вы считаете полезным;
• Плагин jQuery, к которому вы продолжаете возвращаться.

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

Читайте программы, впечатлившие вас

Помню, что, когда я первый раз просматривал сервис создания презентаций 280 Slides, я подумал: «Да! Круто!». Я быстро выяснил, что программа, управляющая этим сайтом, является проектом Cappuccino с открытым кодом. Это знание вошло глубоко в моё сознание, и когда я как-то наткнулся на ещё одно впечатляющее приложение, работавшее на Cappuccino, я уже знал, что на этом проекте я смогу многому научиться. Что произвело сильное впечатление на вас в последнее время? Эта программа имеет открытый исходный код? Если так, то она — отличный выбор для чтения: код, скорее всего, впечатлит вас так же, как и само приложение.

Читайте программы, написанные теми, кого вы уважаете

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

Программисты, достойные уважения

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

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

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

Если вы склонны рисковать, то можете рассмотреть погружение в большой проект, как, например, Ruby на Rails, Drupal или jQuery. Но я предложил бы вам не использовать пока такие проекты, если вы, конечно, не являетесь опытным читателем программ.

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

Как читать

Теперь, когда код для чтения выбран, как наилучшим способом читать его? Я прочитал на сегодня множество программ и могу предложить несколько способов максимизации вашего КПД.

Изучите общую картину

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

Структура каталога twitter gem

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

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

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

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

Документируйте ваши результаты

Чтение кода не должно быть каким-то пассивным действием. Рекомендую добавлять комментарии по мере продвижения, документировать ваши предположения и ваши выводы, когда вы начнёте понимать ход выполнения программы. Когда вы начнёте впервые, ваши комментарии будут выглядеть, вероятно, так:

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

Используй тесты, Люк

(Прим. переводчика: автор вспомнил «Используй силу, Люк» из «Звёздных войн»)

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

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

Измените код, скомпилируйте

Кто сказал, что чтение кода должно быть пассивным? Вы начнёте, действительно, понимать код, только после того, как сломаете всё и снова соберёте вместе. Вспомните пройденные тесты? Сделайте так, чтобы они завершились неудачно, добавьте кое-что или попытайтесь изменить реализацию так, чтобы они прошли нормально. Попробуйте добавить какую-нибудь небольшую «фичу», которая вам кажется «крутой», или настройте регистрацию по всему проекту так, чтобы можно было распечатать вывод на различных этапах выполнения программы. Это по-прежнему чтение? Абсолютно, но такой подход является больше собственным приключением, чем чтением детективного романа. И это — именно то, что надо!

Смыть и повторить

(Прим. переводчика: из анекдота про айтишника, моющегося шампунем строго по инструкции — бесконечно)

Закончив с чтением одной кодовой базы, возьмите другую и начните процесс снова. Чем больше кодов вы читаете, тем лучше идёт это чтение и тем больше вы получаете из него за меньшее время. Я думаю, вы обнаружите, что ваш КПД растёт довольно быстро и что это действительно очень приятный способ обучения.

Где начать

Единственным, самым важным источником для чтения кода является для меня GitHub. Этот сайт позволяет так легко найти новые проекты и действительно великих программистов, что вы действуете себе во вред, если не используете его. Я предлагаю начать на GitHub и читать код прямо на сайте, пока не найдёте проект, из которого по вашему мнению вы сможете извлечь какие-то уроки. Затем склонируйте его и читайте!

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

Источник

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

Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

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

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

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

Организация «The Historical Source»: репозиторий GitHub в настоящее время содержит архив из 143 программ. Многие из них являются некогда популярными играми, в которые вы, возможно, играли.

Сайт «Чёрная книга игрового движка» содержит подробный разбор движков Doom и Wolfenstein 3D, с исходниками.

Каталог ПО NASA содержит свыше 1000 программных проектов, доступных для публики.

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

Источник

Просмотр кода программы

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

Программист создал программу на каком-то языке (любом). Скомпилировал и получился файл с программой. Этот файл программист дает пользователям.
Пользователь может имея один этот файл посмотреть код программы, внести изменения?

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

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

Анализ кода программы на ошибки
Подскажите что-нибудь по теме нахождения ошибок в тексте программы (языка Паскаль скорее всего). С.

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

Просмотр кода программы
Как посмотреть код готовой программы? Как то пару раз открыл код файла l2.exe Но забыл как это.

Просмотр кода программы на C++ Builder
Вопрос такой: Кто-то писал программу на C++builder, скинул мне папочку со всеми файлами которые.

Начнем с того, что «файлы с программой» (имея в виду исполняемый модуль) бывают разные.

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

. CheshireCat дал ответ, но мне стало жалко всего мною написанного, поэтому всё же опубликую, может, поможет чем-то.

Нельзя. Вот представьте, Вам говорят: «Сделай так, как предписано Нормативным Документом РФ и Всея Человечества. » — но сам этот документ Вам не дают. Что Вы будете делать? Скажете, что незнание закона не освобождает от ответственности? А компьютеру что делать, если Вы ему не можете предоставить четкого описания того, что ему делать надо?
Это я к тому веду, что некоторый код ему всё же надо дать. Всегда.
Пример: под Windows весь код программы содержится в файле *.exe. Другой пример: весь код веб-программы содержится в *.js. Думаю, суть ясна.
Откуда Ваш вопрос возник о представлении программы и дезассемблировании? Полагаю, он исходит из двух тезисов, которые, полагаю, Вам окажутся очевидными:
1. Крайне затруднительно писать большую программу на низкоуровневом языке. Сейчас в машинных кодах, ровно как и на asm никто не пишет весь проект, пользуются C/C++/Pascal/D/. ибо так легче. Ровно по той же причине возникли CoffeScript, Dart и иже с ними, на которых пишутся большие сайты просто потому, что на них писать проще, чем на чистом JavaScript. Ровно по той же причине кроме Java существуют другие языки под JVM. Но результат всегда один и тот же: всякая Windows-программа будет exe, всякая JVM-программа будет в своём формате, всякое html-css-js приложение будет компилироваться в js. По-другому не будет.
2. Люди не хотят, чтоб их продукты воровали. Здесь exe-приложения занимают выгодную позицию, потому что скомпилированную программу дешифровать практически нереально. Для js есть обфускаторы; jvm-приложения, полагаю, тоже обладают чем-то подобным.

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

Помимо этого здесь действует принцип «Неуловимого Джо»: для некоторой программы оцените количество крупных компаний, которые были б готовы потратить время (

10-1000 тыс.долл.) для её декомпозиции. Я на вскидку могу назвать лишь единицы, начиная со Скайпа. 99% программистов не пишут такие программы.

Я надеюсь, что объяснил понятно.

Как Вы правильно выразились, «машинный язык» есть 0 и 1. 0 или 1 это один бит, в байте группы по 8 цифр, стало быть.
В то же время есть понятие кодировки (см. вики) для того, чтобы прдставлять текст в виде тех же самых 0 и 1, по байту на символ (грубо говоря).
Как правило, символы с кодами 0..16 — управляющие, 48..57 — цифры и т.п.
А что есть машинные коды? Это тоже таблица соответствия между числом и коммандой. Если таблица говорит, что 0x11 — это сложение, то всякое сложение будет кодироваться именно как 0x11.
Вообще это не только программ касается, а вообще любой не-текстовой информации.

Так вот блокнот открывает текстовый файл. Поэтому большую часть символов он «глотает», потому что они расцениваются как служебные, а остальные отображаются как некоторые символы. Поэтому и скопировать не получится. В этом смысле лучше пользоваться Notepad++.

Источник

Как писать код и сразу видеть результат

Обзор инструментов крутых программистов.

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

Чтобы разработчик сразу видел результат труда, боги создали для него IDE — integrated development environment, по-русски — среду разработки. Это программа, в которой программист пишет код, ловит ошибки и наблюдает результат.

Чисто технически работать можно и без IDE: писать код в блокноте и просматривать его в специальных программах или браузере. Но это бывает медленно и требует дополнительных телодвижений. Лучше научиться пользоваться IDE и писать в сто раз быстрее.

Выбор среды разработки (IDE) — дело вкуса и привычки. Какие-то из них — универсальные, другие заточены под конкретные языки программирования. IDE часто похожи по своим возможностям и позволяют увеличивать функциональность за счёт внешних дополнений.

Visual Studio Code

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

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

VS Code распознаёт почти все существующие языки программирования, самостоятельно или с помощью плагинов, и форматирует их соответствующим образом. Кроме этого, у него глубокая поддержка HTML, CSS, JavaScript и PHP — он проследит за парными тегами, закрытыми скобками и ошибками в командах.

Вот самые интересные возможности VS Code.

Умное автодополнение. Программа анализирует, какую команду вы хотите ввести, и предлагает закончить фразу за вас, с подсказками и объяснением. Удобно, если вы забыли порядок следования переменных или как точно звучит нужная команда:

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

Выполнение скриптов по шагам. Иногда нужно иметь возможность выполнить скрипт не сразу, а по шагам, например, чтобы понять, не зациклилась ли наша программа. Для этого используйте встроенный дебаггер — это программа, которая следит за кодом, ищет в нём ошибки и позволяет выполнять его поэтапно.

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

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

Мультикурсор помогает вводить одинаковые значения сразу на нескольких строках

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

Найденные одинаковые слова и команды можно тут же заменить на другие

Навигация по коду и описания функций. Когда пишешь большую программу, легко забыть то, что делал в начале — как работает функция или какого типа переменная используется в этом месте. Чтобы этого избежать, VS Code может показывать саму функцию, описание переменной или какие параметры передаются при вызове команды. Ещё это пригодится, если код достался вам по наследству от прошлого разработчика и нужно быстро понять, какие куски кода за что отвечают и как работают:

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

Сразу после установки VS Code не умеет показывать результаты работы кода, когда мы делаем веб-страницы. Это можно исправить с помощью расширения Live HTML Previewer. Для этого заходим в раздел «Extensions», щёлкая на последнем значке на панели слева или нажимая Ctrl+Shift+X, и начинаем писать «Live HTML Previewer» в строке поиска.

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

WebStorm

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

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

Автоподстановка. Некоторые IDE с автоподстановкой тормозят и не предлагают сразу все варианты переменных или команд — но не WebStorm. Здесь всё работает с первой буквы и понимает, когда надо предложить переменную, а когда команду или служебное слово:

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

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

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

Проверка ошибок. WebStorm умеет сам проверять код на ошибки и пояснять каждую из них. Не всегда это работает идеально, но когда работает — экономит кучу времени:

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

Чтобы сразу видеть, что получается на странице, нам понадобится плагин LiveEdit. По умолчанию он выключен, но его можно включить или поставить отдельно в любое время. После активации нужно будет в настройках плагина поставить галочку «Update application in Chrome on changes in» — она как раз отвечает за обновление информации в браузере Chrome. Теперь можно писать код и сразу видеть результат:

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

Sublime Text 3

Бесплатный редактор, который назойливо предлагает занести денег разработчикам. Про Sublime Text у нас есть отдельная и более подробная статья — почитайте, там тоже интересно.

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

как посмотреть код программы на windowsПример разметки HTML-кода в Sublime Text

Вот что ещё умеет программа сразу после установки:

Вторая суперспособность, которая превращает Sublime Text из простого текстового редактора в универсальное решение, — плагины. По принципу действия они такие же, как и в других программах из обзора, но они совершенно не влияют на скорость работы. Когда начинаешь плотно работать с Sublime Text, может показаться, что у него есть плагины для всего. Нужно редактировать одновременно один и тот же код, но в разных панелях — пожалуйста, написать быстро HTML-код — само собой, проверить код на ошибки и недочёты — без проблем.

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

Emmet сокращает время на написание кода, подставляя вместо стандартных команд целые куски готового кода

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

JavaScript & NodeJS Snippets упрощает написание кода на JavaScript и работает по тому же принципу, что и Emmet

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

SublimeCodeIntel помогает быстро разобраться в коде со множеством функций. Если щёлкнуть на название любой функции, плагин сразу покажет вам её описание.

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

Сразу после установки он этого делать не умеет, но нам поможет плагин LiveReload. Он показывает все изменения в браузере, как только мы сохраняем рабочий файл с кодом. Это не так изящно, как в VS Code, но в случае с Sublime Text простительно. Дело в том, что привыкнув однажды писать в нём код, сложно пересесть на что-то другое, что работает с той же скоростью. Установка LiveReload состоит из двух компонентов — плагин для Sublime Text и расширение для браузера.

После установки давайте посмотрим, что у нас получилось. Создадим файл tested.html в Sublime Text, разметим его внутри стандартным шаблоном как HTML-документ, а рядом откроем окно браузера.

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

В реальном времени мы не увидим на странице те изменения, которые вносим в код, как это было в VS Code. Но если нажать Ctrl+S, чтобы сохранить все данные, то браузер моментально показывает то, что мы сделали.

Если вы серьёзно настроены программировать, присмотритесь к Visual Studio Code. Почти со всем он справляется сам или с плагинами, не нужно подключать дополнительно браузеры или сторонний софт.

Любите, чтобы после установки были доступны почти все нужные функции? Попробуйте WebStorm — платную, но мощную среду разработки.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *