![]() |
Bloquear la Hora WinXP/2000
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.
|
Hola!
Lo que podrías hacer es renombrar el archivo de applet (CPL para los amigos ::) e imposibilitar de esa manera los cambios de fecha/hora por parte del usuario. El applet es: Timedate.cpl Un truco de win9x era editar el archivo Control.INI que estaba en C:\Windows\ y agregar las líneas: Código:
[don't load] Y si querés meterte por código yo miraría las funciones SetSystemTime y GetSystemTime de la unit Windows. Eso es todo! |
Cita:
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. :mad: Hijo esas cosas no se hacen :mad: que vergüenza!! :mad: |
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. |
Cita:
// Saludos |
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.
|
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
GetTickCount te dá el número de milisegundos desde que inicia Windows. Con una componente Timer checas cada x segundos el tiempo transcurrido
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 |
Cita:
Por eso NO TE METAS EN EL TRABAJO DEL PROGRAMADOR !!! :mad::mad::mad: *** 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? :D:D:D:D:D |
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 |
Ya que hablamos de XP/2k, porque no simplemente te limitas a crear un perfil de usuario en el que no tenga privilegios de cambio de hora?
|
Cita:
Es decir, no sé exactamente cuál política es la que habría que modificar pero muchas de estas políticas sólo impiden el acceso por los medios "normales" pero no impiden que se acceda por programas externos. No digo que no, sólo tengo esta duda. En todo caso, si lo del perfil no fuese viable, hay algo más sencillo de lo que expuse anteriormente. En los demos de las componentes Indy viene un ejemplo muy sencillo para obtener la hora de un servidor en Internet mediante la componente TIdTime. Sólo habría que checar periódicamente con un Timer la hora de Internet y compararla con la de la PC. // Saludos |
Cita:
Pues la verdad es que no me he parado a probar si por medios "no normales" se puede cambiar la hora. Mañana lo pruebo y te comento. |
Hola
S.O. Windows 2000 Prof. Si por medios "no normales" nos referimos a nivel de programa..... he realizado una aplicación sencilla que cambia el día (copy-paste de Trucomanía)
He creado un usuario con permisos de "usuario" que no tiene permisos para cambiar la fecha/hora del sistema (con doble clic en el relojito o por Panel de Control) He ejecutado el programilla desde ese usuario y..... no ha cambiado la fecha. Si hay otros mecanismos para cambiar la fecha.... pues ya no se, esto es lo que yo he probado |
Saludos a todos, he estado un poco ocupado y no habia chekado la web, y por lo que he visto he creado una polemica con el tema, Amilius nose porque motivo me has dado malas soluciones, en realidad la hora y fecha del servidor es encriptada y el usuario final desde su pc no tiene acceso a la modificacion de la misma, el problema radica en que la hora del servidor si puede ser modificada por cualquier usuario, ahi es que esta el fallo.
"NO TE METAS EN EL TRABAJO DEL PROGRAMADOR" Con respecto a ese comentario, necesito una solucion inmediata, un mientras tanto que mantenga a cualquier usuario restringido o bloqueado al cambio de la fecha y la hora, como dije anteriormente el programador me dijo que esta trabajando en eso, y todavia no me ha dado ninguna posible solucion, por eso he que he optado por mientras tanto buscar alguna solucion inmediata al problema... Gracias. |
Cita:
¿Y si les da la gana seguro que pueden desenchufarlo cuando quieran? Seguridad: 0% :D:D:D:D |
Polemica Interesante...
Interesante la polemica despertada por la pregunta de nuestro forista Codigit...
Amilius, segun he visto tu plataforma de desarrollo no es Windows, estoy mal?, Hay que reconocer superioridad en muchos aspectos en S.O. com Linux, que en el manejo de todos sus recursos es incomparable con windows, pero tambien debemos entender y comprender que el S.O. "Comercial" por excelencia es el Windows, que no es el mejor pero si el mas comercial. las Necesidades de Codigit, que atienden a la falta de respuesta de su programador lo obligan a pensar en soluciones que entre mas lógicas sean mas tontas nos llegan a parecer por la forma en que tal vez nos hemos acostumbrado a pensar, ya sea estructurada o con mucha abstracción, es parte del precio de ser Programador, poco a poco nos alejamos del Sentido Común, no todos ni al 100%, pero nos ha sucedido. Codigit. En relación al tema, la aplicación de políticas podrá ser tar rigida o flexible como tu puedas, la sugerencia es que !con calma! revises los elementos a denegar para que despues no quedes tu también sin privilegios, inclusive si tu aplicación corre para multiples usuarios en diferentes equipos, podras diseñar politicas de seguridad a través del S.O. para todos los niveles de tus usuarios. Si optas por la aplicación de políticas, cualquier duda a la orden quedo. |
Pues coña, en Windows NT 5/XP puedes crear cuentas limitadas y asi impides que cambien la hora y fecha del sistema.
|
La franja horaria es GMT +2. Ahora son las 15:24:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi