PDA

Ver la Versión Completa : Como cambiar valores en la ventana "General" propiedades del sistema


JuanErasmo
04-12-2006, 17:54:54
HOla amigos...
es algo enredada la pregunta pero quiero saber si puedo cambiar o acceder a la informacion por ejemplo Equipo .
Ram , etc. ...que cuando abra esta ventana , pueda ver los valores que yo le ponga al sistema....asi no los tenga...
Gracias!

luisgutierrezb
04-12-2006, 18:56:47
pues que yo sepa, esos valores los lee del registro, pero tambien tengo entendido que sobreescribe esos valores cada vez que arranca el windows

JuanErasmo
04-12-2006, 19:01:18
Gracias pOr responderme.
Sabes en que ruta estan ubicados???
Gracias. especialmente nombre del equipo, procesador, ram-....etc??
Gracias otra vez

Ñuño Martínez
04-12-2006, 19:46:35
Aunque te lo digamos, probablemente no sirva de nada. Apuesto a que están protegidos de forma que no se puedan cambiar. Al menos, si yo fuera el diseñador de Windows, no permitiría que nadie los cambiara.

Y, ya que estamos, ¿para qué los quieres cambiar? No estarás programando un virus, ¿hein? (¬.¬)

JuanErasmo
04-12-2006, 20:25:30
no, no es un virus , para nada.
Soy un curioso de la programacion, no soy un Hacker maligno...solo es por curiosidad.
Gracias, si alguien sabe donde es no lo utilizare para mal.

seoane
04-12-2006, 23:02:28
Vamos a ver, aquí te van algunas claves que te pueden resultar interesantes:


HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOwner
HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProductId
HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\ProcessorNameString
HKLM\HARDWARE\DESCRIPTION\System\Identifier


El resto de información (Memoria, Versión, etc) lo obtiene con las correspondientes funciones de la API.

JuanErasmo
04-12-2006, 23:17:21
Hola seaone.
Tienes algun ejemplo de este manejo?
cambiarle por ejemplo el nombre del equipo(solo en los Label) , o la velocidad del procesador (solamente en los Label)
Gracias.

seoane
05-12-2006, 00:15:28
:confused: ¿Que quieres hacer exactamente? Si lo que quieres es obtener los datos para utilizarlos en tu aplicación, puedes leer esas entradas del registro y/o utilizar las funciones de la API correspondientes, si es eso dilo y te paso las apis que tienes que utilizar. Si por el contrario quieres cambiar los valores que allí aparecen, puedes cambiar los valores del registro, pero las que se obtienen directamente con la API son mas difícil de modificar.

Podríamos inyectarnos dentro del proceso y modificar lo que consideremos oportuno, pero eso seria un trabajo inmenso solo para jugar, así que ahora seria un buen momento para que explicaras un motivo legitimo por el que alguien querría hacer eso.

JuanErasmo
05-12-2006, 17:02:39
hola.
Lo que necesito es que cada vez que aparezca la ventana propiedades del sistema . pestaña General , con mi aplicacion con un boton, pueda cambiar los valores que aparecen en NOmbre del Equipo, procesador y Ram.
Ya se usar el WinExplorer, y desde ahi lo puedo cambiar....pero en Builder no es tan sencillo...
Gracias!

Namaris
22-12-2006, 19:46:06
Hola,

Yo llevo buscando lo mismo desde hace 4 dias y durante estos 4 dias no he echo otra cosa cn el pc que buscar por google y por ahi la manera de cambiar estos parametros...

¿Ami no lo unico que me interesa es cambiar el parametro de la RAM, dnd dice 1,00GB me gustaria ponerle 2,00GB?

Alguien me dice como hacerlo desde el registro?? Pk solo he conseguido cambiar lo del microprocesador que me no me interesaba mucho, ¿Lo de la RAM como va? :(


P.D: Por cierto, soy recien registrao y este es mi 1º post en eeste foro, asi que un enorme saludo a todos :D

seoane
22-12-2006, 21:32:49
Hola Namaris, antes de nada bienvenido al foro :)

Volviendo a tu pregunta, ese dato no lo obtiene del registro, por lo que no conseguiremos nada por ese camino. Lo consigue utilizando funciones de la API así que es difícil que puedas cambiar ese valor.

Podríamos intentar cambiar el texto que aparece en esa ventana en particular, pero cualquier otro programa podría revelar el valor real de la memoria. No entiendo para que te podría resultar eso de utilidad :confused:

Namaris
23-12-2006, 01:10:04
Gracias por la bienvenida seoane ;)

Entiendo que te maree el tema de que preguntemos curiosidades tan abstractas que no explican logicamente el fin xDD

El caso esque lo kiero porke instale un modulo de RAM en el pc de mi hermano pekeño y se lo he sacao hace unos dias pk me hace falta durante un mes en otro lao y seriamente me importa que se de cuenta xDD

