Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-07-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Protección de Código > Dongles Microcontrolada

Estoy desarrollando una mochila para el puerto Serie, microcontrolada, para proteger mi aplicación Delphi de usos piratas. Me preguntaba, a que frecuencia me conviene trabajar el uControlador puesto a que, no se como medir la frecuencia de mi aplicación, es decir, el tiempo real de cada instruccion. Lo que yo hago es relativamente sencillo, mi aplicación envia el puerto serie, una serie de datos en hexadecimal, y al cabo de cierto tiempo, recibe ese dato transformado por el uControlador, ambos hacen lo mismo, es decir, mi aplicacion ya conoce cual debe ser el dato recibido, puesto que lo calcula al enviarlo, y si lo que recibe es identico, entonces continua la ejecucion del programa. Si la proteccion es removida durante su uso, se cierra. Al uControlador, se lo somete a cierta radiacion para evitar ser clonado por ingenieria inversa, eso si, si logran remover el baño de vacrel-brea-acrilato con el que esta bañado.

PD: mi pregunta es lo que se lee en rojo.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 20-07-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¡Ahí, ahí, haciendo preguntas fáciles!

Recordando mis lecciones sobre electrónica, te diría que agarrases un potenciómetro digital portátil o un osciloscópio, lo conectases a ciertas patillas del microprocesador, te armases de paciencia y cruzases los dedos encomendándote a San Microsistems...

Ahora en serio.

GNU tiene una herramienta llamada "gprof" que, entre otras cosas, devuelve tiempos de ejecución de las funciones. Ahora mismo no recuerdo si Delphi tiene algo similar, creo que sí pero no sé ni cómo se llama ni cómo utilizarlo. En realidad no sé si realmente te serviría, ya que devuelve información en forma estadística más que datos precisos, pero tal vez pueda ayudarte.

También puede ser que no me haya enterado de nada de lo que has escrito.
Responder Con Cita
  #3  
Antiguo 20-07-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por Ñuño Martínez
GNU tiene una herramienta llamada "gprof" que, entre otras cosas, devuelve tiempos de ejecución de las funciones. Ahora mismo no recuerdo si Delphi tiene algo similar, creo que sí pero no sé ni cómo se llama ni cómo utilizarlo. En realidad no sé si realmente te serviría, ya que devuelve información en forma estadística más que datos precisos, pero tal vez pueda ayudarte.
Todo se reduce a codigo binario, pero un compilador "A" transforma una sentencia en por ejemplo 8 lineas de instruccion maquina, y un compilador "B" traduce la misma sentencia en "6" lineas de instruccion maquina. No hay forma de determinar para que frecuencia queda compilado? O tengo que basarme en la administracion de todo tipo de memoria, particular de cada PC, sea RAM, HDD, nucleos del procesador, etc. etc. No es que quiera un timming exacto, pero intento hacerlo como un proceso paralelo, sin que afecte en lo mas minimo a la aplicacion en si.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 20-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Hola mamu, creo que no lo estas enfocando bien. Medir cuanto va a tardar en ejecutarse un determinado código es complicado, piensa que tiene que compartir la CPU con los demás procesos así que, aunque cojas el código de instrucciones de un pentium y vayas sumando los ciclos de cada instrucción, lo único que conseguirás es el tiempo mínimo que necesita para ejecutarse. Aun así, el tiempo seria en ciclos de reloj, pero dependiendo de la velocidad del micro el tiempo "real" sera diferente.

Yo intentaría enfocar el problema de otra manera, ¿para que necesitas saber el tiempo exacto que tarda en ejecutarse? ¿te valdría medir el tiempo, en microsegundo, con el contador de alta precisión del micro? ¿has pensado en usar threads?
Responder Con Cita
  #5  
Antiguo 20-07-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por seoane
Hola mamu, creo que no lo estas enfocando bien. Medir cuanto va a tardar en ejecutarse un determinado código es complicado, piensa que tiene que compartir la CPU con los demás procesos así que, aunque cojas el código de instrucciones de un pentium y vayas sumando los ciclos de cada instrucción, lo único que conseguirás es el tiempo mínimo que necesita para ejecutarse. Aun así, el tiempo seria en ciclos de reloj, pero dependiendo de la velocidad del micro el tiempo "real" sera diferente.

Yo intentaría enfocar el problema de otra manera, ¿para que necesitas saber el tiempo exacto que tarda en ejecutarse? ¿te valdría medir el tiempo, en microsegundo, con el contador de alta precisión del micro? ¿has pensado en usar threads?
Si, ya estoy emulando trabajar en uSegundos. El tiempo lo necesito lo mas exacto posible para poder sincronizar el uControlador con la aplicacion. Lo que pienso es utilizar los ticks y hacerlo mediante algun thread de forma paralela a la ejecucion principal.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #6  
Antiguo 20-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Si necesitas precisión no uses GetTickCount, utiliza mejor un contador de alta precisión.

Aquí tienes un ejemplo de Lepe:
http://www.clubdelphi.com/foros/show...61&postcount=5
Responder Con Cita
  #7  
Antiguo 20-07-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por seoane
Si necesitas precisión no uses GetTickCount, utiliza mejor un contador de alta precisión.

Aquí tienes un ejemplo de Lepe:
http://www.clubdelphi.com/foros/show...61&postcount=5
Perfect!!!
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #8  
Antiguo 23-11-2007
mario2000 mario2000 is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 20
mario2000 Va por buen camino
Se ve que no sabes mucho de electronica y menos de microcontroladores por que no contratas a un amigo tullo que sepa y entre los dos hasen el trabajo y cada quien se consentra en lo sullo.
Responder Con Cita
  #9  
Antiguo 23-11-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por mario2000 Ver Mensaje
Se ve que no sabes mucho de electronica y menos de microcontroladores por que no contratas a un amigo tullo que sepa y entre los dos hasen el trabajo y cada quien se consentra en lo sullo.
JajJAjJaj
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Protección anticopia... ¿ sí o no ? rretamar Debates 11 10-04-2013 19:37:34
Protección de acceso a usuarios jasensio Seguridad 1 02-10-2006 13:45:59
Herramientas Proteccion Codigo Aplicaciones¿? Acanol Seguridad 6 12-05-2006 10:29:52
Protección del Reporte en Rave santi33a Impresión 2 24-10-2005 13:44:18
Consecuencias de la proteccion en FireBird teletranx Firebird e Interbase 0 02-10-2004 00:54:57


La franja horaria es GMT +2. Ahora son las 12:38:44.


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