PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Degré de vulnerabilité des exe windev
Degré de vulnerabilité des exe windev
Débuté par nazha, 10 fév. 2015 01:20 - 12 réponses
Posté le 10 février 2015 - 01:20
bonjour
svp

si mon exe est tres vulnerable, je ne pourrais pas le vendre sur le net
Au moins je voudrais savoir quel est le degré de vulnerabilité des exe de Windev

Mes mots de passe Fichiers, Serveur, Comparaison des info de la machine ..etc ...en clair dans le code d'initialisation du projet
existe il un moyen de camoufler ces valeurs contre les débogueur d'exe tel ollydbg ou autre

Merci
Posté le 10 février 2015 - 10:29
Pour info,

on se souvient tous très bien que tu as déjà posé la question et qu'on y
a déjà répondu en détail...

Il va vraiment falloir que tu travaille un peu sur le sujet de ton coté

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 2/9/2015 7:20 PM, nazha wrote:
bonjour
svp

si mon exe est tres vulnerable, je ne pourrais pas le vendre sur le net
Au moins je voudrais savoir quel est le degré de vulnerabilité des exe
de Windev

Mes mots de passe Fichiers, Serveur, Comparaison des info de la machine
..etc ...en clair dans le code d'initialisation du projet existe il un
moyen de camoufler ces valeurs contre les débogueur d'exe tel ollydbg
ou autre

Merci
Posté le 10 février 2015 - 12:17
merci Fabrice Harari
travailler c'est toujours interessant
faut il travailler ou non ?. je ne voudrais pas travailler inutilement
Je pense que ca prendrais beaucoup de temps
Les questions que j'avais posées sont differentes
la premiere je demandais une aide pour un antidebpgage genre Classe de WDProtect
la 2eme c'est de savoir si le risque est grand et apprendre si possible quelques astuces interessantes

j'espere que ma reponse ne derrange pas

merci
Membre enregistré
101 messages
Popularité : +1 (1 vote)
Posté le 10 février 2015 - 14:25
Bonjour
Voici une astuce.

Si tu as une instruction comme par exemple :
Code_Secret ='ABCDEF'

Tu peux déjà la remplacer par :
Code_Secret = gauche ( 'ABCES', 3) + milieu ( 'CARIE', 8,3) + gauche('DEFAUT', 3)

Ainsi, tu vas compliquer un peu la tache des petits pirates.
Tu peux être beaucoup plus imaginatif, mais cette première précaution devrait répondre à ton besoin.

Idem , au lieu de faire
adresse_IP = '123.100.255.255'
tu peux faire :
Adresse_IP = numeriqueverschaine(123, "03.0d") + "." + numeriqueverschaine(100, "03.0d") + "." + numeriqueverschaine(255, "03.0d") + "." + numeriqueverschaine(255, "03.0d")


Autre test que tu peux faire.
Tu génères ton exécutable.
Ensuite, avec un outil tout simple comme Notepad, tu ouvres l'exécutable, et tu regardes si tu vois des trucs que tu voudrais garder secrets. Si tu en trouves, à toi de trouver des astuces pour les masquer.
Et idem, même contrôle sur le fichier .WDL si tu en as un .

Tout ce que j'écris là, c'est du basique de chez basique ... mais j'ai l'impression que c'est ce que tu recherches.
Posté le 10 février 2015 - 14:32
Merci Joel
j'y cours j'en veux plus
merci beaucoup
Posté le 10 février 2015 - 14:52
Bonjour Joel

si c'est ca qu'il recherche, autant dire qu'il va bien faire rigoler les
pirates...

Et si c'est une VRAI protection, il a déjà eu la réponse, et ca ne lui
convient pas... Visiblement trop de travail :-)

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 2/10/2015 8:25 AM, Joel wrote:
Bonjour Voici une astuce.

Si tu as une instruction comme par exemple :
Code_Secret ='ABCDEF'

