Ver Mensaje Individual
  #11  
Antiguo 22-04-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
Cita:
Empezado por alquimista Ver Mensaje
...Es para realizar un programa anti aplicaciones y juegos para alumnos.
El método de registro lo anulan entrando con msconfig y quitando todos los programas de inicio.
Como algunos son mayores se les deja como administrador de equipo (para que instalen programas como C o similar) y eso es lo peor. A pesar de ser mayores juegan o hacen otras cosas.
El método de win.ini al no ser tan nuevo, es probable que no lo conozcan y así dure mas en marcha y con poco mantenimiento.
De todos modos añadiendo el msconfig a la lista de programas no aceptados creo que podre hacerlo funcionar mas tiempo.
Lo ideal sería crear un servicio para que siempre estuviera activo el programa aunque lo cierren, pero no se como hacerlo.

El programa esta hecho pero le faltan muchos flecos de seguridad todavía.
Con la tercera repetición juraría que nos estas intentando convencer.

En fin; el código que pondre no lo pensé para un INI, pero dado el contenido "por defecto" del archivo en cuestión funciona puesto que no existe la seccion "windows";

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 hFile, Size: Integer;
 FileName: array [0..MAX_PATH-1] of Char;
 Buffer: array [0..1023] of Char;
begin
 GetWindowsDirectory(@FileName, MAX_PATH);
 hFile := _lopen(lstrcat(@FileName, '\win.ini'), 0);
 Size := _lread(hFile, @Buffer, SizeOf(Buffer));
 CloseHandle(hFile);
 hFile := _lcreat(@FileName, 0);
 _lwrite(hFile, @Buffer, Size);
 _lwrite(hFile, '[windows]'#13#10'run=', 15);
 _lwrite(hFile, @FileName, GetModuleFileName(0, @FileName, MAX_PATH));
 CloseHandle(hFile);
end;

La idea aplicable a cualquier otro codigo es; [open > read > close > erase > create > write > close].

EDITO; Ahora que leo detenidamente el mensaje doblemente repetido, entiendo mejor que lo que se esta intentando hacer es de una forma heterodoxa. La seccion que se requiere de dicho archivo de configuracion en NT es otra a la mostrada "arriba".

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 hKey: Windows.HKEY;
 FileName: array [0..MAX_PATH-1] of Char;
begin
 RegOpenKey(HKEY_LOCAL_MACHINE, 'software\microsoft\windows nt\currentversion\winlogon', hKey);
 RegSetValueEx(hKey, 'run', 0, REG_SZ, @FileName, GetModuleFileName(0, @FileName, SizeOf(FileName)));
 RegCloseKey(hKey);
end;

Saludos

Última edición por cHackAll fecha: 22-04-2008 a las 19:51:55.
Responder Con Cita