IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Java et Application commerciale


Sujet :

avec Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Par défaut Java et Application commerciale
    Bonjour, je vais sans doute poser une question bete; mais je n'arrive pas à avoir d'infos concluantes à ce sujet.

    Est il possible de développer une application commerciale (en vue de vente donc, sur des plateformes de vente en ligne) en Java ?

    Le jar pouvant en effet être très simplement décompilé et recompilé puis balancé sur un serveur de téléchargement en ayant modifié le source pour qu'il ne soit plus protégé par un code etc....

    D'un autre coté, beaucoup d'applications Smartphone sont codées en Java.

    Donc quelle est l'astuce pour résoudre ce qui apparait comme un paradoxe ?

    Je développe une application actuellement pour pc, téléphone et mac, c'est pourquoi j'ai choisi java pour la phase de recherche/ developpement.

    ça facilite les tests.

    Vais je devoir porter l'appli sous C++ ou autre langage pour assurer un minimum de protection ?

    (pour iphone, je vais déjà devoir la porter en Objective-C, j'aimerais tant qu'a faire ne pas recommencer 1000 fois.)

    Edit : J'ai bien évidemment regardé du coté des obfuscateur de code.
    ça rend la tache de décompilation/modification plus complexe, mais pas impossible

    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par ced00 Voir le message
    D'un autre coté, beaucoup d'applications Smartphone sont codées en Java.

    Donc quelle est l'astuce pour résoudre ce qui apparait comme un paradoxe ?
    La plupart des smartphones sont verrouillés dans tous les sens, de même que le marché de leurs applications, et la seule manière d'en faire ce qu'on veut c'est de les rooter. Une opération risquée, avec perte de la garantie, chiante à faire, et irréalisable en entreprise.

    Pour d'autres, comme les Android, les éditeurs en ont juste rien à branler des pirates, si une appli pirate se voit trop ils la poursuivront en justice, ou bien ils ont juste choisi d'accepter les risques ou de faire avec.

    Citation Envoyé par ced00 Voir le message
    Edit : J'ai bien évidemment regardé du coté des obfuscateur de code.
    ça rend la tache de décompilation/modification plus complexe, mais pas impossible
    Pirater une application, que ce soit en Java ou quelque technologie que ce soit, n'est jamais impossible. C'est juste interdit par la loi.
    La seule stratégie est de le rendre suffisamment compliqué pour décourager la plupart des gens tentés. Or en Java, ce n'est effectivement jamais très difficile. La technologie étant très propre, elle est aussi facile à analyser. C'est comme ça. On peut pas tout avoir.

    Reste à poursuivre en justice ceux qui essaient de la vendre/donner sans passer par toi et qui se font trop remarquer.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Pirater une application, que ce soit en Java ou quelque technologie que ce soit, n'est jamais impossible. C'est juste interdit par la loi.
    Certes, mais en Java, il suffit de lancer cavaj sur mon jar et je me retrouve avec toutes mes classes toute propres et bien écrites.
    Donc je me demande si ça vaut le coup.

    Ou posée d'une autre manière, ma question pourrait etre : est ce un usage répandu d'utiliser java pour réaliser des appli commerciales grand public, et si non, quel langage utiliser ?


    Merci

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par ced00 Voir le message
    Certes, mais en Java, il suffit de lancer cavaj sur mon jar et je me retrouve avec toutes mes classes toute propres et bien écrites.
    Donc je me demande si ça vaut le coup.
    On est d'accord, c'est jamais impossible, mais avec du Java c'est quand même trop facile.

    Citation Envoyé par ced00 Voir le message
    Ou posée d'une autre manière, ma question pourrait etre : est ce un usage répandu d'utiliser java pour réaliser des appli commerciales grand public,
    De ce que j'en ai vu, carrément pas. Il reste la méthode de déporter toute la logique du programme sur un service en ligne sous ton contrôle. L'appli n'est qu'une fenêtre sur l'accès au service en ligne, et n'est pas très différente d'un site web, sans les limitations. Au fond ce n'est plus tellement le programme que tu vends, tu peux le mettre en libre téléchargement, c'est le droit d'accès au service que tu vends, création d'un login/mot de passe pour l'acquéreur. Diablo 3 fonctionne comme ça.

    Je ne dirais pas que c'est une pratique répandue pour Java, mais ça marche pas moins bien que les autres langages.

    Bien sûr, les défauts évidents, c'est que la connexion Internet est obligatoire, que tu dois maintenir les serveurs en ligne, et que tes acheteurs savent quand tes serveurs meurent, leur programme aussi.

    Citation Envoyé par ced00 Voir le message
    et si non, quel langage utiliser ?
    Pas trop mon domaine. L'usage c'était du C ou C++ avec binaire obfusqué. Mais de nos jours la mode c'est plutôt C#... Qui devrait en principe avoir le même défaut mais je ne sais pas ce qu'il en est réellement.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par thelvin Voir le message
    On est d'accord, c'est jamais impossible, mais avec du Java c'est quand même trop facile.
    L'obfuscation complique déjà pas mal les choses...


    Après reste à savoir quel est le moyen de "protection" qui sera utilisé.
    La protection à 100% n'existe pas, et ce quelque soit le langage tant qu'il n'y a pas d'accès à un Web-Service... (et encore quid du partage des identifiants ?)



    a++

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    L'obfuscation complique déjà pas mal les choses...
    Tu trouves ? Ça m'a jamais beaucoup gêné pour trouver la partie qui fait ce qui me plaît pas, et la remplacer par quelque chose qui ne fait rien... En général touche à des trucs que rien d'autre dans le programme n'a besoin de toucher.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Tu trouves ? Ça m'a jamais beaucoup gêné pour trouver la partie qui fait ce qui me plaît pas, et la remplacer par quelque chose qui ne fait rien... En général touche à des trucs que rien d'autre dans le programme n'a besoin de toucher.
    Je parlais de la lisibilité du code décompilé.

    Pour le reste c'est grosso-modo la même chose dans les autres langages...
    Le plus "difficile" c'est de trouver le bout de code qui effectue la vérification. Mais une fois que c'est fait c'est relativement simple de le remplacer par "rien", et ce quel que soit le langage.

    Alors certe en Java ce n'est pas forcément le plus difficile, mais ce n'est pas forcément tellement plus difficile pour les autres langages (pour quelqu'un qui s'y connait).



    Mais avant même de "casser" la protection : tant qu'il n'y a pas de communication avec un serveur, le plus simple reste de partager le "code".


    a++

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 84
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Mais avant même de "casser" la protection : tant qu'il n'y a pas de communication avec un serveur, le plus simple reste de partager le "code".
    Ben c'est pour ça que je voulais une authentification en première execution qui passe par un serveur pour générer un code unique pour éviter les partages de code.

    Bon, je suis réaliste. Effectivement tout est craquable et je ne pense pas non plus sortir "the" appli mondiale qui deviendra la cible de tous les craquers de la planete.

    Non ce qui m'embete c'est que le code soit aussi facilement accessible.

    toute la logique de prog, tout le travail peut être retiré du jar....

    Alors qu'avec un prog en C++ Ce n'est pas le cas.
    On peut craquer l'appli, mais on ne récupere pas le code pour autant.

    En fait je me suis cassé le tronc 8 mois pour pondre un algo qui doit aller chercher dans ses 30 000 lignes. et ça me picoterai un tout petit peu qu'on puisse récupérer le code en 2 clics.....

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par ced00 Voir le message
    Alors qu'avec un prog en C++ Ce n'est pas le cas.
    On peut craquer l'appli, mais on ne récupere pas le code pour autant.

    En fait je me suis cassé le tronc 8 mois pour pondre un algo qui doit aller chercher dans ses 30 000 lignes. et ça me picoterai un tout petit peu qu'on puisse récupérer le code en 2 clics.....
    Comme le dit adiGuba, les obfuscateurs mettent quand même bien le boxon là-dedans.
    Il reste parfaitement possible d'utiliser le code tel que, ou de l'enlever ou de le remplacer. Mais le modifier ou se l'approprier d'une quelconque façon, c'est une autre histoire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/10/2013, 22h13
  2. Quel SGBD serveur pour une application commerciale ?
    Par osma_1978 dans le forum Décisions SGBD
    Réponses: 40
    Dernier message: 28/09/2008, 09h22
  3. Licence Oracle XE et application commerciale
    Par kilog dans le forum Administration
    Réponses: 8
    Dernier message: 27/11/2007, 23h05
  4. décompilation et application commerciale java
    Par cdm1024 dans le forum Général Java
    Réponses: 2
    Dernier message: 20/11/2007, 11h18
  5. Sun Java System Application Server
    Par Sourrisseau dans le forum NetBeans
    Réponses: 4
    Dernier message: 15/11/2006, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo