Page 3 sur 4

Publié : mar. 23/juin/2009 21:30
par beauregard
Kwai chang caine a écrit :plein de mots rigolos
Si j'ai bien compris, tu as fait un logiciel que tu veux montrer à une entreprise. Dans ce cas, rend toi sur place, et fait leur la démonstration sur ton pc portable( un accord de confidentialité ne serait pas superflus).

PS: Quand Dobro répond à KCC, je retiens mon souffle :lol:

Publié : mar. 23/juin/2009 22:23
par Backup
Kwai chang caine a écrit :
Donc apres il est jetable, comme un stylo bic, un rasoir bic, un appareil photo bic...ah non bic y fait pas d'appareils photos :oops:
Ou encore pire un mouchoir papier, un preservatif, une serviette hygienique, un tampon.....

C'est à dire qu'il aurait été inutilisable apres la premiere utilisation, que ce soit sur cette machine ou une autre ....
ben t'as bien lu ce que j'ai ecris ?? 8O


****************************************************************
****************************************************************


je resume pour etre clair

ton prg s'apelle TOTO

l'installateur de Toto ecrit info.txt quelque part dans le disque dur

puis installe toto.exe


au 1er lancement
Toto.exe va lire info.txt pour savoir si c'est le premier lancement
si oui , il ecrit "1er lancement" dans info.txt
et il se lance !

si non ; toto a lu "1er lancement" dans le fichier info.txt
et ne se lance plus (parceque tu veux qu'il ne se lance qu'une fois !)

et info.txt qui continuera a servir

car

si le gars relance Toto.exe qu'il aurai sauvegardé
toto.exe trouvant info.txt caché ,
en lisant son contenu va se rendre compte que c'est pas le premier lancement , donc ne se lancera pas !!

tu peux aussi faire en sorte que si Info.txt n'existe pas, Toto.exe ne se lance pas non plus !
se serai au cas ou
Toto.exe aurai ete copié sur un disque sans installation

t'a compris la ??
:)

Publié : mer. 24/juin/2009 8:19
par Kwai chang caine
Aaahh Ok, cette fois j'ai compris.
J'avais lu evidemment :?
Mais j'avais pas saisi la nuance du si y'a pas le TXT qui est INDISPENSABLE planqué et ben il se lance pas :oops:

T'as raison, c'est une solution.
Je crois meme que c'est celle qu'utilise mon collegue.

Merci pour tes explications certes un peu longues :lol:
Mais efficace, car j'ai compris, et pas tout le monde peut se vanter de me faire comprendre :D
Si j'ai bien compris, tu as fait un logiciel que tu veux montrer à une entreprise. Dans ce cas, rend toi sur place, et fait leur la démonstration sur ton pc portable( un accord de confidentialité ne serait pas superflus).
C'est surtout que les logiciels que je fais, sont distribués via notes dans mon entreprise, qui est gigantesque et sur toute la france.
Alors comme ils touchent certaines fonctions primordiales et extremement sensibles à l'entreprise, je ne veux pas que n'importe qui puisse copier le giciel du voisin, ou bien que n'importe qui puisse installer sur une autre machine un giciel qui ne lui est pas destiné :?

Parce qu'apres, bibi, y va pointer, si y fait perdre 1 million de clients en un clic :?

Parce que je sais pas si vous le savez......mais je vais vous faire une revelation dont vous n'imaginez pas l'ampleur :

Je ne suis pas programmeur de metier :D :lol:

J'suis ouvrier, et j'aimerais bien rester "programmeur" le plus longtemps possible.
Car le clavier......c'est drolement moins generateur d'ampoules que la caisse a outil :D

Encore merci à tous de votre soutiens 8)

Publié : mer. 24/juin/2009 8:50
par Kwai chang caine
Pour en finir sur le sujet, j'avais aussi posé la question sur le US.
On a jamais trop d'idées dans ce domaine :roll:

Et ça a porté ses fruits, puisque TROND m'a donné une autre combine, que je ramene ici, si un jour ça peut servir.

Mais vous allez etre drolement étonné.....ça n'a pas marché pour moi :cry:
Trond a écrit :Normally not, but if you name your file "desktop.ini" there's a trick to do it. Note that desktop.ini is used by Windows for configuring folders, so be careful so you don't mess up.

So, call your file desktop.ini and paste this in it:

[DeleteOnCopy]
This part will be deleted when the file is copied
[AnythingElse]
This part is preserved when the file is copied


Then try to copy and paste the file with Windows Explorer and see what happens.

Publié : mer. 24/juin/2009 21:46
par SpaceMan
Slt KCC !
Pour info, j'utilise la combine que Dobro t'as donnée pour mon petit "LOCKERXP".
Dans mon cas,
*LOCKERXP lors de son lancement vérifie si un fichier password.txt existe !
- si oui Une fenetre s'affiche pour rentrer le mot de password
- sinon une autre fenetre s'affiche pour entrer et confirmer le mot de passe.(dans ce cas fichier password.txt sera crée).

filemon

Publié : mer. 24/juin/2009 23:47
par meganet
Salut, filemon permet de comprendre que ton programme va vérifier si ton fichier password.txt existe ou nom! Au pire tu peux utiliser une dll que tu extrait lors du premier lancement dans C:\WINDOWS\System32\ et que tu modifie après pour mettre par exemple à la fin tes infos, comme ça celui qui va utiliser filemon va penser que c'est une dll utile à ton soft.
Voilà @+++ !

Publié : jeu. 25/juin/2009 9:46
par Kwai chang caine
Merci à vous deux pour l'info 8)

Cool le coup de Filemon, je crois que j'en avais entendu parler y'a fort longtemps et que evidemment vu que je suis monté fin , j'avais oublié :?

Héhé !!! malin le coup de la DLL, t'as raison, pas grand monde ose toucher aux DLL :D
Oui je sais, je sais ..... sauf vous :lol:

C'est cool d'avoir plein de petites idées differentes comme ça, et venant des 4 coins de la france, voir meme du WORD 8)

Encore merci.

Publié : jeu. 25/juin/2009 10:44
par Kwai chang caine
Y'a aussi une combine que j'avais pensé, y'a longtemps et roublié.
Il suffit de limiter l'installe du prg dans le temps.

Date passée = logiciel foiré ....

Oui mais...me direz vous, une date ça se change, on fait un retour arriere de l'horloge et le tour il est joué.

Et ben non, si on prend soins de faire une enumeration du repertoire C, par exemple, et des qu'on trouve un des dossiers et/ou fichiers qui a une date superieure = logiciel foiré ....

Je viens de m'apercevoir que la plupart des fichiers systeme avait la date du dernier allumage, et peut etre meme celle du dernier acces.

Encore une piste a creuser......a force de creuser....KCC il va sentir les pieds des chinois :?

Publié : jeu. 25/juin/2009 12:13
par cederavic
Hello, LSI avait poster un code qui pourait etre une solution a ton problème, il pemetrait d'empecher de relancer l'install, que ce soit l'originale ou non apres un premier lancement. En general on lance toujours le programme une premiere foi voir si ça marche avant de la copier / distribuer.
Le poste de LSI : http://www.purebasic.fr/french/viewtopic.php?t=435

Je me suis basé sur son code, mais je ne recherche pas la data section dans l'install, enfait je l'ai chercher une foi l'install compilée, j'ai mis directement la position dans l'install puis recompiler. J'utilise une byte pour dir si oui ou non l'install à dejas ete faite.
Bon c'est peut etre un peut voyant, mais rien de t'empeche d'inclure une image et d'utiliser la composante verte dur 785eme pixel de cette image à la place :)


c'est commenté a l'arrache, j'vais etre a la bourre au boulot!

Code : Tout sélectionner

; Creation de la fenetre... blablabla
OpenWindow(0, 0, 0, 250, 60, "Install Test Special KCC", 13107201)
  TextGadget(0, 12, 10, 70, 16, "Install path :")
  StringGadget(1, 75, 8, 165, 20, "MEM:\KCC's Knowledge\", #PB_String_ReadOnly)
  ButtonGadget(2, 95, 30, 60, 20, "Next")
  ProgressBarGadget(3, 10, 10, 230, 15, 0, 100, #PB_ProgressBar_Smooth)
    HideGadget(3, 1)
  TextGadget(4, 12, 10, 220, 20, "The application was installed correctly!")
    HideGadget(4, 1)

Quit.b = #False  ; On quit ou pas?
Install.b = #False ; c'est juste pour la demo, on s'en fou
ClearInstall.b = #False ;  indique au programe que c'est la fin des haricots... euh... de l'install

Select ProgramParameter()

  Case "InstallFinished" ; Ce parametre signifi que l'install est terminée, donc notre byte de verification passe a 1 (pour rappel, c'est temp.exe qui est lancé là)
    OpenFile(0, "Install_Test.exe") ; on ouvre le fichier d'install
      FileSeek(0, 16177) ; on se position là où il faut et non où il faut pas, logique...
      WriteByte(0, 1) ; et voila!
    CloseFile(0)
    
    RunProgram("Install_Test.exe", "ClearInstall", "") ; une fois fait, on relance l'install avec en param ClearInstall
    End ; et on ferme le temp.exe
  
  Case "ClearInstall" ; Ici l'install est terminée
    ClearInstall = #True 
    DeleteFile("temp.exe") ; on supprime le temp.exe qui nous a bien aidé
    Install = #True ; et on fait le necessaire pour afficher le message qui va bien, enfin, presque!
    HideGadget(0, 1) ; Install_Test.exe et Temp.exe vecurent heureux mais n'auront pas d'enfant
    HideGadget(1, 1)
    HideGadget(4, 0)
    SetGadgetText(2, "Quit")
  
  Default ; s'il n'y a pas de params, on verifi notre byte au cas ou il y aurait une couille dans le paté!
    ReadFile(0, "Install_Test.exe") ; blabla
      FileSeek(0, 16177) ; expliqué plus haut
      Verif.b = ReadByte(0)
    CloseFile(0)
    
    If Verif = 1 ; Bingo! L'install à deja été faite, et notre byte est à 1, donc il y a une couille (pour un homme il en faut deux, mais pour un programme aucune :p)
      MessageRequester("Error, Error, Error, Err...", "Program already installed, please contact the vendor for more informations.", 0) ; aller petit vilain
      End ; essay encor!
    EndIf
EndSelect

Repeat ; Boucle principale... hmm... que dir de plus?

  If Install = #True And GetGadgetState(3) < 100 And GetTickCount_() - Timer >= 10 ; l'anim du progressbar, on s'en fou mais ça fait beau
    Timer = GetTickCount_()
    SetGadgetState(3, GetGadgetState(3) + 1)
    If GetGadgetState(3) = 100
      DisableGadget(2, 0)
    EndIf
  EndIf

  wEvent = WindowEvent(); bon tout ça je passe, c'est bien toi qui vois comment tu veux fair ton install
  Select wEvent
  
    Case #PB_Event_Gadget
      Select EventGadget() ; et blablabla
      
        Case 2
          If Install = #False
            Install = #True
            DisableGadget(2, 1) ; blablabla
            HideGadget(0, 1)
            HideGadget(1, 1)
            HideGadget(3, 0) ;blabla
            SetGadgetText(2, "Next")
            Timer = GetTickCount_()
          Else
            Quit = #True
          EndIf
      
      EndSelect
      
    Case #WM_CLOSE
      Quit = #True
    
    Default
      Delay(20) ; bliblobla
      
  EndSelect

Until Quit = #True ; blabla... ha on quit ok... mais avant de End :

If ClearInstall = #False ; si on avait lancé Install_Test.exe avec ClearInstall, ben on ferme simplement, sinon!
  CopyFile("Install_Test.exe", "temp.exe") ; On copi le fichier d'install en temp.exe (c'est le comble, on veut empecher la copie en copiant :D)
  RunProgram("temp.exe", "InstallFinished", "") ; et on le lance avec le param qui va bien pour modifier notre byte
EndIf
End ; aurevoir :(


DataSection ; voir le code de LSI, il est bien commenté :)
  Data.s "DataStart"
  Data.b 0
  Data.s "DataEnd"
EndDataSection

Publié : jeu. 25/juin/2009 14:50
par Kwai chang caine
Merci beaucoup CEDERAVIC, on te lis pas assez souvent :cry:

C'est une geniale idée d'avoir utilisé ce code du SOLDAT 8)
Et ça marche du feu de dieu.

C'est sur qu'il faut pasque le mec soit vicelard pour copier avant, mais par contre il lui reste toujours l'original dans le mail.

Quoi qu'il en soit, je garde bien ton code, car joint a l'idée de DOBRO et peut etre a la mienne avec les dates, on peut peut etre drolement bloquer le truc.

On va peut etre finir a ce que on puisse meme plus l'installer du tout :lol: :lol:

Encore merci

Publié : jeu. 25/juin/2009 16:25
par cederavic
Merci beaucoup CEDERAVIC, on te lis pas assez souvent
Surement parceque la plupart des peronnes ici sont maintenant plus fortes que moi, et que devant les Maîtres, on se tai et on écoute :lol:

Bref, tu peux tres bien ajouter la date de compilation dans l'exe de la meme façon que le byte, et puis crypter tout ça tant qu'a faire!
Pour le mail, il te suffit de ne pas lui envoyer, c'est simple non? Ok je m'explique 8)

Enfait tu lui envoie seulement un lien vers une page php qui pointera vers le fichier, et une foi telecharger, la page supprime le fichier. Ainsi il aura l'original sur son pc et nul part ailleur, et comme 95% des gens je pense, il l'installera avant de le copier (ben ouai, ça serait con de copier un fichier corrompu ou autre, et si c'est le cas, hop un autre mail avec un nouveau lien).

En ce qui concerne la methode de Dobro, enfait c'est la meme sauf que lui c'est un fichier externe. C'est n'est pas mieu ni moin bien, seulement une autre façon de faire, et les combiner peut ajouter un peut plus de securité, mais on en reviendra toujours au fait que ça ne sera jamais protégé à 100%

Publié : mer. 01/juil./2009 13:45
par kerkael
Salut,

Pour mettre mon grain de sel, qui saurait m'expliquer la différence entre le déblocage par clef de license, du système d'activation sur internet.
Windows a besoin d'une clef de license pour que l'on procède à l'installation, mais il faut EN PLUS l'activer sur le net. Quel mécanisme utilise l'activation ?

Au delà de windows, j'ai acheté un simulateur d'avion télécommandé (mais là n'est pas le sujet) qui dispose d'un numéro de série + Dongle + Clef de license.
Le Dongle, en fait, c'est la télécommande USB, réplique d'une tc de modèle réduit.
Le numéro de série, c'est celui de cette télécommande.
La clef de license est sur un sticker sur le DVD/
Je procède à l'installation ... et je dois EN PLUS activer le produit sur le net.

Jusqu'ici tout va bien, mais impossible d'utiliser le simulateur ailleurs, et après désinstallation, pas possible de réinstaller ! Alors que j'ai toujours le Dongle, la clef, et le numéro de série, quand j'essaye d'activer le simulateur sur le net, un super message me dit : "Ce produit a déjà été activé avec cette clef de license et ce numéro de série. Appelez le service après-vente !"

T'es vraiment sûr que tu veux pourrir la vie de tes futurs acheteurs ? Nan pasque là, après 15 jours avec le SAV j'ai toujours pas eu de soluce à mon problème !

Si tu insistes dans cette voie, cherche du côté des mecanismes d'activation, en plus de la clef de license.

Cheers

Publié : jeu. 02/juil./2009 10:12
par Kwai chang caine
T'es vraiment sûr que tu veux pourrir la vie de tes futurs acheteurs ?
Non non, mais ce n'est pas tout a fait le meme contexte.
Moi je bosse pour des clients qui sont tous de ma boite.
Donc pas de probleme du genre que tu m'explique :wink:

Publié : jeu. 02/juil./2009 10:31
par TazNormand
kerkael a écrit :Salut,

Pour mettre mon grain de sel, qui saurait m'expliquer la différence entre le déblocage par clef de license, du système d'activation sur internet.
Windows a besoin d'une clef de license pour que l'on procède à l'installation, mais il faut EN PLUS l'activer sur le net. Quel mécanisme utilise l'activation ?
Le n° de série (CD KEY ou n° de licence) permet de qualifier le type de licence de ton logiciel (concernant Windows), à savoir, une version Home/Pro/Corporate...

Quant tu installes ton logiciel, il génère un GUID (Globally Unique IDentifier) par rapport au matériel, c'est le n° que tu dois donner quand tu téléphones à MicroSoft pour activer ton Windows, ou qui est envoyé sur le Net si activation en ligne.

C'est pour cela que tu dois réactiver ton Windows si tu changes plus de 2 matériels sur ton PC (je crois que c'est 2), car le GUID est différent de celui initialement calculé sur ton PC.

Le fait d'installer une version Corporate de Windows évite l'activation, car pour rappel, Corporate est synonyme de licence en volume (VLK) = un même n° de licence (CD KEY) pour x postes dans une entreprise.

mais même le fait d'activer en ligne son logiciel est "détournable", il n'y a qu'à regarder les versions de Windows XP sur les sites pirates.

Publié : jeu. 02/juil./2009 14:41
par kerkael
Merci de toutes ces précisions.

Me reste plus qu'à trouver un moyen de détourner l'activation de ce produit, mon simulateur de modèle réduit, alors que je l'ai acheté ... Pour info, ils sont vraiment nuls chez easyfly / ikarus.

Kerky