Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Discussion: Cadeau PDU Mode SMS

  1. #1
    Membre actif
    Homme Profil pro Gerem
    Développeur informatique
    Inscrit en
    février 2011
    Messages
    157
    Détails du profil
    Informations personnelles :
    Nom : Homme Gerem
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2011
    Messages : 157
    Points : 184
    Points
    184

    Par défaut Cadeau PDU Mode SMS

    Bonjour à tous, j'ai récemment travaillé sur le mode PDU.. Pour ceux qui ne savent pas ce que c'est, c'est le mode de cryptage d'informations pour envoyer un SMS.. Le but est d'envoyer un sms à partir de son ordinateur

    Je vais essayer d'être assez clair dans mes explications

    Chaque lettre avant d'être envoyé est :
    - remplacée par sa valeur ASCII
    - Ensuite traduite en Binaire mais sur 7 bits
    - Ensuite traduire le binaire 7 bits sur une base 7 de 8 bits (et c'est la que c'est drôle ^^ )
    - Pour finalement le traduire en Hexadécimal et envoyé l'infos.

    Les sources :
    http://www.dreamfabric.com/sms/ (pour l'envoi complet d'un sms)
    http://www.dreamfabric.com/sms/hello.html (pour la base 7 sur 8 bits)

    En principe mon code est prévu pour que peu importe la taille du sms il passe.. Je n'ai pas encore su faire TOUT les tests.. Mais il semble plus que correct. Et par solidarité je vais le poster non pas pour ceux qui seront fainéant de le faire un jour, mais pour ceux qui après de longues recherches auront trouvés que très peu d'infos utiles..

    (Veuillez excuser si par endroit il n'est pas le plus optimisé des codes mais s'y retrouver n'était pas une mince affaire ^^)

    la partie conversion de l'ascii au binaire ne sera pas présentée car elle est en soi assez simple ^^

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    sChai1, sChai2, sChai3, sChai4 sont des chaîne ANSI
    i, nDim1, k, j, m est un entier = 0
    nTest est un entier 
    nCompt,nCompt2 est un entier
    nDim1 = (Taille(LIB_Bin)/7)
    tab1 est un tableau de nDim1 chaînes ANSI
    tab2 est un tableau de nDim1 chaînes ANSI
    
    LIB_Hexa = ""
    POUR i = 0 _A_ nDim1
    	// On va lire les 7 bits
    	sChai1 = Lecture7Bit(i)
    	// On tronque les M bits à droites
    	sChai2 = TruncD(sChai1, m)
    	// On tronque les M bits à gauche
    	sChai3 = TruncG(sChai1, m)
    
    	nTest = modulo(i,8)
    	SI nTest = 0 ALORS
    		m = 0
    	FIN
    	m++
    	
    	SI i <> 0 ALORS
    			j++
    			tab2[j] = sChai2	
    	FIN
    	k++
    		SI k < nDim1+1 ALORS
    				tab1[k] = sChai3 
    		FIN
    FIN
    POUR i = 1 _A_ nDim1
    	SI i+1 <= nDim1 ALORS
    		SI tab1[i+1] <> EOT  ALORS
    			sChai4 += tab2[i] + tab1[i]
    		SINON
    			sChai4 += tab2[i+1] + tab2[i]
    			tab1[i+1] = ""
    			tab2[i+1] = ""
    		FIN
    	SINON
    		sChai4 += tab2[i] + tab1[i]
    	FIN
    FIN
    //Affiche résultat
    LIB_B7 = sChai4
    
    nCompt = Taille(sChai4)
    nCompt = nCompt/ 8
    nCompt2= modulo(Taille(sChai4),8)
    
    proc_Hexa(nCompt,nCompt2)
    La procédure lecture7bits
    Code :
    1
    2
    3
    4
    5
    6
    sLChaine est une chaîne = LIB_Bin
    sResul est une chaîne ANSI
    
    sResul = Milieu(sLChaine, (Ind*7 + 1), 7)
    
    RENVOYER sResul
    La procédure truncD
    Code :
    1
    2
    3
    4
    sMResult est une chaîne ANSI
    
    sMResult = Droite(mChaine, Ind)
    RENVOYER sMResult
    La procédure truncG
    Code :
    1
    2
    3
    4
    5
    sDResult est une chaîne ANSI
    
    sDResult = Gauche(dChaine, (7 - Ind))
    
    RENVOYER sDResult
    Et enfin la dernière proc_Hexa
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    nInd est un entier = 0
    nTemp est un entier
    nTemp2 est un entier
    
    
    POUR i = 1 _A_ nCompt
    	nTemp = Milieu(LIB_B7,(nInd*8 +1),8)
    	nTemp2 = Val(nTemp,2)
    	LIB_Hexa+= Droite(EntierVersHexa(nTemp2),2)
    	nInd ++
    FIN
    nTemp = Droite(LIB_B7,ncompt2)
    nTemp2 = Val(nTemp,2)
    LIB_Hexa += Droite(EntierVersHexa(nTemp2),2)

    Pour ceux qui ont des questions je suis dispo pour vous répondre, pour ceux qui ont des suggestions je suis tout ouïe..

    Je le répète il est vérifié à 98% .. L'envoi complet de sms n'est pas encore finalisé et la simbox pas encore reçue ^^


    J'espère que ce tuto vous sera très utile.


    Bonne continuation à tous, et long vie à ce forum !
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  2. #2
    Expert Confirmé
    Avatar de frenchsting
    Homme Profil pro Claude
    Développeur informatique
    Inscrit en
    juin 2003
    Messages
    1 955
    Détails du profil
    Informations personnelles :
    Nom : Homme Claude
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 1 955
    Points : 3 286
    Points
    3 286

    Par défaut

    Merci pour ce tuto. Néanmoins, tu aurais du le mettre dans la rubrique "contribuez".
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  3. #3
    Membre actif
    Homme Profil pro Gerem
    Développeur informatique
    Inscrit en
    février 2011
    Messages
    157
    Détails du profil
    Informations personnelles :
    Nom : Homme Gerem
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2011
    Messages : 157
    Points : 184
    Points
    184

    Par défaut

    oups j'ai cherché dans le cadre juste en dessous.. Je vais voir pour le déplacer alors. Merci bien
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  4. #4
    Expert Confirmé
    Avatar de frenchsting
    Homme Profil pro Claude
    Développeur informatique
    Inscrit en
    juin 2003
    Messages
    1 955
    Détails du profil
    Informations personnelles :
    Nom : Homme Claude
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 1 955
    Points : 3 286
    Points
    3 286

    Par défaut

    Y'a pas de mal
    Demande à un modérateur, ça sera plus simple, je pense.
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  5. #5
    Membre du Club
    Inscrit en
    janvier 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : janvier 2008
    Messages : 55
    Points : 58
    Points
    58

    Par défaut

    remarque un peu "light", c'est quoi une simbox, et à quoi sert ta précieuse contribution?

    merci

  6. #6
    Membre actif
    Homme Profil pro Gerem
    Développeur informatique
    Inscrit en
    février 2011
    Messages
    157
    Détails du profil
    Informations personnelles :
    Nom : Homme Gerem
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2011
    Messages : 157
    Points : 184
    Points
    184

    Par défaut

    Simbox est une plate-forme logicielle basée sur PC offrant la possibilité de créer, modifier, gérer et déployer du contenu basée sur la simulation - avions, voitures, bateaux, armes, matériel d'apprentissage électronique et plus - à travers une multitude de domaines, tels que la formation, la recherche & développement, les opérations d'analyse et de divertissement.

    En somme elle va permettre d'envoyer des SMS à partir du pc..

    L'ordinateur communique un SMS à la Simbox et lui l'envoie vers le centre de messagerie qui enverra le message au destinataire souhaité.

    Ma contribution servira à tout ceux qui auront besoin d'envoyer des SMS à partir d'un pc..

    Cela évitera de se prendre la tête à décortiquer chaque démarche à faire pour codifier le SMS.
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  7. #7
    Invité de passage
    Homme Profil pro
    Inscrit en
    juin 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juin 2012
    Messages : 49
    Points : 3
    Points
    3

    Par défaut

    Salut à tous,

    Je relance ce topic car il me semble que j'ai un petit problème pour envoyer un SMS en multi partie

    En fait, selon ce topic : http://hiteshagja.com/send-long-sms/ pour envoyer un SMS en multi-partie il faudra passer par deux étapes :
    1) L'ajout de UDH
    2) Ajout d'un bit de padding pour l'encodage 7bits PDU

    Mon problème c'est comment ajouter ce bit de padding dans le code de GiGii

    Merci à tous

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •