Билдер на Delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Voland-791, 26 Apr 2010.

  1. Voland-791

    Voland-791 Member

    Joined:
    1 May 2009
    Messages:
    163
    Likes Received:
    13
    Reputations:
    5
    Приветствую! короче мне нужно создать билдер на делфи,например если билдире была введена команда "dir C: >%WINDIR%\7.txt" то он создавал .exe и выполнял это, я знаю что эта тема была до меня
    прошу ссылки или пример исходника))
     
  2. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Не понял, причем здесь команда???

    Билдер на делфи не напишешь, только патч
     
  3. Сredo

    Сredo Member

    Joined:
    17 Apr 2010
    Messages:
    18
    Likes Received:
    10
    Reputations:
    20
    Это легко!Скоро я напишу про это статью!
    А сейчас просто возьми в своей программе напиши примерно вот так:
    dir C: >%WINDIR%\777777777777777777777.txt
    скомпелируй проект,открой его через винхешь,найди в поиске эту строку и перепиши адресс памяти каждого сивола,после чего сотри их( что бы стереть прописывай 0)
    Все,теперь тебе осталось самое легкое...создай ресурс этого "стертого проекта",а потом просто найти любую функцию для патча байт и прописать ее....Это будет выглядить примерно вот так

    var
    fileName :string;
    tags :string;
    f :thandle;
    fils :integer;
    BytesRead :DWORD;
    c :byte;
    begin
    ExtractRes('EXEFILE', 'test', 'bild.exe');//извлекаем из ресурсов
    fileName:= 'bild.exe';
    f:=fileopen(fileName,fmOpenReadWrite); //откриваем билд
    fils:=Windows.GetFileSize(f,nil);

    c:=ord(char(pchar(Edit1.Text[1]))); //первый символ из едита
    SetFilePointer(f, $7759A, nil, 0);
    WriteFile(f, c, SizeOf(c), BytesRead, nil);
    и так далее
    Писал на спех,если будут какие то вопросы пиши в личку помогу
     
    2 people like this.