Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
Je développe actuellement une application dont j'envisage une future distribution à grande échelle (enfin je l'espère :-)) et je réfléchissais aux différentes méthodes pour la protéger. Je sais qu'il existe en ce moment des programme du genre PbKiller (que l'on peut trouver sur des site chinois cf Pick-Ouic) mais je ne sais pas jusqu'à quel point on faire du reverse engineering avec ce genre d'app....
Voici sur cette base quelques idées auxquelles j'ai pensé actuellement.
1. Une des principales fonctionnalités de mon logiciel est la facturation. Je me suis donc dit que je pourrais envisager de ne pas donner à l'utilisateur la possibilité de créer ses propores layout de facturation (en-tête personnalisable) mais que je luis enverrai une pbd contenant les infos et logos nécessaire au prints des factures.
2.Intégrer quelques fonctions éparses à travers le code de l'application qui va vérifier l'authenticité du logiciel (basé sur le nom de l'utilisateur etc...) en se connectant sur le net et en rappatriant des infos.
3. utiliser la mac adresse des machines et l'associer à un code unique de l'application (et pareil que le point 2. utiliser des fonctions éparses, çàd redondantes, un copier-coller pour éviter de pouvoir modifier à un seul endroit en cas de hacking)
4. Changer régulièrement le contenu de ces fonctionnalités via des updates fréquents automatiques.
5. obfusquer au maximum certaines portions de code.
Si vous avez des suggestions et/ou idées sur ce sujet, elles sont les bienvenues
merci à vous
vincent
Hors ligne
Bonjour,
J'ai déjà réfléchi à cette problèmatique, la solution se trouve plutôt chez SYBASE d'offrir une meilleur protection au reverse engineering.
En fait, dans la mesure ou PBKiller te permet de faire un reverse engineering complet de ton application. Toutes les mesures que tu souhaites mettre en place par la suite son inutile puisqu'on a accès
au code source et donc facilement désactivable.
Hors ligne
il y a un anti-pbkiller, cf http://pbadonf.fr/forum/viewtopic.php?pid=7372#p7372
Hors ligne
Erazor a écrit
il y a un anti-pbkiller, cf http://pbadonf.fr/forum/viewtopic.php?pid=7372#p7372
merci pour vos réponse, je suis allez voir ce post qui date de pas mal de temps et apparemment le lien de cet outil n'est plus dispo.
Erazor, tu n'aurais pas gardé un lien dans le fond de tes tiroirs par hasard ?
Vincent
Hors ligne
un lien non, en revanche je t'ai envoyé l'outil par mail (exe+pbd)
il faut juste ajouter le runtime PB9
Hors ligne
je l'ai ajouté sur la page des téléchargements http://pbadonf.fr/puntal/index.php/downloads/27
Hors ligne
Ok Erazor.
Une seule question me vient à l'esprit, cet exécutable est-il fiable ?
En sachant que bons nombres de développeurs chinois développent ce genre de logiciel, qu'on voit de plus en plus d'application chinoise développées en PB (En cherchant sur le net des réponses je vois de plus en plus de forums chinois qui traitent de Powerbuilder...
j'ai même vu un décompilateur qui demandait de se connecter sur internet pour pouvoir fonctionner, vous allez me dire que je suis parano mais... je préfère simplement être prudent avant de tester ce genre d'application... :-)
Vincent
Hors ligne
My 2 cents :
vince.janssens a écrit:
1. Une des principales fonctionnalités de mon logiciel est la facturation. Je me suis donc dit que je pourrais envisager de ne pas donner à l'utilisateur la possibilité de créer ses propores layout de facturation (en-tête personnalisable) mais que je luis enverrai une pbd contenant les infos et logos nécessaire au prints des factures.
TRèS mauvaise idée, à moins que tu n'aimes passer des heures avec un user au téléphone ou en réunion pour discuter de la position d'une virgule dans le nom d'une société... je parle d'expérience. et pour faire admettre à un user qu'il abuse de ton temps sans perdre un client c'est dur...
vince.janssens a écrit:
2.Intégrer quelques fonctions éparses à travers le code de l'application qui va vérifier l'authenticité du logiciel (basé sur le nom de l'utilisateur etc...) en se connectant sur le net et en rappatriant des infos.
Pourquoi pas, néamoins attention aux aspects légaux (faut prévenir le user que tu te connecte au net par exe sinon il va se demander pq) de plus attention si ton appli ne requiert par le net pour fonctionner il serait dommage de l'imposer pour vérifier si le soft est piraté ou pas. Attention aussi à tous les FireWalls, Routeurs etc , il ne faudrait surtout pas bloquer un utilisateur légitime...
vince.janssens a écrit:
3. utiliser la mac adresse des machines et l'associer à un code unique de l'application (et pareil que le point 2. utiliser des fonctions éparses, çàd redondantes, un copier-coller pour éviter de pouvoir modifier à un seul endroit en cas de hacking)
ça va être compliqué à gérer aussi ça il me semble (déjà récupérer les mac adress des machines de tes clients...)
Ensuite si c'est pour copier coller la même fonction de sécurité à divers endroit de ton appli c'est inutile, tu connais certainement la fonction "search&Replace" non ? ;-)
vince.janssens a écrit:
4. Changer régulièrement le contenu de ces fonctionnalités via des updates fréquents automatiques.
La meilleure idée jusqu'a présent je dirais MAIS il faut que les modifs amènent aussi des améliorations très désirables pour l'utilisateur, si il peut rester avec une "vieille" version crackée qui reste assez fonctionnelle pour lui il n'a aps de raison d'en changer.
vince.janssens a écrit:
5. obfusquer au maximum certaines portions de code.
Moi je ne suis pas pour la sécurité par l'obfuscation mais pq pas.
Hors ligne