Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Ayuda con dll - API's (https://www.clubdelphi.com/foros/showthread.php?t=63741)

GunMiNiHo 28-02-2009 19:10:05

Ayuda con dll - API's
 
:S bueno hola soy algo nuevo en el foro y en delphi xP pero bueno queria que le hecharan un ojo a este codigo fuente y me digan los errores xP! xq cuando compilo me salen varios errores:

Cita:

library Project2;



uses
SysUtils,
Classes;
Windows;



{$R *.res}

const

MineralAdress1:pdword=$0040E07A;
//MineralAddress2:pdword=$00411601;

procedure Main;
////////////////////////////////////////////////////////////////////
// /////
/// Aciendo Hotkey /////
/// /////
///////////////////////////////////////////////////////////////////
procedure Hotkey;
begin
while(true) do
begin
if GetAsyncKeyState($9)<>0 then
begin
//ZChatOutput('HI!!!', 2, 0, $FFFFFFFF);
VirtualProtect(pointer($0040E07A), 1, PAGE_EXECUTE_READWRITE, nil);

//modificando address

pword($0040E07A)^:=$10000;
sleep(100);
pword($0040E07A)^:=$10000;
sleep(150);
end;

sleep(30);
end;
end;

/////////////////////////////////////////////////
/// Creando Thread ////
/////////////////////////////////////////////////

var
c:cardinal;
begin
CreateThread(nil, 0, @Hotkey, nil, 0, c);
if c=0 then
MessageBox(0, 'Unable to create thread.', 'ERROR!', MB_OK or MB_ICONERROR) else
MessageBox(0, 'Thread sucessfully created!', 'Sucess!', MB_OK);
//MessageBox(0, 'Happy Hacking by GunMiNiHo' , 'GunMiNiHo //Productions', MB_OK or MB_ICONERROR)
end.
aqui una imagen del error al compilar:


ElKurgan 28-02-2009 20:07:48

Para empezar, en esto:

uses
SysUtils,
Classes;
Windows;

... Te sobra el punto y coma detrás de "Classes".

Un saludo

GunMiNiHo 28-02-2009 20:39:14

pero cuando creo una dll por defecto me aparece asi:

Cita:

library Project1;

{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }

uses
SysUtils,
Classes;

{$R *.res}

begin
end.
osea esa parte esta bien declarada >.<

DarkMan 28-02-2009 21:18:33

Primero procura usar las etiquetas de delphi para resaltar la sintaxis al pegar código en el foro.
Segundo:

Cita:

Empezado por GunMiNiHo
uses
SysUtils,
Classes;
Windows;

Cita:

Empezado por ElKurgan
... Te sobra el punto y coma detrás de "Classes".

y esto:
Código Delphi [-]
 
Uses
 SysUtils,
 Classes;

es distinto de esto
Código Delphi [-]
 
Uses
 SysUtils,
 Classes;
 Windows;

Así que esto
Cita:

Empezado por GunMiNiHo
osea esa parte esta bien declarada >.<

No es cierto.

cHackAll 28-02-2009 22:05:19

Cita:

Empezado por GunMiNiHo (Mensaje 339679)
...
Código Delphi [-]
//MessageBox(0, 'Happy Hacking by GunMiNiHo' , 'GunMiNiHo //Productions', MB_OK or MB_ICONERROR)
...

:eek:

dec 28-02-2009 23:29:00

Hola,

Je je je je... :D

GunMiNiHo 28-02-2009 23:36:48

Cita:

Empezado por cHackAll (Mensaje 339702)


y si voy a ausar estas API's como se deben declarar :S ( se ke tiene ke ver con windows ¬¬)


VirtualProtect, GetAnsKey,CreateThread?

cHackAll 01-03-2009 00:08:43

Pues si tiene que ver con Güindos, y no tienes que redeclararlas pues ya estan declaradas en una de las unidades de ese codigo, leiste las intervenciones de ElKurgan y DarkMan ?

StringReplace(GunMiNiHo, ':S', :confused:, [rfReplaceAll]);
StringReplace(GunMiNiHo, 'xq', 'porque', [rfReplaceAll]);
StringReplace(GunMiNiHo, '>.<', :p, [rfReplaceAll]);
StringReplace(GunMiNiHo, 'ke', 'que', [rfReplaceAll]);
StringReplace(GunMiNiHo, '¬¬', :rolleyes:, [rfReplaceAll]);

GunMiNiHo 02-03-2009 00:27:11

Cita:

Empezado por cHackAll (Mensaje 339708)
Pues si tiene que ver con Güindos, y no tienes que redeclararlas pues ya estan declaradas en una de las unidades de ese codigo, leiste las intervenciones de ElKurgan y DarkMan ?

