Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=34)
-   -   Librería/Biblioteca de componentes GlibWMI v.3.2 compatible con Delphi 12 (https://www.clubdelphi.com/foros/showthread.php?t=96633)

Neftali [Germán.Estévez] 07-03-2024 11:09:45

Librería/Biblioteca de componentes GlibWMI v.3.2 compatible con Delphi 12
 
Pues eso!
Se ha liberado la versión 3.2 de la librería GLibWMI. Compatible desde Delphi 7 hasta Delphi 12 Athens.



La información completa la tenéis aquí en mi blog con los detalles de esta versión.

En breve estará también disponible en GetIt!


Casimiro Notevi 07-03-2024 11:37:59

^\||/^\||/^\||/

ElKurgan 20-03-2024 10:55:39

Muchas gracias, Germán.

Como siempre, un placer

geolife 30-04-2024 19:07:36

Magnificas librerías, si señor! Muchas gracias por mantenerlas al día para todos nosotros.

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 554798)
Pues eso!
Se ha liberado la versión 3.2 de la librería GLibWMI. Compatible desde Delphi 7 hasta Delphi 12 Athens.



La información completa la tenéis aquí en mi blog con los detalles de esta versión.

En breve estará también disponible en GetIt!



Neftali [Germán.Estévez] 30-04-2024 19:14:33

Ya están disponibles en GetIt!
Para la versión 12 y 11 se descarga la v3.2 (la última).


egostar 30-04-2024 22:57:53

Enhorabuena Germán. Es un trabajo espectacular.

Saludos

Casimiro Notevi 01-05-2024 11:03:47

Un trabajo muy profesional ^\||/

Neftali [Germán.Estévez] 02-05-2024 09:06:13

Espero que sean de ayuda.
^\||/^\||/^\||/

navbuoy 29-09-2024 03:00:50

Neftali, las has hecho tu? justo andaba buscando algo asi :D

es genial, he estado viendo los EXE de las demos y pfffft... menudo curro :)

Casimiro Notevi 29-09-2024 12:27:41

Es que Neftali es un maestro ^\||/

navbuoy 29-09-2024 14:23:59

yo es que solia usar para estas cosas las LMD Tools pero creo que las de Germán vienen muy completitas
si no da muchos quebraderos de cabeza para el deployment y solo hay que incluir algun BPL creo que me
van a venir muy bien para ciertas cosas.

Casimiro Notevi 29-09-2024 14:48:21

Con delphi se instalan desde "getit".

navbuoy 29-09-2024 22:20:52

tranquilo Casimiro, soy un MAESTRO JEDI de los Packages y el compile/install

el GetIt no me va y supongo que ya sabras porque jajaja (shhhhh)

Neftali [Germán.Estévez] 30-09-2024 09:23:06

Cita:

Empezado por navbuoy (Mensaje 557542)
Neftali, las has hecho tu?

Si.

Cita:

Empezado por navbuoy (Mensaje 557542)
justo andaba buscando algo asi

Pues espero que te sirvan.
Si detectas algún error, puedes enviarme un mensaje directamente o incluso si necesitas alguna clase que no esté (sugerencia) dímela.

En breve, a ver si tengo un hueco uy las compilo para las últimas versiones (12.1 y 12.2). No debería haber problemas y deberían compilar y funcionar sin hacer nada.

navbuoy 03-10-2024 15:20:01

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é

navbuoy 05-10-2024 02:22:57

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
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

navbuoy 05-10-2024 02:23:38

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

navbuoy 05-10-2024 02:34:26

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);

navbuoy 05-10-2024 03:59:15

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);

navbuoy 06-10-2024 21:06:07

Hola Neftali, respecto a tus componentes, podrias indicarme por donde empezar si quiero desarrollar yo componentes con C++ Builder?


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

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