Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Создание приложения через приложение на Delphi (https://forum.antichat.xyz/showthread.php?t=82626)

Sin3v 27.08.2008 21:40

Создание приложения через приложение на Delphi
 
Вот например 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 вроде все доступно объяснил...


Время: 23:42