Hopper: logiciel de reverse engineering
Mala
Membre, Modérateur
Je ne sais pas si vous connaissez Hopper? Je suis tombé dessus un peu par hasard...
http://www.hopperapp.com/index.html
Alors soyons clair, pour moi c'est vraiment un outil de hack pour faire tomber les protections des logiciels (d'ailleurs certaines captures sont sans équivoques). Mais j'avoue avoir été assez bluffé par l'élégance de l'outil.
Au passage, la v2 a même été validée par les lutins d'Apple et est dispo sur le Mac App Store. On est peu de chose tout de même...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Je m'en sers depuis un bon moment de cet outil, il est vraiment très bon.
Et ça ne sert pas qu'au vol d'application ! ça sert au hacking en général. Perso je m'en sers pour faire de reverse sur les outils non documenté d'Apple.
Je m'en sers également sur tous logiciel que je télécharge depuis une source louche, juste histoire de vérifier globalement ce que fait le logiciel et quels sont les strings embarqué.
Dans le même genre mais plus cher il y a IDA Pro https://www.hex-rays.com/products/ida/
et on peut avoir le code source d'une application avec cet outil ?
Le code pseudo-decompilé, sans doute j'imagine.
Le code source d'origine, évidemment que non.
Perso, il m'a fallut moins de 5 min pour trouver le code ASM à modifier pour faire péter un bridage d'une de mes Apps.
Tout à fait mais la capture ci-jointe sur le site m'a tout de même bien fait sourire...
Mais je te comprends Yoann. Vraiment très très bien foutue cette application! Si Totalphase faisait la même chose pour leurs mouchards Usb, je serais aux anges!!!
Tu as le code ASM, le pseudo-code C et un cerveau. À priori si tu sais te servir des trois et que tu as beaucoup, beaucoup de temps, oui :-p
D'une de tes apps c'est normal, c'est hyper simple quand tu sais quel JE / JNE remplacer. Sur l'app de quelqu'un d'autre cela demande un minimum de travail quand même...
La première chose à faire est d'utiliser le minimum de méthodes ObjC. En effet, leurs noms apparaissent dans le code compilé, ce qui donne des indices. Personnellement, j'ai remplacé les méthodes par des fonctions, et plus de problème depuis. ça complique beaucoup la tâche parce qu'un pirate ne sait pas où regarder.
(Enfin, AquaticPrime est bancale en tout. Rien que le fait qu'elle soit livrée sous forme de framework est risible).
Tu sais, le nom des méthodes on s'en fou totalement pour casser des verrous logiciels...
La méthode la plus simple pour trouver l'endroit où est gérer la validation de la licence c'est de faire une recherche en fonction des textes présentés pour l'acceptation / le refus de la licence. Et de là trouver tous les code pouvant y mener.
Que ça vienne d'une méthode ObjC ou d'ailleurs, on s'en balance.
Ce genre de truc m'a toujours intéressé, plus par curiosité que vraiment intéressé.
Faudrait que j'essaye, mais ça va s'rajouter à la longue liste de trucs que je veux essayer quand j'aurais du temps
Par contre, je trouve bizarre que ce genre d'application soit sur l'AppStore.
Si tu as une méthode qui s'appelle -checkLicenseCode:, cracker le logiciel prend 1/4 d'heure et est à la portée de tout pirate du dimanche.
S'il faut commencer à chercher les cheminements dans le code, alors c'est moins facile, et ça prend plus de temps. Tout ce que je dis est qu'il ne faut pas non plus faciliter le travail du pirate pour commencer.
Honte sur moi, j'ai déja essayer pour savoir ce que faisais ça: https://github.com/ylechelle/OpenIDFA
Le seul truc que j'ai pu déduire c'est qu'il ne faisait pas d'accès reseau (enfin je crois ::) )
Ceci étant dit, c'est pas a la portée de tout le monde...
C'est exactement ce que j'ai fait.
Moi aussi. Surtout quand on connait la politique habituellement totalitaire d'Apple. On a pas le droit d'utiliser des API privées mais par contre une appli qui fait carrément de la décompilation de binaire là ça gène pas...
A mon avis elle ne va pas rester longtemps celle là .
Il n'y a rien de contraire aux règles de l'AppStore hein. C'est un éditeur comme un autre. ça ne fait pas appel à des API privé et ça ne fait pas appel à des comptes système. C'est OK.
Je ne serais pas si catégorique au regard de l'article 18.3:
Source: https://developer.apple.com/appstore/mac/resources/approval/guidelines.html
Et cela peut parfaitement être appuyé par les tutoriels vidéos et captures du site qui sont pour le moins éloquentes comme la capture que j'ai posté précédemment (crack du système de licence AquaticPrime). De plus voici la licence d'OS X...
Source: https://www.apple.com/legal/sla/docs/OSX109.pdf
Cela signifie tout de même qu'Apple accepte des logiciels sur le MAS qui permettent de mettre en oeuvre les moyens pour violer leurs propres licences logicielles.
J'ai pas trouvé l'équivalent dans TextEdit... Lol
Un couteau peut servir à tuer et pourtant (et fort heureusement) il y en a au Super U du coin.
Ca fait quelques mois qu'elle y est (depuis la version 2, et la version 3 vient de sortir, mais pas encore sur le store), et je ne vois pas pourquoi elle serait interdite. Il y a tout un tas de cas d'utilisation légitimes pour ce genre d'outils quand on est développeur.
Parce que sinon, autant interdire aussi tous les outils de développements, xCode y compris, car LLDB permet aussi de faire sauter les protections, certes sans doute pas aussi facilement, quoi que...
Oui sauf que le couteau, on t'en fait pas la pub en montrant comment découper proprement les articulations de la belle mère!!! ;D
Heu....
'tin les marteaux.... Ca fait peur...
Juste pour rigoler: Je me suis relancer sur mon appli d'aide à la localisation et j'ai localisé Hopper. Dans la documentation, je suis arrivé sur une phrase abominable pour deux raisons:
1 je ne suis pas trop bon en Anglais,
2 Je ne connais pas du tout les processeurs ARM.
qu'à cela ne tienne, Je demande à mon ami Paul, qui est Anglais, de me traduire la phrase (il a vécu 30 ans à Grenoble). Voici sa réponse:
Je termine mes traductions et je l'envoie en cadeau au programmeur qui me répond:
Moralité de cette histoire:
Sauf si la langue étrangère est vôtre langue maternelle, faites vos logiciels en Français et faites les traduire par quelqu'un dont la langue maternelle est la nouvelle langue souhaitée!!!!
Un Français! Trop bon! Ca fait plaisir du Made In France d'une telle qualité!
Sinon pour rebondir, moi j'utilise les services de Textmaster: http://fr.textmaster.com
Le travail des traducteurs est sérieux pour un tarif très compétitif et rapide. On peut au choix demander des rédactions, traductions et aussi relectures pour correction.
Edit: correction d'orthographe accompagnée d'une autoflagellation!
Bonjour à tous !
Content de voir que mon logiciel fait parler de lui Par contre, je suis désolé de dire que l'intention que vous me prêtez n'est pas du tout la bonne
Déjà , sur toutes les captures que vous voyez, il s'agit du code d'un logiciel que j'ai écrit. Il est vrai que sur le tutoriel, on y voit du code de protection, c'est un pur hasard, vraiment...
Sur mes propres ordinateurs, je n'ai pas le moindre logiciel pirate (si si, c'est possible). J'ai strictement tout acheté, et Hopper a d'ailleurs été écrit au départ car je n'avais pas les moyens de me payer IDA, qui coûte une petite fortune !
Donc, pour ma part, j'utilise ce genre d'outils pour écrire des plug-ins à des logiciels (souvent écrits en Objective-C) qui n'ont pas de SDK officiel, et certainement pas pour pirater. Par exemple, des plug-ins pour Xcode ou pour le Finder. Cette pratique est 100% légale en France, puisqu'il s'agit de reverse engineering dans un but d'interopérabilité. Et d'ailleurs, la plupart des clients qui me contactent s'en servent de Hopper pour ce genre de chose aussi... J'ai même des clients chez Apple, et chez des éditeurs d'antivirus, où ce genre d'outil est très très utilisé.
Concernant le Mac App Store, ça fait 2 ans et demi que j'y suis... Enfin, que j'y étais, car vu le temps nécessaire à la validation des applications, et la quantité d'argent qu'Apple récupère au passage, ça m'a totalement refroidi... Les règles d'Apple parlent effectivement du reverse engineering, mais ils parlent du reverse de leurs applications. Ils ne parlent pas du tout d'une quelconque interdiction de vendre des logiciels de reverse engineering.
Quand on en a les moyens, peut-être, oui, mais sinon c'est plus compliqué Quand Cryptic Apps sera devenu une multinationale (on peut rêver), je ferai très certainement appel à des gens plus compétents que moi Et il y a aussi un autre problème : dans mon ancienne boà®te (qui édite un logiciel de musique), on a eu le souci de trouver des gens capables de traduire un texte très technique sans les dénaturer... Au final, on a payé pour une traduction... à côté de la plaque ???
Pour la phrase en question, non, ce n'est pas une traduction d'une autre langue, j'ai juste écrit beaucoup de choses, et certaines phrases ont peut-être été mal tournées, c'est très probable... d'autant qu'à l'époque où cette phrase a été écrite, je travaillais encore en tant que salarié à côté du développement de Hopper, certaines choses on été écrites un peu rapidement.
Vous savez, j'écris le logiciel seul, je fais le site (et le moins que l'on puisse dire, c'est que je ne suis pas webmaster ), j'écris la documentation, je réponds aux mails, je m'occupe des ventes... je fais ce que je peux Et je me donne beaucoup de mal pour améliorer mon anglais !
Mais bon, il ne faut pas exagérer, même si je ne maà®trise pas complètement la langue, vu la quantité de texte que j'ai eu à écrire, ça reste correct :P
En tout cas, merci pour vos retours !