Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
si, puede que le de a las neuronas cuando este mejor (esta noche no he dormido ni 5 minutos programando Stardust, estaba inspirado ajjaaj)

cuando se me ocurra que añadidos puedes ponerle te lo diré
Responder Con Cita
  #2  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
Neftali, tus componentes te dicen el numero de serie de los discos duros? eso podria resultar util para hacer cosas antipirateria te explico lo que pensé

Cita:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// SISTEMA DE LICENCIAS DE PROMTO ///////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
paso 1) --- La app va construida de forma que inicialmente es version FREE (gratis pero con limitaciones como por ejemplo que no pueda usar la
feature de ChatGPT via API directo para hacerle preguntas, que el numero de notas y pins sean los justos para probar un poco el funcionamiento
pero no te permitan montar muchas plantillas ni nada

paso 2) --- nosotros en un servidor MySQL tendriamos la Tabla (base de datos con unas claves de licencia generadas en cientos de miles de usuarios
o 1 millon o 2 millones o los que sean, inicialmente un numero grande para no preocuparnos de eso..... esos registros, tendran la clave
pero no estaran a nombre de nadie.....

paso 3) EL PAGO de la Membresia en nuestra pagina web una vez completado el pago con exito, la propia pagina web en php asignara el email,
nombre del cliente etc en una licencia de esas "vacias" y aqui viene lo bueno.....le enviara un email con la licencia....bien hasta aqui todo normal
pero....ahora....

paso 4) para activar la licencia tendra un menu en la app que tendra que meter su email y su licencia y una contraseña que el usuario elija,
dicha contraseña, le servira para poder re-activar nuestra app en caso de que cambie de PC o se le muera el disco duro porque....
lo que hace la app al enviar email-licencia y password....al mismo tiempo pillara un par de datos cruciales del PC
(por ejemplo el numero de serie de su disco duro y algo mas por ahi que veamos que puede identificar unicamente a ese PC)
lo archivara todo en la Base de datos junto con la licencia y el email, password etc de forma que si por ejemplo otro tio intenta usar
el email y licencia porque el tio dijo "oye, prueba mi licencia a ver si nos deja usar la misma" pues Promto comprobara el SERIE DE Disco duro
y vera que no coinciden asi que al otro que meta la licencia copiada no le funcionara nunca .....
y si el pavo que la pagó cambia el disco duro por otro, o se le incendia el puto PC y no quedan mas que hierros retorcidos,
pues teniendo la password y con una app FREE, metiendo esos datos y la password en una especie de opcion recovery aparte,
lo que haria nuestra app es asignarle a la BD Nuestra su nuevo ID de disco duro tras comprobar que la password del tio es valida y coincide
con la que se utilizo al activarlo

ese seria el sistema mediante el cual podemos asegurarnos un poco mas que nadie usa las licencias de otro
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Responder Con Cita
  #3  
Antiguo 07-10-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por navbuoy Ver Mensaje
Neftali, tus componentes te dicen el numero de serie de los discos duros? eso podria resultar util para hacer cosas antipirateria te explico lo que pensé

Si.
Justo hay una demo que te muestra las características/propiedades de los discos duros instalados.
Entre la información disponible está el número de serie.
También hay otra que hace lo propio con la BIOS, que también puede ser útil para estos temas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
Sistema de Licencias

Neftali, tus componentes te dicen el numero de serie de los discos duros? eso podria resultar util para hacer cosas antipirateria te explico lo que pensé

Cita:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// SISTEMA DE LICENCIAS DE PROMTO ///////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
paso 1) --- La app va construida de forma que inicialmente es version FREE (gratis pero con limitaciones como por ejemplo que no pueda usar la
feature de ChatGPT via API directo para hacerle preguntas, que el numero de notas y pins sean los justos para probar un poco el funcionamiento
pero no te permitan montar muchas plantillas ni nada

paso 2) --- nosotros en un servidor MySQL tendriamos la Tabla (base de datos con unas claves de licencia generadas en cientos de miles de usuarios
o 1 millon o 2 millones o los que sean, inicialmente un numero grande para no preocuparnos de eso..... esos registros, tendran la clave
pero no estaran a nombre de nadie.....

paso 3) EL PAGO de la Membresia en nuestra pagina web una vez completado el pago con exito, la propia pagina web en php asignara el email,
nombre del cliente etc en una licencia de esas "vacias" y aqui viene lo bueno.....le enviara un email con el numero de licencia....bien hasta aqui todo normal
pero....ahora....

paso 4) para activar la licencia tendra un menu en la app que tendra que meter su email y su licencia y una contraseña que el usuario elija,
dicha contraseña, le servira para poder re-activar nuestra app en caso de que cambie de PC o se le muera el disco duro porque....
lo que hace la app al enviar email-licencia y password....al mismo tiempo pillara un par de datos cruciales del PC
(por ejemplo el numero de serie de su disco duro y algo mas por ahi que veamos que puede identificar unicamente a ese PC)
lo archivara todo en la Base de datos junto con la licencia y el email, password etc de forma que si por ejemplo otro tio intenta usar
el email y licencia porque el tio dijo "oye, prueba mi licencia a ver si nos deja usar la misma" pues Promto comprobara el SERIE DE Disco duro
y vera que no coinciden asi que al otro que meta la licencia copiada no le funcionara nunca .....
y si el pavo que la pagó cambia el disco duro por otro, o se le incendia el puto PC y no quedan mas que hierros retorcidos,
pues teniendo la password y con una app FREE, metiendo esos datos y la password en una especie de opcion recovery aparte,
lo que haria nuestra app es asignarle a la BD Nuestra su nuevo ID de disco duro tras comprobar que la password del tio es valida y coincide
con la que se utilizo al activarlo

ese seria el sistema mediante el cual podemos asegurarnos un poco mas que nadie usa las licencias de otro

y el unico punto debil seria que nos hackeen la BD claro
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

si se os ocurre como mejorarlo o proteger la BD a saco estare encantado de leer vuestras sugerencias

por cierto Neftali, crees que podrias hacer un componente que codifique un texto en plan contraseña a contraseña encriptada con SHA etc ??? eso seria genial al menos para mi que me he vuelto loco trasteando con eso, no se muy bien hacerlo para C++ builder aunque con PHP si

Última edición por navbuoy fecha: 05-10-2024 a las 02:30:38.
Responder Con Cita
  #5  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
chatgpt me dio esta opcion con los componentes INDY

Código:
AnsiString CodificarSHA256(const AnsiString &texto)
{
    // Crea una instancia de la clase de hash SHA256
    TIdHashSHA256 *sha256 = new TIdHashSHA256();
    AnsiString resultado;

    try {
        // Convierte el AnsiString en un TIdBytes manualmente
        TIdBytes buffer;
        buffer.Length = texto.Length(); // Ajusta el tamaño del buffer

        for (int i = 0; i < texto.Length(); i++)
        {
            buffer[i] = static_cast<unsigned char>(texto[i + 1]); // Convierte cada carácter
        }

        // Calcula el hash en un TIdBytes
        TIdBytes hash = sha256->HashBytes(buffer);

        // Convierte el hash a una cadena hexadecimal
        resultado = sha256->HashBytesAsHex(hash);
    }
    __finally {
        delete sha256;  // Libera la memoria
    }

    return resultado;
}

Uso de la funcion:
Cita:
AnsiString texto = "MiTextoSeguro";
AnsiString hash = CodificarSHA256(texto);
ShowMessage(hash);

Última edición por navbuoy fecha: 05-10-2024 a las 02:42:36.
Responder Con Cita
  #6  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
olvidaos del anterior ejemplo, hay una manera mucho mas facil

incluir el System.Hash unit en delphi o System.Hash.hpp en C++ builder

y simplemente si tenemos la contraseña en un MaskEdit hacer esto

Código:
AnsiString password_hash = THashSHA2::GetHashString(MaskEdit1->Text, THashSHA2::TSHA2Version::SHA256);
Responder Con Cita
  #7  
Antiguo 06-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
Hola Neftali, respecto a tus componentes, podrias indicarme por donde empezar si quiero desarrollar yo componentes con C++ Builder?
Responder Con Cita
  #8  
Antiguo 07-10-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por navbuoy Ver Mensaje
Hola Neftali, respecto a tus componentes, podrias indicarme por donde empezar si quiero desarrollar yo componentes con C++ Builder?

¿Te refieres a desarrollar un componente cualquiera? ¿Un manual de iniciación?
¿O estás pensando en un componente concreto?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 08-10-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hay varios manuales para desarrollar componentes; La mayoría que conozco son para Delphi, pero seguro que hay alguno para C++.
Aunque supongo que con alguno para delphi, los pasos serán similar para Builder.

Aquí tienes varios manuales

https://terawiki.clubdelphi.com/Delp..._paso_pdf_.zip
https://terawiki.clubdelphi.com/Delp...elphi_pdf_.zip

Aquí tienes un par de enlaces con una explicación, a ver si te sirven, y si buscas seguro que encontrarás más...
https://creaciondecomponentesenc.blo...mponentes.html
https://miblogaracely.blogspot.com/2...onente-en.html

Y aquí tienes la guía completa para crear componentes (Delphi):
https://wstomv.win.tue.nl/edu/delphi...itersGuide.pdf

Y aquí documentación en la docWiki de Embarcadero al respecto:
https://docwiki.embarcadero.com/RADS...nents_(C%2B%2B)

Y por último este PDF:
http://teachers.cm.ihu.gr/lantzos/No...CPPB6_Book.pdf
El capitulo 4 se titula "Creating Custom Components"
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 08-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
gracias por la informacion, es por el tema de reutilizacion de codigo sabes, siempre me motivó ese tema ya desde tiempos de MS-DOS
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
Librería/Biblioteca de componentes GlibWMI v.3.0 is Out!! Neftali [Germán.Estévez] Noticias 14 08-08-2020 10:03:13
Cómo instalar y utilizar la librería de components GLIBWMI YosvanyRL API de Windows 15 24-02-2020 18:10:36
ninguna libreria libmysql es compatible JULIPO Conexión con bases de datos 0 28-07-2014 06:14:43
Librería GlibWMI para Delphi XE4 Neftali [Germán.Estévez] Varios 6 01-08-2013 18:10:49
Sobre la Libreria GlibWMI Suriu OOP 2 14-03-2011 14:17:52


La franja horaria es GMT +2. Ahora son las 09:51:16.


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