Tu peux déjà la remplacer par :
Code_Secret = gauche ( 'ABCES', 3) + milieu ( 'CARIE', 8,3) +
gauche('DEFAUT', 3)
Ainsi, tu vas compliquer un peu la tache des petits pirates.
Tu peux être beaucoup plus imaginatif, mais cette première précaution
devrait répondre à ton besoin.

Idem , au lieu de faire adresse_IP = '123.100.255.255'
tu peux faire :
Adresse_IP = numeriqueverschaine(123, "03.0d") + "." +
numeriqueverschaine(100, "03.0d") + "." + numeriqueverschaine(255,
"03.0d") + "." + numeriqueverschaine(255, "03.0d")

Autre test que tu peux faire.
Tu génères ton exécutable.
Ensuite, avec un outil tout simple comme Notepad, tu ouvres
l'exécutable, et tu regardes si tu vois des trucs que tu voudrais garder
secrets. Si tu en trouves, à toi de trouver des astuces pour les masquer.
Et idem, même contrôle sur le fichier .WDL si tu en as un .

Tout ce que j'écris là, c'est du basique de chez basique ... mais j'ai
l'impression que c'est ce que tu recherches.
Posté le 10 février 2015 - 16:42
Mr Harari merci pour votre interet
je cherche le debut de quelque chose.
j'ai beaucoup chercheé sur le net mais je n'ai pas trouvé de reponse ou de reponse satisfaisante pour moi.
dites moi que c'est suffisant les API x y ou z et j'y cours
Que mes mots de passe sont a l'abri ou que sous forme de fonction ne sont pas accessibles ou autre.
ce qui m'embete c'est de commencer une autre 'science!' chercher comment on pirate telecharger et comprendre les outils correspondant pour trouver d'autres impasses. Quand ca commence quand ca finit ?

Ma conclusion
1/ meme si c'est crackée ca ne m'empechera pas de contuner a la vendre
2/ La solution rassurante mais n'est pas tres commerciale pour un debutant c'est les mise a jours et abonnement frequents
3/ La solution que je cherche restera dans le vague jusqu'à ce que je veuille etudier ou une providence qulconque.


La discussion est toujours ouverte
merci beaucoup
Posté le 11 février 2015 - 11:52
nazha avait énoncé :
Mr Harari merci pour votre interet
je cherche le debut de quelque chose.
j'ai beaucoup chercheé sur le net mais je n'ai pas trouvé de reponse ou de
reponse satisfaisante pour moi.
dites moi que c'est suffisant les API x y ou z et j'y cours
Que mes mots de passe sont a l'abri ou que sous forme de fonction ne sont pas
accessibles ou autre. ce qui m'embete c'est de commencer une autre 'science!'
chercher comment on pirate telecharger et comprendre les outils
correspondant pour trouver d'autres impasses. Quand ca commence quand ca
finit ?

Ma conclusion 1/ meme si c'est crackée ca ne m'empechera pas de contuner a la
vendre
2/ La solution rassurante mais n'est pas tres commerciale pour un debutant
c'est les mise a jours et abonnement frequents
3/ La solution que je cherche restera dans le vague jusqu'à ce que je veuille
etudier ou une providence qulconque.


La discussion est toujours ouverte
merci beaucoup


voir ici par exemple
http://www.iolock.com/Unikey-Software-Protection-Solutions-fr.php
(Ajout de protection instantané - UniKey Enveloper)

--
Cordialement JeAn-PhI
Membre enregistré
355 messages
Popularité : +37 (39 votes)
Posté le 11 février 2015 - 16:26
Bonjour Nazha,

Si comme tu le disais récemment tu préfère comprendre et développer par toi-même, tu auras surement remarqué que le code généré par Windev est impossible à lire et décoder directement.
La simple lecture avec un éditeur hexa ou (notepad) comme on te le suggérait ne permet effectivement pas de découvrir les chaines de caractère écrites dans ton code.

