[R] Utilisation de l'api "IsDebuggerPresent"

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

[R] Utilisation de l'api "IsDebuggerPresent"

#1

Message par hardfloor »

Bonjour les amis,
Alors aujourd"hui je me penche sur une api interessante et apperement facile à utiliser..... :)
Il s'agit de l'api "IsDebuggerPresent" qui, comme son nom l'indique, empeche un débugg dans ollydbg par exemple.
(cette api empeche seulement les noobs du débugging........ :D , mais cela est un bon commencement)
Même si on est pas bill gates, tout petit inventeur de log que nous sommes, nous n'avons pas forcément envie que notre script soit découvert du jour au lendemain.......
J'ai donc cherché son utilisation avec autoit et je suis tombé sur un post du forum us:
http://www.autoitscript.com/forum/topic ... call-work/

Alors voilà, je voulais savoir si vous aviez un code anti debugg fonctionnel!
Si vous voulez le partager ici, ca me va!
Si vous ne désirez pas qu'il soit à la vue de tous, je peux comprendre et j'accepte les réponses par messages privés aussi!
Modifié en dernier par hardfloor le sam. 07 sept. 2013 20:22, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#2

Message par jchd »

hardfloor a écrit : nous n'avons pas forcément envie que notre script soit découvert du jour au lendemain
Aucun rapport avec un debogueur quelconque.
Me semble parfaitement inutile tout ça.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#3

Message par Sea »

Lors de la compilation Autoit rajoute de base cette API dans le code ;)

Et puis vla la gueule de la protection ^^
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#4

Message par hardfloor »

@ sea ==> Oui j'allais le rajouter, j'ai vu que ollydbg s'arretait. Je me doutais bien que c'etait cette api! Je voulais confirmation.
Et comme je l'ai précisé plus haut, c'est une protection de base.......Je n'ai pas dit que c'était le top....
Merci pour ta confirmation Sea
Modifié en dernier par hardfloor le lun. 09 sept. 2013 11:45, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#5

Message par jchd »

Houlà, du calme. Va falloir une distribution de Lexomil maintenant ?

J'ai simplement dit que détecter un débogueur dans l'espace "user" ne sert aucunement à protéger un script de la rétro-ingénierie.
En ajoutant que celà ne me semblait pas utile d'une quelconque façon (comme l'a précisé Sea juste après, la détection est déjà incluse au démarrage de l'interpréteur et dans un autre but), je ne vois pas en quoi mon post te "crache à la figure" ni te dénigre.

Tu montes vite dans les tours toi, et pour rien. Evite les attaques ad hominem, ça n'avance à rien.

Maintenant si tu penses que ce que tu proposes offre un plus, je ne serai pas le seul à apprécier de bénéficier de ton exposé.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#6

Message par hardfloor »

Oupss... Je m'excuse Jhcd :oops: , si tu avais expliqué de cette facon dans ton premier post , je ne me serais pas senti "attaqué".
Tu m'excuseras mais tes 2 petites phrases n'étaient pas très explicites et surtout tout le monde peut, mal les interpréter..La preuve!

Moi malheureusement, je n'ai rien à proposer, justement je cherche de l'aide sur une méthode un peu efficace et complète que l'api utilisée......
Ne me dites pas " aucun programme est inviolable, je le sais......"
Je ne demande pas non plus un code du niveau de aspack ou armadillo :D , mais si il y a des malins ici qui ont trouvé une solution pour protéger plus efficacement leur script que l'api de base, je suis preneur.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#7

Message par jchd »

Code : Tout sélectionner

je cherche de l'aide sur une méthode un peu efficace et complète
La question est là : une méthode, d'accord, mais dans quel but ?

S'il s'agit de protéger un exécutable AutoIt contre la rétro-ingénierie, rien n'est réaliste à court ou [très] moyen terme. La prochaine release va inaugurer des changements significatifs dans la structure des exécutables produits, mais il ne va pas s'écouler des siècles avant qu'un utilitaire fûté ne s'adapte et permette de récupérer l'intégralité du source.

