|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Прикладная программа создающая .EXE файл
Всем доброе время суток!
Хочу написать программу которая фактически создает другую программу Если вкратце, то программа №1 имеет интерфейс и поля для ввода информации пользователем, информация из этих полей должна заносится в определенные места кода программы №2 (можно и консольной). После чего программу №2 нужно сохранить как рабочий .EXE файл. Полазив по просторам сети понял что надо использовать либо компилятор, либо интерпретатор в программе №1, но я не имею ни малейшего понятия как это сделать . Помогите пожалуйста!!! Последний раз редактировалось Danik007, 05.01.2010 в 14:36. |
#2
|
||||
|
||||
Тоже сталкивался с такой проблемой. Вот набрал простой пример для разбора EXE.rar
Даный пример создаёт полностью готовую программу (ехе), при создании можна изменять два параметра. Этот исходник можно упростить добавив в создающийся ехе таблицу импорта с функциями (какие надо). Если хочеш изменять параметры в готовых ехе то это проще. Анализируеш ехе, находишь нужные адреса и меняеш их значения. Все смещения и адреса взяты отсюда pe.rar |
#3
|
||||
|
||||
Посмотрел вашу программу, большое спасибо, но многое не понял.
Можно написать без PE? Просто есть код программы №2, в этом коде правятся параметры, а потом все это компилится, но без участия Delphi, только по средствам моей программы №1. |
#4
|
||||
|
||||
Можно откомпилировать прогу №2 найти смещения параметров которіе изменяются и записать туда другие значения.
Для этого надо дизасемблировать прогу N2. Что за параметры надо менять и что из себя представляет прога №2 ? (Похоже на написание кряка ) Последний раз редактировалось AND_REY, 05.01.2010 в 23:18. |
#5
|
||||
|
||||
Цитата:
Параметры такие: Путь к .exe файлу, дата (в формате ДД.ММ.ГГГГ) и еще одно числовое значение. А можно ли сделать так: 1) Прикрепить к программе №1 компилятор Delphi (желательно помести в саму прогу, для портативности) 2) программу №2 оставить в ввиде файла .pas (тоже желательно поместить в программу №1) 3) Выше перечисленные параметры (путь, дата, число) задать как переменные заносящиеся в .pas файл (программы №2) 4) А в заключении, направить этот файл в компилятор. Как видите ни какого отношения к креку, это не имеет. Жду ваших ответов, очень надеюсь что это все реализуемо |
#6
|
||||
|
||||
Можна сделать всё.
Вы полностью описали алгоритм. Могу только уточнить, на основе примера www.slil.ru/28444421 1. Присоединяем к первой проге (в виде Res ресурса) компилятор DCC32.ехе и минимум модулей для его работы SysInit.pas и System.pas 2. Первая прога при запуске изменяет нужные параметры в Progect1.pas извлекает из себя компилятор и модули в каталог где находится Progect1.pas создаёт Bat - файл и запускает его. Bat - файл запускает компилятор и передаёт ему путь к Progect1.pas Т.о создаёться ехешка. 3. Удаляем все файлы кроме созданной ехе и pas - исходника второй проги. В примере стоит только запустить Progect1.bat и выполняются пункты 2 и 3. |
#7
|
||||
|
||||
Огроманое спасибо за пример!
Цитата:
|
#8
|
||||
|
||||
Пример с ресурсом (компилятор и два модуля) www.slil.ru/28445732
Для создания ресурса надо 1. Создать текстовый файл (Data.txt) в нём набрать DCC32 FILE C:\DCC32.EXE (DCC32 - имя ресурса, FILE - тип любой файл, C:\DCC32.EXE - путь с файлом) 2. Открыть текстовый файл с помощю ...Borland\Delphi7\Bin\brcc32.exe это ресурсный компилятор Borland. После компиляции рядом с текстовым файлом появится ресурс. Далее см. пример. |