PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → PROTECTION SUPERPRO RAINBOW
PROTECTION SUPERPRO RAINBOW
Débuté par Stéphane, 23 jan. 2007 17:14 - 3 réponses
Posté le 23 janvier 2007 - 17:14
Bonjour,
Nous nous mettons à développer avec WD11. Auparavant nous étions sous VB6 et nous utilisions la clef SUPERPRO Sentinel de RAINBOW pour protéger nos applications.

Est-ce que quelqu'un a intégré les différentes dll afin de pouvoir utiliser ce tyupe de protection.

Merci
Posté le 24 janvier 2007 - 08:22
"Stéphane" <stephane.gougaud@radiodiffusionsystem.fr> a écrit dans le
message de news: 45b62530$1@news.pcsoft.fr...


Bonjour,
Nous nous mettons à développer avec WD11. Auparavant nous étions sous VB6
et nous utilisions la clef SUPERPRO Sentinel de RAINBOW pour protéger nos
applications.

Est-ce que quelqu'un a intégré les différentes dll afin de pouvoir
utiliser ce tyupe de protection.

Merci

Il est plus simple d'utiliser les clés HASP, les fonctions sont en natif
dans Windev. Pas besoin d'utiliser des DLL externes
Posté le 26 janvier 2007 - 10:43
Merci, mais nous avons déjà un parc installé et des applilcations en C++ qui ne vont pas migrer en WinDev, nous voudrions donc garder les mêmes clefs.
Posté le 26 février 2007 - 18:35
J'utilise la protection automatique qui modifie l'exe avec le Sentinel Shell de Rainbow. Ca ne nécessite aucune intégration de DLL mais je ne suis pas certain que ça fonctionne sur des versions supérieures à windev 5.5.
Détail : il ne faut pas intégrer la bibliothèque windev dans l'exe.

J'ai aussi utilisé les clés Net Sentinel en intégrant les 2 dll NSLBCW et NSLMS32, mais c'est plus lourd car il faut installer les services net de rainbow sur un serveur, puis modifier le code du projet de la manière suivant (c'est du code 5.5, il faut adapter en version plus récente et tester si ça fonctionne encore) :
NumDll est un entier long

// EN OUVERTURE DE PROJET
si versionwindows() = "32" alors
NumDll=chargedll(frepencours()+"\NSLMS32.DLL")
sinon
NumDll=chargedll(frepencours()+"\NSLBCW.DLL")
fin
si NumDll = 0 alors
info("Problème lors du chargement de la DLL NSL!!")
ferme
fin
AjouteSession()


/// PROCEDURE GLOBALE
procedure AjouteSession()

hdle1 est un entier sans signe
tmp est un entier long
tmp2 est un entier court
tmp3 est un entier long

tmp = 28316
tmp2 = asc("C")

sablier(vrai)
multitache
si versionwindows() = "32" alors
hdle1 = AppelDll32("NSLMS32.DLL" , "open_first_key" , tmp2 , tmp)
sinon
hdle1 = AppelDll("NSLBCW.DLL" , "open_first_key" , tmp2 , tmp)
fin

hdle = ConvertToSigned(hdle1)

SI hdle < 0
selon hdle
cas -10
info("Toutes les licences sont en cours d'utilisation !!")
sablier(faux)
multitache
ferme
cas -11
info("Toutes les licences sont en cours d'utilisation !!")
sablier(faux)
multitache
ferme
cas -12
info("Veuillez lancer le Sentinel Server sur votre serveur !!")
sablier(faux)
multitache
ferme
autre cas
info("Le système de protection a détecté une anomalie : " + hdle)
sablier(vrai)
multitache
ferme
fin
FIN



// FERMETURE DE PROJET
EnleveSession()
dechargedll(NumDll)