Dans tous les cas un débogueur ne sert qu'à suivre ou influer sur l'exécution d'un programme compilé, ce que les scripts AutoIt ne sont pas contrairement aux termes utilisés. Le script est en texte dans le .exe, sous une forme ou sous une autre, car l'interpréteur ne sait s'alimenter qu'vec ça. Si Jon bloque l'emploi d'un débogueur, c'est pour être cohérent avec les conditions d'emploi d'AutoIt qu'il a lui-même édicté : la protection (illusoire, certes) de l'interpréteur lui-même et non du script.

L'obfuscation ne sert à rien en pratique car qu'une variable se nomme $password ou $875fae5890bc46 ne change pas grand chose, soyons honêtes. C'est de la protection contre la petite soeur.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#8

Message par hardfloor »

Oui Je suis d'accord avec tout ca, ya pas à tortiller......
Je sais tres bien que rien est sûr à 100% mais il faut etre honnete aussi:
Les mecs qui sont capables de comprendre le processus d'un déboggueur, d'utiliser les divers progz et de retrouver un code source ne sont pas si nombreux que ca!
Il y en a c'est certain, mais ce n'est pas la majorité et heureusement.
En général, la plupart des bidouilleurs (et dieu sait qu'il y en a ....) abandonnent dès les premières difficultés, c'est pour ca que je me dis qu'une "protection" un peu plus evoluée que l'api serait déjà pas mal.
Maintenant si tu me dis qu'il y une MAJ qui se prépare, c'est très bien.
En tout les cas ,merci pour tes explications :wink:
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#9

Message par Sea »

Perso pour protéger mes script don je ne veux pas rendre publique la source,j'utilise une méthode perso que j'ai déjà décrite plusieurs fois ;)

http://autoitscript.fr/forum/viewtopic. ... 088#p77088 (et regarde aussi mon post suivant)
http://autoitscript.fr/forum/viewtopic. ... 512#p74512

Mais bon ce n'est pas incrackable il faudra juste plus de temps pour la personne... Car que tu le veuilles ou non si tu écris un moment un mot de passe il ce retrouvera forcement à un moment en mémoire et il sera donc logiquement possible de le récupérer.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#10

Message par Tlem »

Bonsoir.
Je vais me permettre de rajouter certaines chose à ce que Jean Christophe a dit :

Nous ne connaissons pas la teneur exacte de votre script, mais dites vous bien une chose, c'est que si votre code a un quelconque intérêt "majeur" pour certains, même "les petits malin" y passerons le temps qu'il faut pour avoir ce qu'ils cherches.

Ensuite, comme l'a précisé Jean Christophe, la protection actuelle d'un code AutoIt est relativement illusoire. Même la future version ne permettra qu'une protection temporaire car Google est l'ami de tout le monde, même des vilains pirates de code. Et généralement quand un pirate trouve la parade d'une protection, il se fait un malin plaisir de partager sa solution en prenant bien soin de mettre en avant son pseudo afin de montrer que c'est lui le meilleur ... :mrgreen:

Concernant AutoIt, la meilleure protection que vous pouvez avoir est celle que les autres ne connaissent pas. Il vous faut donc analyser et éventuellement combiner plusieurs méthodes et les adapter pour les rendre totalement personnelles. Maintenant, cela demande un investissement de temps important pour une protection sans aucune garantie sur la durée. Donc si votre code mérite tout ce labeur, peut être devriez-vous envisager un langage plus adapté à votre demande. ^^


Pour finir, bien que vous vous soyez excusé auprès de Jean Christophe, j'ai trouvé votre réaction vraiment violente par rapport a sa réponse.
jchd a écrit :Aucun rapport avec un debogueur quelconque.
Me semble parfaitement inutile tout ça.
Je ne voit là aucune agression quelconque. C'était juste une constatation et une conclusion par rapport à vos propos, puisqu'un debogueur ne permet absolument pas de connaitre le code source d'un programme. Au mieux il vous donnera le code machine, mais là, "les petits malin" passeront leur chemin tout comme la plupart des autres.
J'espère simplement que vos réactions virulentes s’arrêteront là même si quelqu'un ne vous répond pas en finesse, car l'agression gratuite n'a pas de raison d'être dans notre communauté.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] utilisation de l'api "IsDebuggerPresent"

#11

Message par hardfloor »

Merci à tous pour vos réponses. :wink:
Répondre