Grand Chase Worlds

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Bem-Vindo a GC World !


    Criando DLL No Delphi7

    Skeletoon Surf
    Skeletoon Surf
    [E] Estágiario
    [E] Estágiario


    Mensagens : 35
    Data de inscrição : 23/03/2011

    Criando DLL No Delphi7 Empty Criando DLL No Delphi7

    Mensagem por Skeletoon Surf Qui Mar 31, 2011 6:46 pm

    ANTES DE TUDO LEIA O QUE VEM A SEGUIR:
    Então antes de ler o tópico já estarei avisando que:
    1- O tópico só estará ensinando a criar uma DLL e não a criar um hack para jogos. Mesmo tentando injetar a DLL em algum jogo ela não irá influenciar em nada.

    2- Se já tem conhecimento deste conteúdo da Criação de DLL não é necessário ler, e muito menos postar comentários inúteis, além do mais é considerado como flood.


    Algumas perguntas que constumam ser dúvidas de várias pessoas:

    Bom eu criei a DLL mais como faço para ela se transfomar em um Hack ?
    R: Bom, primeiro você precisa saber mais ou menos como funciona o jogo, e modificar o conteúdo.Por exemplo (isto não está escrito em jogo nenhum é somente uma desmonstração) digamos que esteja escrito assim:
    Damage= 25
    Então na DLL você irá fazer com que ela tranforme esse número em algo maior, isso irá fazer com que o "Damage" seja grande.
    Resumindo bem a DLL na maioria das vezes apenas transforma valores já existentes, em algum casos acrescenta.
    Obs: Aconselho começar com The Duel apesar de estar trabalhando a pouco tempo com ele acredito ser um sistema bem simples.

    Este tópico irá postar o o contéudo de algum hack em DLL ?
    R: Não como já havia escrito ele só irá mostrar como é a criação da DLL.

    Você pode colocar no tópico também como criar hack's para determinados jogos ?
    R: Olha, eu até postaria para você estudarem já daria o Hack direto, mais como sei que muita gente aqui não é confiáviel ainda não estarei postando coisas deste tipo.

    Mais você ensina como fazer DLL e não ensina como fazer o hack, do que isso adianta ?
    R: Primeiro que a DLL não é usada somente em hack's é usada em vários programas, e se eu postasse o hack direto vocês não teriam estudo nenhum isto não adiantaria em nada vocês só iriam fazer uma cópia e postar em outros lugares dando o seu nome como o do criador.

    A criação


    1º Regras para escrever uma DLL no Delphi : As funções e/ou procedimentos de DLL devem seguir estas regras:
    - Precisam estar listados na cláusula exports da DLL. Isso possibilita que no momento de chamar a funções e/ou procedimentos, seja aceito pelo programa principal.
    - As funções exportadas precisam ser declaradas como stdcall;
    - Os tipos de parâmetros de uma DLL devem ser de tipos padrão do Windows, pelo menos se você quiser usar a DLL dentro de outros ambientes de desenvolvimento, como por exemplo, C++.
    - Uma DLL pode usar dados globais que não serão compartilhadas pelos programas base. Sempre que uma aplicação carrega uma DLL, ele armazena os dados globais da DLL em seu próprio espaço de endereço


    2º Neste passo vamos tirar a dúvida a uma pergunta muita frequente; “Como criar uma DLL?”.
    Dando início ao desenvolvimento de DLLs no Delphi, vou mostrar a vocês uma biblioteca muito simples. O principal objetivo desse exemplo é mostrar a sintaxe utilizada para definir uma DLL no Delphi.
    Para começar, selecione o comando File/New, escolha a opção DLL na página New do Object Repository. Isso cria um Codigo-Fonte muito simples.
    Aqui está código fonte da nossa primeira DLL:

    Library MINHADLL.DLL;
    uses SysUtils,
    Classes;
    {$R *.res}
    function Triple(N: Integer): Integer; stdcall;
    begin
    Result := N * 3;
    end;
    function Double (N: Integer): Integer; stdcall;
    begin Result := N * 2;
    end;
    exports Triple, Double;
    end.

    3ª E agora por fim vamos incluir a dll num projecto Win32.
    Para fazer um formulário usando nossa DLL vamos abrir o Delphi e criar uma nova aplicação.
    Colocar dois Edits e dois Buttons, no evento OnClick dos botões faremos as chamadas das funções. Para chamar um função de uma DLL é preciso apenas declarar as funções de forma igual a declarada na dll, ou seja, nome, parâmetros e tipos.
    Aqui fica um exemplo:

    unit Unit1;
    interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
    type TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    private { Private declarations }
    public { Public declarations }
    end;
    var Form1: TForm1;
    implementation
    {$R *.dfm}

    {funções da DLL Delphi}

    function Double (N: Integer): Integer; stdcall; external 'MINHADLL.DLL';
    function Triple (N: Integer): Integer; stdcall; external 'MINHADLL.DLL';
    procedure TForm1.Button1Click(Sender: TObject);
    var x, y: integer;
    begin
    x := StrToInt(Edit1.Text);
    y := Double(x);
    Edit1.Text := IntToStr(y);
    end;


    procedure TForm1.Button2Click(Sender: TObject);
    var x, y: integer;
    begin
    x := StrToInt(Edit2.Text);
    y := Triple(x);
    Edit2.Text := IntToStr(y);
    end;
    end.

    Caso tenha alguma dúvida é só postar.


    Se te ajudou seria educado agradeçer

      Data/hora atual: Seg Nov 25, 2024 10:03 pm