Asi que con que se vea en propiedades del sistema me basta, el no va a mirar en otro sitio si ve q va lento windows xD, sera cuestion de unos dias pero enserio, quiero saber, pk cn el winexplorer lo cambias pero en cuanto reinicias el cuadro vuelve a lo normal pk como bien dices es un API...el caso es...

¿Tu me puedes echar un cable para trucar el API o decirme como para sacarlo?

Enserio...te lo agradeceria en el alma que el chinigo este me monta un follon como se entere y mis padre me van a echar la bronca xD


Enga un abrazao y Saludos a todo2 :)

seoane
23-12-2006, 02:16:19
Vamos a intentar hacer algo elegante, todo sea por que no pelees con tu hermano, que eso esta muy feo :p :D

Podríamos hacer un programa que en un bucle buscara a intervalos regulares la ventana, y cambiara el texto. Esta solución es poco elegante, y además durante una fracción de segundo se podría mostrar el texto real. Además no tengo ganas de ponerme a buscar la ventana.

Así que ya puestos, vamos a matar moscas a cañonazos, que es mas divertido. Utilizando un Hook global, vamos a inyectar un dll en todos los procesos. Cuando nuestra dll detecte que ha sido inyectada en el proceso "rundll32.exe", que es el responsable de mostrar esa ventana, hará un subclassing de todas las ventanas de la clase "Link Window". Y ahora es donde damos el toque final, cada vez que una de estas ventanas reciba un mensaje del tipo WM_SETTEXT reemplazaremos el texto por el que a nosotros nos convenga.

Caramba ahora mismo me siento un hacker :D Y tu te preguntaras como funciona todo esto ... Pues bien en el zip que te mando te envió el código y el ejecutable de la dll (injection.dll) y el código del inyector (Namaris.exe). Descomprimelos en la misma carpeta y ejecuta el programa, ahora prueba a abrir las "Propiedades del sistema" y el valor ya debería de aparecer cambiado.

Ahora unos toques finales. Primero en el código de la dll encontraras una sentencia como la siguiente, comprueba que el valor a buscar y el nuevo son los correctos, y recompila:

Str:= StringReplace(Str,'1,00 GB','2,00 GB',[rfReplaceAll,rfIgnoreCase]);


Ahora, como te habrás dado cuenta, el programa se ve :eek: Esto tiene solución vete al código del ejecutable y busca una instrucción como la siguiente, borrala y recompila:

{$APPTYPE CONSOLE}


Y ahora solo queda que copies tanto el ejecutable como la dll a una carpeta como la de windows (c:\windows) y configures el equipo para que ejecute el programa cada vez que se inicie. Por ejemplo agregando una entrada a la clave de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


Si todo sale bien, mientras el programa este en ejecución, el valor se cambiara como por arte de magia. :D

PD: Solo espero que no utilices esto para engañar a un incauto y vender un ordenador, como si tuviera mas memoria de la que tiene o algo así. Eso me enfadaría muchísimo :mad:

El enlace (fuera del ClubDelphi) -> http://rapidshare.com/files/8594371/Namaris.zip.html

Namaris
23-12-2006, 18:17:38
Hola Seoane ;),

darte gracias seria un insulto, seriamente creo que de debo una gorda :)

Y como no olvido los favores....ahora te hago una invitacion formal para que cobres tu deuda, mi msn te lo mando por msj privado ;).

Y ahora volviendo al tema, entiendo lo que has puesto y dicho acerca de los ultimos retoques pero el problema que tng ahora mismo es el siguiente:

-No puedo editar el .dll pk no dispongo de ningun editor aparte del bloc de notas y ahi abriendolo me aparcen miles de caracteres raros xD

entre linea y caracter linea he conseguido leer un apartado (512 MB; 1,00 GB; 2,00 GB) y la duda mia es: ¿Lo que hace el ejecutable es mostrarte el doble, por ejemplo si tienes 512MB pues 1GB y si tienes 1 GB, 2GB??? :confused:

Pk si es asi perfecto y no tng que tocar nada porque dnd lo probe es en mi pc que tengo 1 GB pero en el de mi hermano son 512 MB actualmente que hay que doblar antes de que venga. xDD

-Que me aconsejas para poder editarlo ya que el bloc de notas me dice que no??



P.D:Aproveche ahora que no estaba mi hermano para probar el programa en su PC y veo que ahi sigue en sus 504 MB (aunque el modulo es de 512MB), no va volver hasta 2 horas, ¿que hago? xDD
------------------------------x----------------------------

Un enorme abrazo y saludo campeón :cool:

seoane
23-12-2006, 18:48:46
:eek: Caramba, como estamos en un club de delphi, supuse que contabas con el delphi instalado en tu ordenador. Estas en lo cierto, si tienes 512 MB, te poner 1,00 Gb y si tienes un 1,00 Gb te pone 2,00 Gb. Por esa parte no tendrías que modificar nada entonces. El problema lo tendrías para volver oculta la aplicación Namaris.exe. Te mando por correo una versión ya compilada, porque no veo necesidad de utilizar espacio del Club para eso.

De todas formas, no se si estas interesado en la programación, pero ahora es un buen momento para iniciarse en Delphi. Ya que te puedes descargar TurboDelphi completamente gratis de internet.

http://www.turboexplorer.com/

seoane
23-12-2006, 18:57:24
Vaya, parece que tengo problemas para enviártelo a tu correo. Pues aquí te dejo un enlace en RapidShare, para que lo descargues. Tienes una versión del ejecutable que no se muestra, y un dll que cambia 504 MB por 1,00 GB. Espero que te sirva

http://rapidshare.com/files/8672820/Namaris2.zip.html

Namaris
23-12-2006, 19:00:53
Hombre interesado estoy desde hace casi un año xDD

Pero como dicen que es tan complicada y hay que estudiar mucho y yo no tengo ni la mas minima idea las pocas veces que lo he intentado he acabado rindiendome ante las primeras dificultades :(


Lo de no tener el delphi es porque el encontre el post y foro atraves de google porque iba buscando una solucion a mi caso.

Y respecto a lo del link que me has dejago es de turboexpress que es para bajarme el editor gratis de delphi?? poruqe taba intentando bajar y como hay que registrasse es todo aleman y aparte la web va bastante lenta en respuesta :confused:


Y ya rula eso en el de mi hermano gracias al ultimo que me has pasado :D, muuuchas gracias

Héctor Randolph
23-12-2006, 20:46:30
Hola!

Solamente intervengo para comentar que me ha sorprendido la actuación de Domingo Seoane en este hilo :eek: :eek:. Me he permitido calificar este tema con cinco estrellas porque me parece muy bueno el truco, independientemente del uso que alguien pueda hacer de él.

Moraleja: "No hay que confiarnos de la memoria que reporta Windows"

La pregunta es ¿puedo confiar en lo que reporta el BIOS al arrancar? :D

Namaris
23-12-2006, 23:34:09
Sr. Hector Randolph, en este mundo de informatica lo que he aprendido es..."Nada es perfecto" y todo es manipulable :D

Y sí, "seoane ha estado magnifico :)

Saludos.

rcarrillom
25-12-2006, 01:31:22
Hola!
Moraleja: "No hay que confiarnos de la memoria que reporta Windows"

Que no sería más correcto "No hay que confiarnos de [...] Windows"? :D

hirving
15-02-2007, 21:51:05
Hola, necesito ayuda, tengo una ram de 256mb pero quiero que diga que tengo 1,024mb, abrí mi computadora para limpiarla y mi perro masticó dos memorias que tenía a un lado de mi, si mi papa se da cuenta me va a ragañar, ya estoy ahorrando para reponer las memorias, la verdad no se mucho de programacion y esas cosas y mi conexion es muy lenta como para bajar el turbodelphi y hacer lo que aquí decía. Por favor ayúdenme.

Oscar_Net
17-09-2007, 04:11:41
Hola podrian ayudarme en lo que estoy haciendo.He estado viendo el foro y ante todo soy nuevo y he hecho algunas modificaciones a mi sistema para que se pareciera mas a Windows Vista, y solo me faltaria cambiar el valor del sistema operativo para hacerlo.

http://photos1.hi5.com/0006/246/248/63TnW9246248-02.jpg

Haci como se muestra en el enlace queda mi sistema,pero lo malo es que no puedo cambiar el nombre de sistema operativo:o

Oscar_Net
17-09-2007, 04:14:17
Vamos a intentar hacer algo elegante, todo sea por que no pelees con tu hermano, que eso esta muy feo :p :D

Podríamos hacer un programa que en un bucle buscara a intervalos regulares la ventana, y cambiara el texto. Esta solución es poco elegante, y además durante una fracción de segundo se podría mostrar el texto real. Además no tengo ganas de ponerme a buscar la ventana.

Así que ya puestos, vamos a matar moscas a cañonazos, que es mas divertido. Utilizando un Hook global, vamos a inyectar un dll en todos los procesos. Cuando nuestra dll detecte que ha sido inyectada en el proceso "rundll32.exe", que es el responsable de mostrar esa ventana, hará un subclassing de todas las ventanas de la clase "Link Window". Y ahora es donde damos el toque final, cada vez que una de estas ventanas reciba un mensaje del tipo WM_SETTEXT reemplazaremos el texto por el que a nosotros nos convenga.

Caramba ahora mismo me siento un hacker :D Y tu te preguntaras como funciona todo esto ... Pues bien en el zip que te mando te envió el código y el ejecutable de la dll (injection.dll) y el código del inyector (Namaris.exe). Descomprimelos en la misma carpeta y ejecuta el programa, ahora prueba a abrir las "Propiedades del sistema" y el valor ya debería de aparecer cambiado.

Ahora unos toques finales. Primero en el código de la dll encontraras una sentencia como la siguiente, comprueba que el valor a buscar y el nuevo son los correctos, y recompila:

Código Delphi [-] (http://www.clubdelphi.com/foros/#)
Str:= StringReplace(Str,'1,00 GB','2,00 GB',[rfReplaceAll,rfIgnoreCase]);





Ahora, como te habrás dado cuenta, el programa se ve :eek: Esto tiene solución vete al código del ejecutable y busca una instrucción como la siguiente, borrala y recompila:

Código Delphi [-] (http://www.clubdelphi.com/foros/#)
{$APPTYPE CONSOLE}





Y ahora solo queda que copies tanto el ejecutable como la dll a una carpeta como la de windows (c:\windows) y configures el equipo para que ejecute el programa cada vez que se inicie. Por ejemplo agregando una entrada a la clave de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


Si todo sale bien, mientras el programa este en ejecución, el valor se cambiara como por arte de magia. :D

PD: Solo espero que no utilices esto para engañar a un incauto y vender un ordenador, como si tuviera mas memoria de la que tiene o algo así. Eso me enfadaría muchísimo :mad:

El enlace (fuera del ClubDelphi) -> http://rapidshare.com/files/8594371/Namaris.zip.html

Ya que solo me faltaria esa parte para terminar, te mando un link para que veas lo que estoy haciendo
http://photos1.hi5.com/0006/246/248/63TnW9246248-02.jpg
Espero que me puedas ayudar:)

Percha
23-10-2007, 13:00:24
Hola, podriais subir de nuevo el Namaris.ZIP? ha caducado el archivo.

Muchas gracias hamijos!

aeff
23-10-2007, 15:48:51
y donde estan los codigos de la DLL y el programa?

Percha
24-10-2007, 01:46:20
y donde estan los codigos de la DLL y el programa?

Los links invalidos en la pagina anterior.

darknees92
11-02-2008, 22:14:51
Vamos a intentar hacer algo elegante, todo sea por que no pelees con tu hermano, que eso esta muy feo :p :D

Podríamos hacer un programa que en un bucle buscara a intervalos regulares la ventana, y cambiara el texto. Esta solución es poco elegante, y además durante una fracción de segundo se podría mostrar el texto real. Además no tengo ganas de ponerme a buscar la ventana.

Así que ya puestos, vamos a matar moscas a cañonazos, que es mas divertido. Utilizando un Hook global, vamos a inyectar un dll en todos los procesos. Cuando nuestra dll detecte que ha sido inyectada en el proceso "rundll32.exe", que es el responsable de mostrar esa ventana, hará un subclassing de todas las ventanas de la clase "Link Window". Y ahora es donde damos el toque final, cada vez que una de estas ventanas reciba un mensaje del tipo WM_SETTEXT reemplazaremos el texto por el que a nosotros nos convenga.

Caramba ahora mismo me siento un hacker :D Y tu te preguntaras como funciona todo esto ... Pues bien en el zip que te mando te envió el código y el ejecutable de la dll (injection.dll) y el código del inyector (Namaris.exe). Descomprimelos en la misma carpeta y ejecuta el programa, ahora prueba a abrir las "Propiedades del sistema" y el valor ya debería de aparecer cambiado.

Ahora unos toques finales. Primero en el código de la dll encontraras una sentencia como la siguiente, comprueba que el valor a buscar y el nuevo son los correctos, y recompila:

Str:= StringReplace(Str,'1,00 GB','2,00 GB',[rfReplaceAll,rfIgnoreCase]);


Ahora, como te habrás dado cuenta, el programa se ve :eek: Esto tiene solución vete al código del ejecutable y busca una instrucción como la siguiente, borrala y recompila:

{$APPTYPE CONSOLE}


Y ahora solo queda que copies tanto el ejecutable como la dll a una carpeta como la de windows (c:\windows) y configures el equipo para que ejecute el programa cada vez que se inicie. Por ejemplo agregando una entrada a la clave de registro:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run


Si todo sale bien, mientras el programa este en ejecución, el valor se cambiara como por arte de magia. :D

PD: Solo espero que no utilices esto para engañar a un incauto y vender un ordenador, como si tuviera mas memoria de la que tiene o algo así. Eso me enfadaría muchísimo :mad:

El enlace (fuera del ClubDelphi) -> http://rapidshare.com/files/8594371/Namaris.zip.html
que tal una pregunta podrias mandarme otra vez el link del ejecutable injection.exe y el de namariz.exe para que los utilize, es que tus links estan caducados y no sirven espero se pueda de antemano gracias

Saindoft
31-10-2008, 05:38:18
Vaya, parece que tengo problemas para enviártelo a tu correo. Pues aquí te dejo un enlace en RapidShare, para que lo descargues. Tienes una versión del ejecutable que no se muestra, y un dll que cambia 504 MB por 1,00 GB. Espero que te sirva

http://rapidshare.com/files/8672820/Namaris2.zip.html


Hola seoane soy saindoft uno de tus
colegas y fanatico del foro, he encontrado muy interesante:eek::eek: este truco
y quisiera probarlo pero del link.. que pusiste no puedo bajarlo, quisiera
si es posible que pusieras un link con el archivo .zip adjunto. gracias de antemano:confused:

seoane
31-10-2008, 15:26:27
Bien, el código de la dll es el siguiente:

library Injection;

uses
Windows, Sysutils, Messages, Psapi, CommCtrl;

type
TShared = record
Hook: HHooK;
AttachCount: Integer;
end;
PShared = ^TShared;

PItem = ^TItem;
TItem = record
hWnd: HWND;
WndProc: Pointer;
Next: PItem;
end;

var
Mutex, Mem: THandle;
Shared: PShared;
Injected: Boolean;
HandleList: PItem;

function FindWindowProc(hWnd: HWND; Item: PItem): Pointer;
begin
if Item <> nil then
begin
if Item.hWnd = hWnd then
Result:= Item.WndProc
else
Result:= FindWindowProc(hWnd,Item.Next);
end else
Result:= nil;
end;

function WindowProc(hWnd: HWND; Msg: UINT; WParam: WPARAM; LParam: LPARAM):
LRESULT; stdcall;
var
Str: String;
begin
if (Msg = WM_SETTEXT) then
begin
Str:= String(PChar(LParam));
Str:= StringReplace(Str,'1,00 GB','2,00 GB',[rfReplaceAll,rfIgnoreCase]);
Str:= StringReplace(Str,'512 MB','1,00 GB',[rfReplaceAll,rfIgnoreCase]);
LParam:= Longint(PChar(Str));
end;
Result:= CallWindowProc(FindWindowProc(hWnd,HandleList),hWnd,Msg,WParam,lParam);
end;

procedure HookWindow(hWnd: HWND);
var
Item: PItem;
begin
if FindWindowProc(hWnd, HandleList) = nil then
begin
GetMem(Item,Sizeof(TItem));
Item.hWnd:= hWnd;
Item.Next:= HandleList;
Item.WndProc:= Pointer(SetWindowLong(hWnd,GWL_WNDPROC,LongInt(@WindowProc)));
HandleList:= Item;
end;
end;

function CallWndProc(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT;
stdcall;
var
ClassName: array[0..16] of Char;
begin
if Code = HC_ACTION then
if Injected then
begin
FillChar(ClassName,Sizeof(ClassName),0);
if GetClassName(PCWPStruct(lParam).hwnd,@ClassName,Sizeof(ClassName)-1) > 0 then
if StrIComp(ClassName,'Link Window') = 0 then
begin
HookWindow(PCWPStruct(lParam).hwnd);
end;
end;
Result := CallNextHookEx(Shared^.Hook, Code, wParam, lParam);
end;

procedure StartHook; stdcall;
begin
if Shared <> nil then
begin
WaitForSingleObject(Mutex, INFINITE);
try
with Shared^ do
begin
if Hook = 0 then
Hook := SetWindowsHookEx(WH_CALLWNDPROC, @CallWndProc, HInstance, 0);
end;
finally
ReleaseMutex(Mutex);
end;
end;
end;

procedure StopHook; stdcall;
begin
if Shared <> nil then
begin
WaitForSingleObject(Mutex, INFINITE);
try
with Shared^ do
begin
if Hook <> 0 then
begin
UnhookWindowsHookEx(Hook);
Hook := 0;
end;
end;
finally
ReleaseMutex(Mutex);
end;
end;
end;

procedure Inject;
var
Process: THandle;
ModName: array[0..MAX_PATH] of Char;
Target: array[0..MAX_PATH] of Char;
begin
Injected:= FALSE;
Process := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, FALSE,
GetCurrentProcessId);
if Process <> 0 then
begin
if GetModuleFileNameEx(Process, 0, ModName,sizeof(ModName)-1) > 0 then
begin
FillChar(Target,Sizeof(Target),#0);
GetSystemDirectory(@Target,Sizeof(Target)-1);
StrLCat(Target,'\rundll32.exe',Sizeof(Target)-1);
OutputDebugString(Target);
if StrIComp(Target,ModName) = 0 then
begin
// Un pequeño pitido nos avisa de que no hemos infiltrado
Windows.Beep(500,100);
HandleList:= nil;
Injected:= TRUE;
end;
end;
CloseHandle(Process);
end;
end;

procedure Attach; stdcall;
var
isNew: boolean;
begin
Mutex := CreateMutex(nil, True, '{92366DA1-4F66-472D-BE12-65F0993F62AC}');
try
Mem := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, SizeOf(TShared),
'{D1A38D62-9FAB-4298-A358-579D2D286E40}');
isNew := GetLastError() = 0;
if Mem <> 0 then
Shared := MapViewOfFile(Mem, FILE_MAP_WRITE, 0, 0, 0)
else
Shared := nil;
if Shared <> nil then
if isNew then
with Shared^ do
begin
Hook := 0;
AttachCount := 1;
end
else
inc(Shared^.AttachCount);
finally
ReleaseMutex(Mutex);
end;
// Aqui viene la inyeccion
Inject;
end;

procedure UnHookWindows(Item: PItem);
begin
if Item <> nil then
begin
UnHookWindows(Item.Next);
SetWindowLong(Item.hWnd,GWL_WNDPROC,LongInt(Item.WndProc));
FreeMem(Item);
end;
end;

procedure Detach; stdcall;
begin
WaitForSingleObject(Mutex, INFINITE);
try
if (Shared <> nil) then
dec(Shared^.AttachCount);
finally
ReleaseMutex(Mutex);
end;
if (Shared <> nil) then
if Shared^.AttachCount <= 0 then
begin
StopHook;
UnmapViewOfFile(Shared);
CloseHandle(Mem);
CloseHandle(Mutex);
end;
if Injected then
UnHookWindows(HandleList);
end;

procedure DLLEntryPoint(Reason: integer);
begin
case Reason of
Dll_Process_Detach: Detach;
Dll_Process_Attach: Attach;
end;
end;

exports
StartHook,
StopHook;

begin
Attach;
DLLProc:= @DLLEntryPoint;
end.

Exporta dos funciones StartHook y StopHook llamar la primera para activar y la segunda para desactivar el Hook.

PD: Espero que esto sirva para que la gente deje de preguntar por el .zip con el programa. Creo que el código es suficiente para aquellos que quieren saber como funciona, y mantendrá alejados a los que solo quieren gastar una broma a un ¿amigo? :D

Saindoft
04-11-2008, 01:45:34
gracias seoane por editar lo que todos esperabamos con tantas
ansias, ........... amigos es lo que sobra en este foro..............,
y espero que como bien tu dices este codigo no sea utilizado
maliciosamente abusando de las buenas intenciones de personas como tu.:)

JHONYBLUU
28-02-2009, 21:43:11
Hola Seaone Quisiera Q Me Ayudes Con El Mismo Problema De Namaris Quiero Hacer Exacatamente Lo Mismo Doblar La Memeoria Ram De 1g A 2g Pero Intente Entrar En Los Enlaces Y Ya No Funcionan Por Si Me Ayudaras Te Lo Agradeceria Mucho

zorrollon
08-06-2010, 13:15:48
Ayuda, por favor.. alguien podria poner el codigo fuente de la aplicacion.. porfavor. tengo horas... tratando y no puedo.. porfa porfa porfa

Neftali [Germán.Estévez]
08-06-2010, 14:07:58
Pues si nome equivoco lo tienes un par de post más arriba. :confused:

zorrollon
08-06-2010, 18:18:28
pero ese es el codigo del dll no ?... y me parece hay que hacer un .dll y un .exe no ?...

emtec
14-07-2010, 03:15:05
Hola soy nuevo en este foro y los felicito por los temas tan novedososy buenos que manejan aqui,
Me quiero dirigir especialente a seoane, comienzo enviandote mis felicitaciones por tus aportaciones tan interesantes lav erdad tienes un muy buen nivel de programacion por lo que veo. al abordar este tema entoiendo los proc y sobretodo loscontras ya que se puede malintepretar, ya que puede ser usado de mala manera, lo cual se que hay gente que es maliciosa y solo hackea l oque pueda, en mi caso Soy ing tambien, me interesa mucho lacreacion de software y hardware lo cual este tema en especifico ha coincidido con unos problemas que tengo al inyectar a windows unos datos, al ver com oresolviste el problema meimpresiono laverdad no meconsidero un master en delphi lo manejo pero no asi y me interesomuchisimo tu propuesta de tu exe y tu dll, este es mi primer post y quisiera que me pudieras auxiliar enviandome el dll y el exe para cotejarlos, estudiarlos y aplicarlos para un frame que estoy diseñando, lamentablemente el link que has puesto no sirve, seria de mucha ayuda que me pudieras auxiliar enviandomelo a mi correo que es emos530@hotmail.com y te enviare mis avances para compartirlos con vos, me es muy interesante poder manipular las entrañas de windows por ello este tema me parecio el idel para mis propositos y sobretodo muy bueno, estamos encontacto espero tu respuesta:o

zorrollon
14-07-2010, 03:22:35
Hola soy nuevo en este foro y los felicito por los temas tan novedososy buenos que manejan aqui,
Me quiero dirigir especialente a seoane, comienzo enviandote mis felicitaciones por tus aportaciones tan interesantes lav erdad tienes un muy buen nivel de programacion por lo que veo. al abordar este tema entoiendo los proc y sobretodo loscontras ya que se puede malintepretar, ya que puede ser usado de mala manera, lo cual se que hay gente que es maliciosa y solo hackea l oque pueda, en mi caso Soy ing tambien, me interesa mucho lacreacion de software y hardware lo cual este tema en especifico ha coincidido con unos problemas que tengo al inyectar a windows unos datos, al ver com oresolviste el problema meimpresiono laverdad no meconsidero un master en delphi lo manejo pero no asi y me interesomuchisimo tu propuesta de tu exe y tu dll, este es mi primer post y quisiera que me pudieras auxiliar enviandome el dll y el exe para cotejarlos, estudiarlos y aplicarlos para un frame que estoy diseñando, lamentablemente el link que has puesto no sirve, seria de mucha ayuda que me pudieras auxiliar enviandomelo a mi correo que es y te enviare mis avances para compartirlos con vos, me es muy interesante poder manipular las entrañas de windows por ello este tema me parecio el idel para mis propositos y sobretodo muy bueno, estamos encontacto espero tu respuesta



El codigo fuente del dll esta mas arriba ,del exe, nada.. y ayuda.. por aqui ni pidas... pues aunque los que saben, no hacen favor de compilar el exe, me parece que lo hacen mas por un asunto de exclusividad, que por seguridad, pero enfin... parece ser este post lo tienen olvidado., siguele buscando la respuesta esta cerca, el dll trabaja, simplemente falta el ejecutable que lo arranque de inicio.

Saludos.

Neftali [Germán.Estévez]
14-07-2010, 12:37:27
El codigo fuente del dll esta mas arriba ,del exe, nada.. y ayuda.. por aqui ni pidas... pues aunque los que saben, no hacen favor de compilar el exe, me parece que lo hacen mas por un asunto de exclusividad, que por seguridad, pero enfin...

Pues no van por ahí las cosas.

Lo que "molesta" un poco por aquí, es la gente que pregunta sin ni siquiera haberse molestado en buscar, los que piden sin ni siquiera haberse molestado en probar y un poco más, los que con 3 mensajes se permiten escribir cosas como las que has escrito tú.

El código de la DLL está más arriba. Para hacer un EXE que llame a las dos funciones, basta con un par de botones y 1 línea en cada uno. Si buscas en los foros hay muchos mensajes sobre DLL's y si buscas en internet muchos más. Posíblemente lo encontrarás en menos tiempo de lo que has tardado en escribir esa "sandez" de mensaje, pero supongo que es más fácil pedir que se lo den a uno todo hecho... :(:(:(

Pero nada, es más fácil que te demos el proyecto hecho, el código de la DLL, te lo compilamos y si quieres te hago un icono y te escribo la ayuda.
¿Quieres que te generemos el instalador, también?

escafandra
14-07-2010, 16:02:31
Muy cierto lo que apunta Neftali.

La sensación que trasmiten estas últimas peticiones, es requerir código a la desesperada en un tema que puede resultar un tanto delicado y que, por otra parte, cualquier programador mediano puede solucionar con facilidad.

No se si esa ansiedad es por el uso que se le pueda dar a dicho código, o por colgarse alguna inmerecida medalla... ¿Que mérito tiene el uso de un código que no se entiende en absoluto y que no se sabe como usar?:rolleyes:.

Este foro, como otros tantos, está lleno de usuario que ayudan sin esperar nada a cambio, solo con pasearse un rato por cualquier hilo se puede percibir.:D

Saludos.

zorrollon
15-07-2010, 01:18:16
Pues no van por ahí las cosas.

Lo que "molesta" un poco por aquí, es la gente que pregunta sin ni siquiera haberse molestado en buscar, los que piden sin ni siquiera haberse molestado en probar y un poco más, los que con 3 mensajes se permiten escribir cosas como las que has escrito tú.

El código de la DLL está más arriba. Para hacer un EXE que llame a las dos funciones, basta con un par de botones y 1 línea en cada uno. Si buscas en los foros hay muchos mensajes sobre DLL's y si buscas en internet muchos más. Posíblemente lo encontrarás en menos tiempo de lo que has tardado en escribir esa "sandez" de mensaje, pero supongo que es más fácil pedir que se lo den a uno todo hecho...

Pero nada, es más fácil que te demos el proyecto hecho, el código de la DLL, te lo compilamos y si quieres te hago un icono y te escribo la ayuda.
¿Quieres que te generemos el instalador, también?


Dios... tienes razon... con tu comentario me haz hecho reflexionar.... cambiare mi forma de escribir en el foro.... es mas cambiare de vida.. dejare de fumar.. de beber... para poder volverme un dios programador,forero,critico indiscutible,sabelotodo,como tu, jajajaja.... p1nche metiche. si no vas a ayudar a resolver las peticiones que no solo yo,si no varios usuarios del foro estamos haciendo en este post, no te metas a llenar el tema de basura. de igual manera,Gracias por tu comentario.

Neftali [Germán.Estévez]
15-07-2010, 11:47:45
con tu comentario me haz hecho reflexionar.... cambiare mi forma de escribir en el foro...

En cuanto a lo demás "me la suda", pero si no cambias esto, te auguro poco futuro en este foro, ya te lo digo.

zorrollon
16-07-2010, 08:51:46
lo dicho ,dicho esta, el futuro no me importa...
dime ??... que quieres que haga... ?... que edite mi mensaje ?.. una disculpa publica?... dimelo tu que todo lo sabes ya que auguras el futuro !!!.... lo que dije antes de que empezaras a decir tonterias sobre la manera de pedir las cosas es verdad,a tu manera de escribir conteste,...

Casimiro Notevi
16-07-2010, 10:54:51
Amigo zorrollon, aquí no admitimos esa forma de hablar y mucho menos el insultar.
He leído todo lo escrito y no veo ninguna mala respuesta por parte de Neftalí, seguramente lo has interpretado erróneamente.
A no ser que un admin me diga lo contrario seguire mentandote la madre cada que escribas en este post.
¿Te das cuenta de lo que has dicho?, ¿crees que tiene algún sentido o lógica?, no puedes llegar a una casa donde jamás has estado y ponerte a insultar a la gente.
Creo que debes pedir una disculpa pública por tus palabras

roman
16-07-2010, 12:44:55
zorrollon: un sólo insulto más y quedas expulsado.

// Saludos

zorrollon
16-07-2010, 19:19:01
Bien,como lo comente, unicamente por que los Señores Moderadores,lo creen necesario, extiendo una disculpa,por mis comentarios,a el usuario Neftali.

Y creo ,leyendo el tema,que si pude haber malinterpretado la respuesta que aqui cito,del usuario neftali.

"Pero nada, es más fácil que te demos el proyecto hecho, el código de la DLL, te lo compilamos y si quieres te hago un icono y te escribo la ayuda.
¿Quieres que te generemos el instalador, también? "

Lo entendi como un comentario sarcastico... error mio... no?...
Supongo ahora,que el usuario estaba ofreciendome hacerme el trabajo no?... y no hacerme quedar como novato.. como lo "malentendi".

Una disculpa al usuario Neftali, tratare de leer con mas atencion sus comentarios,para que en vez de exaltarme,aproveche su valiosa ayuda.

Gracias a Casimiro Notevi por hacerme ver mi error.
Saludos.

roman
16-07-2010, 21:30:41
Únicamente quiero aclarar que el usuario Neftali es, de hecho, un moderador/administrador de este sitio y un pilar del Club. Esto que digo no quita que se le debe respeto a cualquier miembro de la comunidad, sea o no moderador.

// Saludos

blackpete
06-06-2011, 21:35:36
Hola seoane, recien veo el post que hicistes a namaris y ando buscando algo parecido, me gustaria si puedes subirlo de nuevo a rapidshare (ya no estan)o mandarmelo a mi correo. Soy un tecnico en computacion y quisiera poder cambiarle la letra, el logo y demas para cuando formateo un computador, poder ponerle lo que realmente tiene, por ejemplo: nombre de la tarjeta madre, gb del disco duro y memoria. He probado el logo stamper, pero no cambia todo, como el sistema, los gigaherz y ram.
Ayudame porfa.
blackpete

Casimiro Notevi
06-06-2011, 22:41:03
Puedes contactar con seoane en su blog (http://delphi.jmrds.com/).

blackpete
12-06-2011, 04:24:27
¿Seoane o Namaris donde estan?
Hola computines, he tratado de contactarlos para conseguir esos archivos para cambiar los valores de "general". los dos archivos que seoane mando a namaris ya no estan en rapidshare.
Por favor subanlos de nuevo o mandenmelo a mi correo por favor.

Soy un computin reparador y esta muy bueno para ponerle informacion relevante.

Blackpete

marbethcool
02-07-2011, 20:00:21
Hola sabes estoy interezado en ese archivo nemesis, pero el enlaze esta roto, lo podes subir a otro servidor?

Casimiro Notevi
02-07-2011, 20:04:04
Lee un poquito más arriba ;)

blackpete
22-08-2011, 19:41:51
tengo los archivos, aun no se como usarlos, y tambien no se como subirlos al sitio o alguna otra parte.

Casimiro Notevi
22-08-2011, 19:46:22
tengo los archivos, aun no se como usarlos, y tambien no se como subirlos al sitio o alguna otra parte.

Por favor, no olvides leer nuestras normas (http://www.clubdelphi.com/foros/guiaestilo.php), gracias.

lf_mm
17-02-2012, 17:42:20
Ahora unos toques finales. Primero en el código de la dll encontraras una sentencia como la siguiente, comprueba que el valor a buscar y el nuevo son los correctos, y recompila:

Código Delphi [-] (http://www.clubdelphi.com/foros/#)
Str:= StringReplace(Str,'1,00 GB','2,00 GB',[rfReplaceAll,rfIgnoreCase]);






hola, te felicito por tu trabajo, pero me surge una duda, la linea que pones no la encuentro en el codigo de la dll que publicaste, no soy programador delphi pero no creo que tenga muchos problemas para empear y generar el ejecutable y compilar, pero como no encuentro lo antes mencionado me queda la duda para poner en funcionamiento el programa.

te agradeceria si me lo aclararas y si se puede cualquier otra instruccion que pueda hacer falta.