StringReplace(GunMiNiHo, ':S', :confused:, [rfReplaceAll]);
StringReplace(GunMiNiHo, 'xq', 'porque', [rfReplaceAll]);
StringReplace(GunMiNiHo, '>.<', :p, [rfReplaceAll]);
StringReplace(GunMiNiHo, 'ke', 'que', [rfReplaceAll]);
StringReplace(GunMiNiHo, '¬¬', :rolleyes:, [rfReplaceAll]);

Cita:

Empezado por ElKurgan (Mensaje 339684)
Para empezar, en esto:

uses
SysUtils,
Classes;
Windows;

... Te sobra el punto y coma detrás de "Classes".

Un saludo

Cita:

Empezado por DarkMan (Mensaje 339694)
Primero procura usar las etiquetas de delphi para resaltar la sintaxis al pegar código en el foro.
Segundo:





y esto:

Código Delphi [-]
Código Delphi [-]
Uses
 SysUtils,
 Classes;




 
es distinto de esto

Código Delphi [-] 
Uses
 SysUtils,
 Classes;
 Windows;




Así que esto

No es cierto.


:S tons no debo de declarar la libreria windows?
pero si compilo sin la libreria me vuelve a aparecer error ya lo intente.

aparte de eso si el IDE delphi 7.0 me declara automaticamente el classes; ? q suopne ke deba acer? alguna sugerencia?

la sintaxis para declarar una variable io constante es:

Cita:

VariableName:Type=<value>;
o me equivoco?

cHackAll 02-03-2009 00:35:33

Cita:

Empezado por GunMiNiHo (Mensaje 339767)
:S tons... ...q suopne ke deba acer?...

whaa?

Cita:

Empezado por GunMiNiHo (Mensaje 339767)
...la sintaxis para declarar una variable io constante es...

te equivocas ;)


Pero por qué no nos cuentas que cosillas quieres romper con ese codigote?

GunMiNiHo 02-03-2009 15:40:14

crap ¬¬.

Ok lo q intento es acceder ala memoria de un juego llamado starcraft, a cual he punteado al address del mineral ( la cual es dinamica) y saque su puntero, aora con ese codigo kiero acceder ala memoria cambiar su proteccion, ( VirtualProtect(pointer($0040E07A), 1, PAGE_EXECUTE_READWRITE, nil);), modificar la memoria para que me mineral sin hacer nada " pword($0040E07A)^:=$10000; " , pero esto quiero que se haga cuando presione una tecla ( if GetAsyncKeyState($9)<>0 then ) para que funcione pero para eso tengo que crear un nuevo hilo para insertar el cogido ala memoria del juego ( CreateThread(nil, 0, @Hotkey, nil, 0, c); ) y llamar ala funcion o metodo( @hotkey )

habra alguien que me haya entendido? ??

cHackAll 02-03-2009 20:21:16

Cita:

Empezado por GunMiNiHo (Mensaje 339825)
...habra alguien que me haya entendido? ??

Y no sera mas facil hacer un cheat "show me the money" :D
o si es para darle una gran paliza a alguien, no seria mejor practicar? :D

GunMiNiHo 03-03-2009 01:59:57

Cita:

Empezado por cHackAll (Mensaje 339870)
Y no sera mas facil hacer un cheat "show me the money" :D
o si es para darle una gran paliza a alguien, no seria mejor practicar? :D

jajajajajajajajaja ¬¬ el show me the money no sirve en multiplayer ni el battle net,y la paliza se la doy ¬¬ pero mi objetivo es practicar con juegos FPS ( offline) para despues irme a los mas grande osea lo MMORPG's o juegos online como Gb, Rakion y esa clase de juegos :S q es mi obejtivo final :P

alguien tiene alguna idea?

c0lo 16-03-2009 06:22:04

Lo primero antes que empiezes a hacer Cheats o Tools para juegos, es leer un poco de las Apis que quieres usar. Y ademas del lenguaje de programacion que deseas usar. Asi no te pierdes como lo hicistes en las declaraciones.

:mad:

GunMiNiHo 22-03-2009 07:14:29

Cita:

Empezado por c0lo (Mensaje 341535)
Lo primero antes que empiezes a hacer Cheats o Tools para juegos, es leer un poco de las Apis que quieres usar. Y ademas del lenguaje de programacion que deseas usar. Asi no te pierdes como lo hicistes en las declaraciones.

:mad:

jajaj sep fue lo primero q hice xP! bueno ya logre hacer mi primer cheat xP!


La franja horaria es GMT +2. Ahora son las 07:41:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi