Premières investigations pour MSSQL
Je vient donc de commencer à tripatouiller MSSQL.
Coté connexion, ca se passe sur le port 1433 biensure.
Par contre, il faut savoir que MSSQL utilise un protocole fabriqué par Microsoft: Tabular Data Stream.
Son abréviation est donc TDS, et c’est ce que je peux voire dans WireShark quand je sniff une session MSSQL.
Heureusement, Microsoft a ouvert les specs: http://msdn.microsoft.com/en-us/library/cc448435.aspx
Mon but est de réussir à utiliser ce protocol uniquement pour effectuer la connexion, puis la partie Login, mot de passe.
Il y a donc du boulot ! ![]()
Version 0.1.3 disponible !
Et voici la version 0.1.3 !
La suite des opération: Implémentation du MSSQL ! ![]()
Les Threads sont devenus Objet !
Ca y es !
La gestion des threads dans zxScan sont devenu enfin Objet !
Ils sont implémenté dans la version 0.1.3.
Dans les version inférieure à la 0.1.3, les threads étaient géré exactement comme en C.
Une bête boucle For, pthread_create() puis une deuxième boucle For avec pthread_join().
Maintenant, j’ai créé une classe qui permet de gérer tout les threads, mais la méthode executé par les threads se trouve dans le main.cpp
Pour ceux qui utilise simplement zxScan, pas de changements. Mais pour ceux qui s’interesse au code pure, gros changement ! ![]()
Problème Mulicoeur résolut !
Bon enffet tout venais de l’écriture du fichier de log!
Lorsque je lancais zxScan avec l’option -x ( désactiver le fichier de log ), là tout fonctionnait parfaitement.
J’ai donc ajouté un lock Mutex sur la fonction d’écriture de mon fichier de log, et maintenant tout est rentré dans l’ordre !
Je vais devoir sortir une version pour que vous ne soyez pas embêté par ce petit bug !
zxScan n’aime pas trop le Multi thread / coeur
Le week-end dernier, j’ai changer de PC.
Précédemment j’avais un AMD AthlonXP 3800+ Core venice, et maintenant un AMD Athlon 64 X2 Dual Core 6000+.
Quel à été ma surprise en lancant zxScan !
Le programme plante lamentablement !
Tout vient du fait que les threads utilisé utilisent une fonction ShowDebug().
Cette fonction est donc appelé par tout les threads. Et du moment qu’il y avait qu’un coeur, tout allais bien, et maintenant, il arrive que deux threads appellent en même temps un fonction !
Il me faut donc blinder mon code pour empêcher les threads de planter zxScan