Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2004
Amilius Amilius is offline
No confirmado
 
Registrado: ene 2004
Posts: 138
Poder: 0
Amilius Va por buen camino
Angry

Cita:
Empezado por codigit
Saludos a todos, soy un novato en esto de programacion ero simpelmente quiero hacer una pequeña aplciacion que sea capaz de bloquear la fecha y la hora del sistema que no permita que la modifiquen. en windows xp/2000 Gracias.
Traducido:

Quiere hacer un virus que desconfigure la hora y fecha y que el usuario no pueda corregir. O bien el tarado de su catedrático le dio este trabajo con el mismo propósito maquiavelico.

Hijo esas cosas no se hacen que vergüenza!!
Responder Con Cita
  #2  
Antiguo 23-08-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Amilius, yo también pensé en lo mismo pero después recordé a aquellos estudiantes del secundario que no tienen nada mejor que hacer que estar tocando todo para ver que pasa.

Puede ser que hoy estoy medio "buenazo" y no hize tu mismo comentario.
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #3  
Antiguo 23-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Amilius
Hijo esas cosas no se hacen que vergüenza!!
Amilius, creo que has exagerado un poco. Realmente no sabes cuál es el objetivo real de la pregunta. Aquí en estos foros se ha discutido por lo menos un uso perfectamente válido anteriormente: realizar un reloj checador de empleados. Posiblemente el bloqueo del reloj no sea la mejor forma de atacar el problema (si tal fuese el problema) pero este no es el punto. Si nos ponemos a priori a pensar que un pedazo de código puede per sé ser fuente de males caemos en el riesgo de una visión como esta.

// Saludos
Responder Con Cita
  #4  
Antiguo 25-08-2004
codigit codigit is offline
No confirmado
 
Registrado: feb 2004
Posts: 16
Poder: 0
codigit Va por buen camino
Tengo Que Defenderme

Amilius simeplemente te dire que necesito saber como bloquear el cambio de hora y fecha como medida de seguridad de un programa que no es mio, pero como yo administrador de una compañia, dicho programa cambiandole la fecha y la hora es posible lograr un fraude, datos que ya fueron notificados al programador pero el todavia no me ha dado la solucion, pero a mi si me interesa que se resuelva el problema urgente, por eso he decidido yo mismo tomar las medidas necesarias. Gracias.
Responder Con Cita
  #5  
Antiguo 25-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Se me ocurre algo aunque no sé qué tan viable sea o si es lo óptimo.

En el programa que tú hagas comienzas tomando la hora apenas inicie (y el programa habrá que iniciarlo al comenzar Windows). Lo más cómodo es con

Código Delphi [-]
StartTime := Time();
StartTicks := GetTickCount();

GetTickCount te dá el número de milisegundos desde que inicia Windows.

Con una componente Timer checas cada x segundos el tiempo transcurrido

Código Delphi [-]
procedure TForm1.Timer1OnTimer(Sender: TObject);
var
  TicksElapsed: Cardinal;
  TimeElapsed: Cardinal;

begin
  TicksElapsed := GetTickCount() - StartTicks;
  TimeElapsed := MiliSecondsBetween(Time() - StartTime);

  if (Abs(TicksElapsed - TimeElapsed) > MinAllowed) then
    ShowMessage('Usted ha alterado la hora del sistema');
end;

Lo estoy escribiendo como se me ocurre y sin probar así que quizá algo no esté correcto pero la idea es esta:

Tu programa mide cada x tiempo el número de milisegundos que han transcurrido desde que inicio la sesión de Windows. Este valor debe coincidir (o acercarse mucho) al número de milisegundos entre la hora de inicio y la hora actual, y dejará de ser así si se cambia la hora de la pc.

Aquí estoy suponiendo que el valor de GetTickCount no se afecta al cambiar la hora de la máquina, es decir, que no depende del reloj de ésta. Creo que así es pero si no podrías usar algo como QueryPerformanceCount que se basa en los ciclos del procesador y no en el reloj.

Así, aun cuando no estás bloqueando propiamente el cambio de hora, sí podrías detectar si alguien la cambia.

// Saludos
Responder Con Cita
  #6  
Antiguo 25-08-2004
Amilius Amilius is offline
No confirmado
 
Registrado: ene 2004
Posts: 138
Poder: 0
Amilius Va por buen camino
Angry

Cita:
Empezado por codigit
Amilius simeplemente te dire que necesito saber como bloquear el cambio de hora y fecha como medida de seguridad de un programa que no es mio, pero como yo administrador de una compañia, dicho programa cambiandole la fecha y la hora es posible lograr un fraude, datos que ya fueron notificados al programador pero el todavia no me ha dado la solucion, pero a mi si me interesa que se resuelva el problema urgente, por eso he decidido yo mismo tomar las medidas necesarias. Gracias.
La fecha y hora de una computadora de usuario común y silvestre corriendo windows simplemente no es fiable. O se toma fecha y hora (encriptadas) de un servidor al cual no tiene acceso el usuario final (el que podría realizar el fraude) o será un agujero de seguridad gigantesco!!

Por eso NO TE METAS EN EL TRABAJO DEL PROGRAMADOR !!!

***

Para Román: Desgraciadamente esta es la forma con la que se han hecho las mayores desgracias del software, incluyendo windows y toda su nebulosa de bugs, debilidades, errores de diseño: "soluciones" de personas que no tienen conocimiento del tema: esos "aprendices de brujo" que terminan detrozando lo que cae en sus manos. Personalmente siempre me opondré a cualquier "solución" como esta: "Bloquear la hora y la fecha" que sólo terminará trayendo más problemas y al final será un remedio pasajero.

***

"realizar un reloj checador de empleados"

Eso es mucho peor !!! ¿Que clase de sádico salvaje sin sentimientos haria una cosa como esa?
Responder Con Cita
  #7  
Antiguo 25-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Amilius

Me parece que estás empecinado en "ver moros con tranchetes".

Yo no sé si codigit es programador o no pero su postura me parece totalmente natural.

Si yo encargo un programa a alguien y éste tiene un defecto del tipo descrito y no puedo esperar hasta que el programador termine las modificaciones entonces haré lo que esté a mi alcance para solventar la situación mientras la solución óptima se da.

Tu aseveración de "NO TE METAS EN EL TRABAJO DEL PROGRAMADOR " me parece fuera de lugar precisamente cuando el programador en cuestión, al menos por lo que nosotros sabemos, justamente no ha hecho bien su trabajo.

Además codigit en ningún momento ha dicho que tomará lo del bloqueo del reloj como una solución definitiva. A mi entender es simplemente algo que urge, y si el programador se toma su tiempo, yo en su lugar desde luego que me "metería en el trabajo del programador" y buscaría soluciones alternas, si bien pasajeras.

En cuanto a lo del reloj checador, no sé si lo dices en broma pero, al menos en México, nos guste o no, el uso del reloj checador es una práctica bastante común, como lo es la de tratar de alterarlo.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:28:11.


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
Copyright 1996-2007 Club Delphi