PDA

Просмотр полной версии : Создание приложения через приложение на Delphi


Sin3v
27.08.2008, 21:40
Вот например slider делал прогу http://img397.imageshack.us/my.php?image=buildsk3.jpg , вводишь числа жмешь go и создается ексешник. Что там за код чтобы создавало приложение? :confused: (компилятор чтоли пихать туда? :D )

Sin3v
27.08.2008, 22:44
Ну блин где все программисты та а?

ExZoD
28.08.2008, 05:41
он не компилит, а скорее всего фейк(прогу) тащит из ресурсов и правит его, записывая вместо уина например 999999999 тот, что вбили в форму. Попробуй написать прогу, которая выводит строку "Hello, world". Скомпиль и открой ее в любом хекс-редакторе. Далее поиск по строке "Hello, world" и напиши вместо нее "I see you". Все, что осталось забей нулями. Запусти прогу - она выдаст мессагу "I see you".

AHTOLLlKA
28.08.2008, 08:00
как вариант делать ресурс новый в програме.. а билдер... будет просто вносить в него изменения...

nerezus
28.08.2008, 09:16
Ну блин где все программисты та а? Читай правила форума кстати.

slesh
28.08.2008, 09:38
Это обычный билдер который, как сказали выше, просто запоняет уже готовый exe который может храниться как в виде ресурса, так и ввиде массива данных в коде.
Если хочешь генерить прогу сам, то таскай d32.exe + парочку модулей типа sysinit.dcu и system.dcu вот тока припост в размере проги будет около полуметра.

AKYLA
31.08.2008, 06:18
Да обычно просто изменяют данные в уже готовой проге, можно конечно и поизвратнее создавать секции и в них пихать что-то, или же интерпретатор нужен а к нему цеплять скрипт и.т.д
Смотря конечно какая цель вообще преследуется?

eLWAux
31.08.2008, 19:49
короче, дело ,как я понял, идет о обичном билдере))
вот пример билдера:


var f : thandle;
i,fils : integer;
c: byte;
BytesRead: DWORD;
begin
f:=fileopen('c:\1.exe',fmOpenReadWrite);//откриваем c:\1.exe
fils:=Windows.GetFileSize(f,nil); //размер файла
SetFilePointer(f, $AB, nil, 0);//устанавливаем позицию на AB
c:=$12; //будем писать два байти 1 и 2
WriteFile(f, c, SizeOf(c), BytesRead, nil); //пишем в файл
FileClose(f); //закриваем файл
end;

Sin3v
31.08.2008, 20:32
Кажется нето, мне нужно такое к примеру запускаю приложение там ввожу в label 123, и чтоб это приложение создало или распаковало еще одно приложение и на нем в загаловке записалось 123 (т.е. то что я указал в label того приложения он вписывал в загаловок нового и создал его как 1.exe)

P.S. думаю поняли меня :D

De-visible
31.08.2008, 22:04
Slesh вроде все доступно объяснил...

Sin3v
31.08.2008, 22:22
А я непонел, напишите мне код на то что я написал ниже eLWAux'a :D

GALIAFF
31.08.2008, 22:38
напишите мне код
может еще сконпелировать за тебя?

Sin3v
31.08.2008, 22:42
Компилировать пишется через букву М.
И че мне кто-нибудь поможет?

De-visible
31.08.2008, 23:01
Тема закрыта так как первоначальный вопрос решен(ТС получил ответы, стоит немного воспользоваться поиском...)
Далее пошел оффтоп, тема Closed.