Par contre avec un débogueur (comme Olly que tu citais) tu auras peut-être aussi remarquer que pour pouvoir interpréter le pseudo-code des wdl, les dll de Windev sont obligées de décoder ce code et donc de placer temporairement les variables, chaines… de façon lisible dans la mémoire du processeur.
A ce moment ton code est vulnérable et quelque soit le degré de sophistication utilisé pour les générer, les mots de passe et équivalent sont directement accessibles avec le débogueur.
Il n’y a qu’un moyen (à ma connaissance et encore) pour empêcher ceci, c’est de disposer dans ton code d’un Anti-débogueur efficace.

Les exe Windev intégrèrent un test de la présence d’un débogueur, mais comme je le disais plus tôt il est (malheureument) très facile à bipasser.

Si vraiment tu souhaites une protection efficace -mais est-ce vraiment nécessaire-, il ne te reste plus qu’a lire profondément tout ce qui se trouve sur le net et intégrer ces méthodes dans ton code.
Tu comprendras que je ne peux bien sûr pas évoquer ici ce qui est intégré dans SoftProtect-Antidebug, mais avec un peu de travail, tu devrais pouvoir faire pareil, D’ailleurs moi-même il y a 15 ans je ne connaissais pas ces techniques sous Windows

Deux petits conseils toutefois :
Concernant l’utilisation des clés comme Unikey, Dinkey, SafeNet ou autre, je ne les connais pas toutes mais pour en avoir testées quelques unes je te conseille d’oublier les protections du type « enveloppe » qui ne tiennent pas bien longtemps. Par contre pourquoi ne pas y stocker (crypté bien sûr) tes mots de passe par exemple.

Pour tes fichiers HF, si tu veux une protection sérieuse, utilise des mots de passe de plus de 16 caractères et crypte tous les fichiers index et mémos compris.

Un dernier point concernant un échange éventuel, je te remercie de cette proposition, mais je suis un peu comme toi, j’aime aussi découvrir et développer par moi-même.

--
Francis MOREL
http://www.SoftProtect.fr
Posté le 11 février 2015 - 19:24
Merci pour vos réponses
Merci Francis MOREL
çà m'aide bien ce que vous dites
je vais continuer à chercher
Encore une question svp est ce qu'un Timer dans un codes qui contient des mots de passe avec Finprogramme() peut empêcher les points d’arrêt et effacer la mémoire du processeur (ou bien obligatoirement faut reconnaitre le débogueur en cours et le fermer)

merci encore
Membre enregistré
834 messages
Popularité : +13 (13 votes)
Posté le 12 février 2015 - 04:20
Bonjour,
En ce qui me concerne, j'utilise les syntaxes "Crypte" et "Décrypte".
Pour ne pas que la licence fonctionne sur 2 postes :
Je lit par FTP un fichier .ini sur un serveur (web).
Je compare le nom de la machine écrite dans le fichier .ini du serveur au nom de la machine utilisée.
Cela pour ma part, est suffisant.
Mon programme est protégé contre les utilisateurs "landa".
Maintenant, je ne suis pas Bill Gates et mes programmes n'ont pas une valeur significative.
Je ne pense pas que quelqu'un perdrait son temps à déplomber.
J'ai également voulu protéger, non pas par le nom de machine mais par l'adresse MAC mais je me suis rendu compte qu'une machine peut changer d'adresse MAC. Je pensai que cette adresse était fixe.

En espérant avoir participé à l'aide demandée.

J.Michel
Membre enregistré
355 messages
Popularité : +37 (39 votes)
Posté le 12 février 2015 - 09:52
Bonjour nazha

...
Encore une question svp est ce qu'un Timer dans un codes qui contient des mots de passe avec Finprogramme() peut empêcher les points d’arrêt et effacer la mémoire du processeur (ou bien obligatoirement faut reconnaitre le débogueur en cours et le fermer)
...

Non le timer ne présente qu'un intérêt très limité.
Tous les débogueurs peuvent détecter/empêcher le traitement des timers.

--
Francis MOREL
http://www.SoftProtect.fr
Posté le 12 février 2015 - 11:08
merci