Как изменить скомпилированную программу

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

1. Запустите компилятор CodevisionAVR (CVAVR) и через меню File -> Open откройте файл проекта CVAVR — c:vmlabz8cv.prj

2. Разверните окно с текстом программы. Вы видите что программа начинается с оформленного в виде комментария краткого описания того что она делает и некоторых технических параметров. Программа написана на языке Си — который является пожалуй самым популярным и удобным при программировании для МК.

3. Найдите в тексте программы в компиляторе CVAVR строки:

putchar(‘P’); // вывод в USART символа P
putchar(‘W’);
putchar(‘M’);

Давайте заменим выводимое этими строками слово PWM на слово WOW вот так:

putchar(‘W’); // вывод в USART символа W
putchar(‘O’);
putchar(‘W’);

4. После внесения изменений в исходный текст программы ее нужно cкомпили-
ровать. Компилятор должен превратить вашу программу в файл «прошивку».hex который можно прошить (загрузить) в реальный МК или использовать в симуляторах.

C# Как изменить имя exe-файла, который создаётся при компиляции

5. Для выполнения компиляции нажмите кнопку «Make the project»:

После компиляции появится информационное окно в котором сообщается что наша программа содержит целых 5 ошибок! В чем же дело? Где найдены ошибки и каковы они написано красным цветом в левой части экрана в окне Navigator — навигации по проекту CVAVR:

При наведении курсора можно увидеть описание ошибок.
6. Первая ошибка — «не могу открыть файл m8_128.h»

Этот файл включен в исходный текст программы строкой:

Этот файл был создан для возможности прямой вставки примеров на Си из документации в текст программы в CVAVR. В инсталляции компилятора его нет. Но в тексте программы написано где можно скачать файл – скачайте m8_128.h.
Скачав, поместите его в папку INC компилятора CVAVR.

Читайте также:
Виды нарушений авторских прав на программы для эвм

7. Снова откомпилируйте программу кнопкой «Make the project» — теперь получаем сообщение об отсутствии ошибок и о размере программы и о том сколько это %% от максимального размера программы для данного МК.

Посмотрите внимательно — хотя ошибок нет, но есть “Warning” — это замечание от компилятора. Замечания не критичны, но можно посмотреть в навигаторе о чем они. Закройте информационное окно кнопкой «ОК».

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

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

Как разобрать и собрать Android приложение? [Декомпиляция / Компиляция файла .APK]

Источник: studopedia.su

Как изменить скомпилированную программу, возможно ли это вообще?

Имеется небольшая скомпилированная под линукс программа, исходники были на C. Надо вырезать/изменить условие одной проверки, либо вытащить рабочий вариант куска самой программы. Как и чем это делать?

P.S.
Были попробованы IDA PRO;RecStudio;boomerang;
RecStudio выдал неадаптируемый текст, boomerang — вырезание проверки условия и куска кода.

  • Вопрос задан более трёх лет назад
  • 1043 просмотра

4 комментария

Оценить 4 комментария

pi314

Вот IDA PRO как раз и нужно ковырять. В простом варианте найти проверку условия и изменить его, чуть более продвинуто — реверснуть всю логику (ну, и переписать ее на нужном языке).

Читайте также:
Программа судейская на кхл когда выйдет

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

pi314

Rubikoid: То, что кажется интуитивно «понятным» на уровне логики, может в ассемблере выглядеть совершенно неузнаваемо, благодаря оптимизациям компилятора. Иногда даже найти проверку того самого «простого» условия — задачка нетривиальная. Так что, или сами разбирайтесь, или обратитесь к кому-нибудь за помощью, т.к. иного пути, кроме изучения/понимания ассемблера тут нет 🙁

Источник: qna.habr.com

Изменить скомпилированный.Net Exe

У меня есть приложение, написанное на C# (без источника, конечно), которое нужно немного изменить. Например, мне нужно остановить несколько строк кода, которые создают ненужное меню. Поэтому я думаю, что я должен закомментировать их.

Исходный код не запутан. Я знаю, что могу полностью декомпилировать, изменять и снова компилировать, используя такие инструменты, как Reflector/Reflexil. Но все знают, что при этом многие части кода не будут компилироваться снова! Есть ли способ в Reflector (или любом другом продукте), что часть может быть отключена / изменена без этого процесса?

user2468348 26 авг ’13 в 05:10 2013-08-26 05:10
2013-08-26 05:10

6 ответов

В конце концов мне удалось «отключить» несколько строк кода в скомпилированном exe.

Я использовал Reflector с установленным плагином Reflexil. Reflexil позволил мне отредактировать инструкцию MSIL, а затем сохранить результат обратно в исполняемый файл. Таким образом, это включало изучение нескольких инструкций MSIL, особенно команды «без операции» (создание строки кода ничего не делает). Чтобы увидеть список инструкций и учебника, смотрите здесь и здесь.

Надеюсь, это поможет кому-то еще.

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

user2468348 06 апр ’15 в 14:30 2015-04-06 14:30
2015-04-06 14:30

Вы можете попробовать dnSpy. Это редактор сборок.NET, декомпилятор и отладчик, созданный из ILSpy.

user2191876 31 дек ’15 в 15:39 2015-12-31 15:39
2015-12-31 15:39

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

Вы можете столкнуться с проблемами вокруг:

  1. Запутанный код
  2. Разделы, где декомпиляция показывает вам точный код для определенных разделов, но по какой-то причине он просто не работает в вашем новом решении (и что вы тогда делаете?)

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

Источник: stackru.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru