Page 2 sur 4

Publié : mar. 19/sept./2006 8:45
par brossden
Vous êtes dur avec moi mais il est vrai que le Copier / Coller c'est mal passé.
Les grincheux font rarement avancer le Schmilblik, une simple remarque est plus pertinante. :evil:
Le bon code est :

Code : Tout sélectionner

#src=0
#dst=1
Lg=0
source$=OpenFileRequester("Fichier traité","*.*","*.*",1)
destin$=SaveFileRequester("Fichier à traiter","dump.hex","*.*",1)
temps = GetTickCount_()
If source$>""
  If destin$>""
    OpenFile(#src,source$)
    CreateFile(#dst,destin$)
    Lg = Lof(#src)
    If Lg>0
      *Source=AllocateMemory(Lg)
      *Destin=AllocateMemory(Lg*3)
      ReadData(#src,*Source,Lg)
      For n=0 To Lg
        m=n*3
        dec=PeekC(*Source+n)
        H=(dec/16)+48
        If H>57 : H+7 :EndIf
        b=(dec%16)+48
        If b>57 : b+7 :EndIf 
        PokeW(*Destin+ m,(H*256)+b)
        PokeC(*Destin+ m+2,44)
      Next
      WriteData(#dst,*Destin,Lg*3) ;>>>>>>>>>>>>>>>>> L'erreur était ici "Lg*3" au lieu de "Lgd"
      
    EndIf
  EndIf
EndIf
CloseFile(#src)
CloseFile(#dst)
MessageRequester("Etat du programme", "Conversion finie " +Str( GetTickCount_()-temps )+" ms") 

Publié : mar. 19/sept./2006 18:39
par Patrick88
SPH a écrit : A propos, quel est son interet ?? celui de passer un logiciel par l'intermediaire de texte ????
au moment ou tu as posé la question, je me suis demandé pourquoi j'avais pu avoir besoin d'un truc comme ça :?

je me sert de ce machin pour avoir directement dans mon code source des extraits d'un fichier que je suis en train de convertir, d'importer... etc
plus facile que d'avoir une page hexadécimale dans une autre fenêtre, cela permet de commenter les blocs ...

ça va je suis pas complétement gaga... ouf !

patrick

Publié : mar. 19/sept./2006 21:24
par andrebernard
Bonjour

En reponse a SPH c'est bien ce que tu as compris que j'essaie de realiser avec mes 2 petits neurones purebasicien.
Ne connaissant pas grand chose aux pointeurs, gestion de memoire, hexa ... et a la prog avancée, j'ai trouvé cette solution.

Par contre si tu as un code tres bien commenté (je répete j'ai que 2 neurones) je suis preneur, evidemment.il n'y a que les imbeciles qui ne change pas d'avis.

J'ai aussi utilisé cette methode car je suis quasi sûr que l'on ne peut pas decoder puisque la clef sert directement à incrementer chaque caractere donc si une seule lettre de la clef est fausse cela se repercute X fois sur le fichier. Je ne vois pas comment meme les service secrets pourrait trouver cette parade (je sais, je suis un peu pretentieux).

Enfin si quelqu'un trouve alors la chapeau bas.Tout ce qui est codage algorithmique a X ..bit je n'y connait rien non plus, donc j'ai pas confiance, car meme compliqué un cryptage se decode si c'est à base d'algorithme, alors que ds mon cas je le repete, pas de math, juste une modification de chaque lettre par un caractere inconnu et qui n'est que ds la tete de la personne qui connait la clef, donc meme en assembleur pas la peine de la chercher dans le code de l'exe.

Pour repondre au genial denis, moi j'ai rien dit ......et surtout pas grogné car je ne me permettrais jamais de critiquer quelqu'un qui viens en aide au plus faible. L'erreur est humaine et il n'y a que ceux qui ne font rien.....etc.
Encore merci de ton code qui ne marchait pas non plus chez moi, et surtout merci de sa correction.

Voila passez tous une excelente soirée.
Vive le forum et les forumiens
Et milles merci

Publié : mar. 19/sept./2006 22:14
par SPH
@andrebernard : je te suggere de virer toutes ces virgules qui ne servent a rien d'autre que de bouffer 1/3eme de place...

Publié : mer. 20/sept./2006 1:01
par Backup
pour ton algo , il a ete etabli que X pourcent de "A" etait present dans la langue française , ainsi que x pourcent de "E" , de "I" ainsi de suite pour toute les lettres de l'alphabet !!
connaissant ces pourcentage , il surfit de regarder dans ton fichier crypter, le pourcentage de lettre s'y trouvant, et si par exemple le pourcentage de "8"
se trouvant dans ton fichier crypté
est egale au pourcentage de "A" (qui lui est connu) , on peut en deduire que
le caractere "8" represente en faite un "A" , en faisant comme ça pour toutes les lettres, on peut assez facilemet retrouver qu'el caractere remplace tel autres ....

et ainsi reconstituer la clef :D

en plus , j'ai cru comprendre qu'il sagit de crypter une page Html..
alors c'est encore plus simple puis qu'une page html, dispose de nom de balise , qui sont bien connu , et donc se serai encore plus facile :D


pour ton info sache que ce system de cryptage est bien connu, il a ete utilisé pour des images de cul que l'on trouve dans les CD de certains magazines , ou pour apercevoir l'image il fallait aller sur le 3617 machinchose , et tu recuperai un mot de passe qui servait a décrypter l'image !!
il y a belle lurette que l'algo est tombé !!

le premier essai a ete de regarder l'entete de l'image, en effet l'entete d'un JPG est constant ,en faisant une petit operation booléene entre l'entet
crypté et l'entete clair, on ressortai la clef !! :D
parut dans Pirate Mag.... :D

tous ce qu'une addition peut faire , une soustraction peut le defaire ...

Publié : mer. 20/sept./2006 6:18
par SPH
@dobro : il ne s'agit pas de crypter une page html mais de concevoir une nouvelle norme. Et je suis completement daccord avec toi que cette facon de "crypter" ses données est tres facile a pirater !!

Publié : mer. 20/sept./2006 9:12
par Anonyme
si il sagit de concevoir une nouvelle norme, alors pourquoi ne pas faire un langage interprété ? j'avais commencer un truc similaire, le "lecteur" télécharge le fichier en mémoire (ou temp) puis il parse les infos, c'est assez complexe à réalisé par contre.

Publié : mer. 20/sept./2006 10:45
par SPH
Cpl.Bator a écrit :c'est assez complexe à réalisé par contre.
Oui, j'imagine...
Bin, si tu as encore ton code, tu peux le proposer...

Publié : mer. 20/sept./2006 11:06
par Anonyme
Malheureusent non, je l'aurais fait si j'avais encore mes sources, mais suite à un problème "technique" , j'ai tout perdu :cry:
http://purebasic.forum-gratuit.com/view ... c&start=15
Sinon, voici les grandes lignes :
IE,Firefox, ect, interprète le html, donc pour faire de meme , il faut déjà penser à la syntaxe de ton langage.
Tout dabord, il faut décomposer les grandes étapes.

- Ecriture de ton langage
- Parsing du code
- Execution du code

Le parsing est simple, tu récupères toutes les lignes de code, que tu stocke dans un tableau ou une liste chainée. si ton langage permet de déclarer des variables, c'est ici qu'il faut le faire.

Code : Tout sélectionner

Structure Parser
 CMD$
 Ligne.l
 etc...
endstructure

global newlist Code.Parser()
Donc tu stocke la source dans Code()\CMD$, tu supprimmes les caractères inutiles si il le faut, tu stocke aussi le numéro de ligne (utile pour les saut, boucle, if/endif,etc...)

Ensuite l'execution du code, c'est simple aussi , un coup de Foreach...

Code : Tout sélectionner

Foreach Code()

If Code()\CMD$="END"
End
endif

Etc...

next
Bon , là c'est vraiment la base, à toi d'appronfondir la chose, dommage que je n'ai plus de source sous la main, car je pouvais gerer des plugins.
Je m'y remetrais p'tete un jour.

@++

Publié : mer. 20/sept./2006 15:31
par andrebernard
Bonjour

En reponse a SPH, j'essaie d'ecrire pour que l'on me comprenne le mieux, peut etre que les virgules te gene, mais elles sont souvent tres utiles pour la comprehension d'une phrase.
En plus je ne savais pas que ce forum faisait aussi ds la grammaire.
Apparement pas non plus dans l'orthographe d'apres ce que je peut lire dedans.
D'ailleur si j'avais voulu qu'on corrige mon ecriture (pas terrible je le reconnais) ce n'est pas sur ce forum que je serais allé, mais sur celui de pivot.
En attendant je prend de la place, mais pas plus que la remarque que tu m'a faite.Pour finir cette discussion j'aurais préféré que tu me trouve une solution, car tu n'a pas encore pour l'instant bien fait avancer le schmilblick, mais je suis quand meme toutes oreilles ouvertes si tu as une idée.

Ceci dit parlons de choses interessantes et utiles :

Pour le GRAND DOBRO, tu m'epateras toujours.
J'ai donc bien fait d'en parler, c'est vrai on se croit toujours le meilleur et le seul a avoir trouvé un super cryptage.
Ce qui m'etonne un peu c'est que j'ai un peu de mal a comprendre comment on peut faire pour avoir ds pourcentages, puisque chaque lettre est additionné avec une des lettres de la clef, puis apres c'est a la suivante, donc on a jamais la meme addition...
Mais quoi qu'il en soit je te fait confiance, vu ton niveau, et je vais revoir ma copie en utilsant tes precieux conseils.

Par contre c'est pour coder des pages HTML mais en texte sans les balises donc c'est qd meme un peu moins simple.

Merci d'avoir eclairé ma modeste boutique de ta puissante lumiere.

Pour CPL.bator c'est hyper interessant ce que tu as posté, mais j'ai pas tout compris, en particulier "parser" ça veut dire quoi ???
J'essaierais de lire les liens que tu as fournis, merci aussi de ton aide.

Bonne journée a tous

Publié : mer. 20/sept./2006 15:46
par Anonyme
Le parser est l'analyseur de ton code. Parsing = Analyse

Voici un exemple d'un langage factice (Avant le parsing):

Code : Tout sélectionner

  

Declare Mavariable = 50

Pour A = 0 a 100

      Affiche "HELLO WORLD!  "
       Calcul Mavariable + 10

         Suivant A

/* LIGNE DE COMMENTAIRES.....
/* LIGNE DE COMMENTAIRES.....
/* LIGNE DE COMMENTAIRES.....
/* LIGNE DE COMMENTAIRES.....


       Affiche Mavariable   :   FinDuProgramme



Comme on peut le constater l'indentation est là pour rendre la vie facile du programmeur, ainsi que les commentaires.

Voici après le parsing :

Code : Tout sélectionner

  
Declare Mavariable=50
Pour A = 0 a 100
Affiche "HELLO WORLD!  "
Calcul Mavariable + 10
Suivant A
Affiche Mavariable
FinDuProgramme



Dans mon cas, je profitais du parsing pour déclarer mes variables.
je vire aussi toutes les lignes inutiles ainsi que les commentaires et les espaces en trop.

@++

Publié : mer. 20/sept./2006 17:03
par Patrick88
cpl Bator, pourrais tu créer un nouveau post sur "parsing, langage interprété"

c'est un sujet qui m'intéresse, et ça serait plus facile à suivre

patrick

Publié : mer. 20/sept./2006 17:47
par Anonyme
Il faut que je mis remette, car j'ai plus de source du tout :cry: tout est de tête, Je ferais un exemple commenté que je posterais :wink:

Publié : mer. 20/sept./2006 18:02
par SPH
andrebernard a écrit :Bonjour

En reponse a SPH, j'essaie d'ecrire pour que l'on me comprenne le mieux, peut etre que les virgules te gene, mais elles sont souvent tres utiles pour la comprehension d'une phrase.
Je n'ose te dire de faire fonctionner tes 3 neurones... Alors, a defaut, je vais repeter EXACTEMENT ce que tu ne sembles pas prendre en compte :

@andrebernard : je te suggere de virer toutes ces virgules qui ne servent a rien d'autre que de bouffer 1/3eme de place...

Publié : mer. 20/sept./2006 18:08
par Anonyme
:??:
je ne comprend pas ta reaction SPH...
d'ailleurs je te trouve étrange en ce moment, le MP que tu m'as envoyer sans bonjour ni au revoir ni le pourquoi du comment , juste une question... m'a paru assez bizarre.