mercredi 3 juillet 2024

MSDeploy (Web Publish) problem with Visual Studio .Net 2022

 I had a problem since yesterday while trying to publish an app.

That solution did not work.

What I tried after asking Perplexity AI is :

1- Launch visual studio in safemode with cmd :

cd C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE

devenv.exe /safemode

Try to open the project I wanted to publish

The project loaded but there was "unloaded" (déchargé in french) next to all the projects

There is a dialogbox showing an error that showed many times (I closed it each time) 

2 - Repeat 1 (all steps) after launching cmd in administrator mode

Open Visual Studio normally.

Publish then works.


vendredi 28 juin 2024

VS 2022: Couldn't install Microsoft.VisualCpp.Redist.14

 If you have this error while trying to install or modify Visual Studio .NET 2022, then when this message is shown on screen you'll have the choice to open the log file. Open it and you may notice that the powershell command for installing this package has not been executed properly.

First of all try to copy and paste the powershell command in a "cmd" launched in admin mode.

Then if it still does not work, try to replace the "powershell.exe" by "pwsh".

It might resolve your issue.

vendredi 24 mai 2024

Fuzzer de port TCP basique en C#

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

using System.Threading;


class Program

{

    static void Main(string[] args)

    {

        if (args.Length < 3)

        {

            Console.WriteLine("Usage: Fuzzer.exe <host> <port> <duration>");

            return;

        }


        string host = args[0];

        int port = int.Parse(args[1]);

        int duration = int.Parse(args[2]);


        try

        {

            using (TcpClient client = new TcpClient())

            {

                client.Connect(host, port);

                NetworkStream stream = client.GetStream();


                DateTime startTime = DateTime.Now;

                while ((DateTime.Now - startTime).TotalSeconds < duration)

                {

                    string fuzzData = GenerateFuzzData();

                    byte[] buffer = Encoding.ASCII.GetBytes(fuzzData);

                    stream.Write(buffer, 0, buffer.Length);


                    Thread.Sleep(100); // Attendre un peu avant de réessayer

                }

            }

        }

        catch (Exception ex)

        {

            Console.WriteLine("Error: " + ex.Message);

        }

    }


    static string GenerateFuzzData()

    {

        StringBuilder sb = new StringBuilder();

        Random rand = new Random();

        int length = rand.Next(10, 100); // Génère une chaîne aléatoire de 10 à 100 caractères


        for (int i = 0; i < length; i++)

        {

            sb.Append((char)rand.Next(32, 126)); // Caractères aléatoires ASCII imprimables

        }


        return sb.ToString();

    }

}

Informations envoyées par une carte bancaire VISA Caisse d'Epargne à la première connexion NFC (RFID)

 ISO/IEC 14443 est une norme internationale qui définit les spécifications pour les cartes à puce sans contact et les lecteurs RFID utilisés pour la communication à courte distance (typiquement jusqu'à 10 cm). La norme est divisée en quatre parties, couvrant les aspects techniques tels que la modulation, la génération de trames, la procédure d'initialisation de la communication et les protocoles de transmission de données.

ISO/IEC 14443 Type A est l'un des deux types de modulation et de protocole de communication définis dans la norme ISO/IEC 14443, l'autre étant le Type B. Les cartes et les lecteurs compatibles avec le Type A utilisent une modulation de type Miller à 100 % avec une porteuse de 13,56 MHz et une modulation d'amplitude pour la transmission des données.

Les caractéristiques clés de l'ISO/IEC 14443 Type A comprennent :

1. Modulation : La modulation de la porteuse est réalisée en utilisant une modulation d'amplitude (AM) avec une modulation de type Miller à 100 %.

2. Fréquence de la porteuse : 13,56 MHz.

3. Débit de données : 106 kbit/s.

4. Protocole de communication : Le protocole de communication Type A utilise un schéma de trames avec un en-tête de préambule, un en-tête de trame (Start-of-Frame, SOF), un champ de données et un en-tête de fin de trame (End-of-Frame, EOF).

5. Sécurité : La norme ISO/IEC 14443 Type A prend en charge des mécanismes de sécurité, tels que l'authentification et le cryptage des données, pour protéger la confidentialité et l'intégrité des informations échangées entre la carte et le lecteur.

Les technologies MIFARE Classic et MIFARE Ultralight sont basées sur la norme ISO/IEC 14443 Type A et sont largement utilisées dans les applications de transport public, les systèmes de cartes à puce, les systèmes de contrôle d'accès, etc.


ATQA (Answer To Request for Answer) est un champ de données envoyé par une carte à puce sans contact ou un élément d'identification par radiofréquence (RFID) en réponse à une demande de communication initiale (appelée "Request") envoyée par un lecteur compatible. L'ATQA est utilisé pour indiquer les capacités de la carte ou de l'étiquette RFID, telles que le type de modulation et le débit de données utilisés pour la communication.

Dans le contexte de la norme ISO/IEC 14443, qui définit les spécifications pour les cartes à puce sans contact et les lecteurs RFID, l'ATQA est un champ de 2 octets (16 bits) envoyé par la carte en réponse à un "Request" envoyé par le lecteur. Les informations contenues dans l'ATQA varient en fonction du type de modulation (Type A ou Type B) et comprennent généralement :

1. Le type de modulation utilisé par la carte (Type A ou Type B).

2. Le débit de données (106 kbit/s pour les types A et B conformes à ISO/IEC 14443).

3. Des informations supplémentaires sur les capacités de la carte, telles que la prise en charge de la rétrodiffusion de puissance et d'autres fonctionnalités.

L'ATQA est une étape importante dans la procédure d'initialisation de la communication entre un lecteur RFID et une carte à puce sans contact, car il permet au lecteur de déterminer les caractéristiques techniques de la carte et de s'adapter en conséquence pour établir une communication efficace et sécurisée.


ATS (Answer To Select) est un ensemble de données envoyé par une carte à puce sans contact ou un élément d'identification par radiofréquence (RFID) en réponse à une sélection de la carte effectuée par un lecteur compatible. L'ATS est utilisé pour fournir des informations sur les capacités de la carte, les paramètres de communication et les services ou applications disponibles sur la carte.

Dans le contexte de la norme ISO/IEC 14443, qui définit les spécifications pour les cartes à puce sans contact et les lecteurs RFID, l'ATS est un ensemble de données envoyé par la carte en réponse à un "Select" envoyé par le lecteur. L'ATS est composé de plusieurs champs de données, dont la taille et le contenu varient en fonction du type de modulation (Type A ou Type B) et comprennent généralement :

1. Le code d'application (Application Identifier, AID) : Un identifiant unique qui permet au lecteur de sélectionner une application spécifique sur la carte.

2. Le champ ATS : Un ensemble de données qui fournit des informations sur les capacités de la carte, les paramètres de communication et les services ou applications disponibles.

3. Le champ d'extension ATS (si présent) : Un ensemble de données supplémentaires qui fournissent des informations complémentaires sur les capacités de la carte et les services disponibles.

L'ATS est une étape importante dans la procédure de communication entre un lecteur RFID et une carte à puce sans contact, car il permet au lecteur de déterminer les caractéristiques techniques de la carte, de sélectionner l'application appropriée et d'établir une communication efficace et sécurisée avec la carte.


UID (Unique Identifier) est un identifiant unique attribué à une carte à puce sans contact ou à un élément d'identification par radiofréquence (RFID). L'UID est généralement stocké dans une zone de mémoire spécifique de la carte ou de l'étiquette RFID et est utilisé par les lecteurs compatibles pour identifier et sélectionner la carte ou l'étiquette RFID lors de la communication.

Dans le contexte de la norme ISO/IEC 14443, qui définit les spécifications pour les cartes à puce sans contact et les lecteurs RFID, l'UID est un ensemble de données qui peut varier en taille, généralement de 4 à 10 octets (32 à 80 bits). L'UID est unique pour chaque carte ou étiquette RFID et est généré lors de la fabrication de la carte ou de l'étiquette.

L'UID est utilisé pour identifier et sélectionner une carte ou une étiquette RFID spécifique lors de la communication avec un lecteur compatible. Une fois que le lecteur a sélectionné la carte ou l'étiquette RFID en utilisant l'UID, il peut établir une communication avec la carte ou l'étiquette pour lire ou écrire des données, effectuer des opérations d'authentification, etc.

Il est important de noter que l'UID est souvent considéré comme une information sensible, car il peut être utilisé pour identifier et suivre des cartes ou des étiquettes RFID individuelles. Par conséquent, il est important de protéger l'UID et d'appliquer des mesures de sécurité appropriées pour prévenir les accès non autorisés et les attaques de type "skimming" ou "cloning".

jeudi 22 février 2024

Qu'est-ce qu'un Lead Developer ?

 Un Lead Developer, également connu sous le nom de "Chef Développeur" ou "Responsable Développement", est un développeur expérimenté qui assume un rôle de leadership au sein d'une équipe de développement logiciel. Le rôle d'un Lead Developer va au-delà de la simple programmation ; il implique également la gestion technique de projet, la coordination des activités des développeurs, la prise de décision technique, la résolution de problèmes complexes, la définition des standards de codage et la collaboration avec d'autres équipes telles que les équipes de design, de test et de production.

Les responsabilités principales d'un Lead Developer comprennent généralement :


  1. Gestion technique: Diriger les efforts techniques pour développer et maintenir des applications, assurer la qualité du code et veiller à l'adoption de bonnes pratiques de développement.

  2. Coordination de l'équipe: Superviser et gérer les développeurs, affecter les tâches, assurer le suivi du progrès et résoudre les problèmes d'alignement.

  3. Communication: Communiquer avec les parties prenantes, y compris les clients, les product owners et les autres équipes, pour définir les besoins et les attentes.

  4. Architecture et conception: Concevoir l'architecture logicielle, définir les modèles de conception et les choix technologiques, et assurer l'extensibilité et la maintenabilité du système.

  5. Résolution de problèmes: Identifier et résoudre les problèmes techniques complexes qui peuvent survenir lors du développement.

  6. Formation et mentorat: Aider à former et à guider les membres de l'équipe dans leur développement professionnel.

  7. Intégration et déploiement: Participer à la planification et à la gestion des processus d'intégration continue et de déploiement.


En résumé, un Lead Developer est un développeur senior qui assume des responsabilités supplémentaires de gestion et de direction technique au sein d'une équipe de développement. Ils jouent un rôle crucial dans la réussite des projets logiciels en veillant à ce que les équipes fonctionnent efficacement et en choisissant les meilleures solutions techniques.

mardi 6 février 2024

Les fichiers .VsIdx dans Visual Studio

 Le fichier `.vsidx` est un fichier d'index spécial utilisé par Visual Studio pour stocker des informations sur les symboles dans les fichiers de code source. Il est généralement associé à des fichiers `.cs`, `.cpp`, `.h`, `.hpp`, etc., et contient des informations sur les déclarations de fonctions, les classes, les variables, les espaces de noms, etc., ainsi que leurs emplacements dans le code source.

Ce fichier est généré automatiquement par Visual Studio lorsque vous ouvrez un projet et il est utilisé pour améliorer les performances de la fonctionnalité IntelliSense, la navigation dans le code et la recherche de symboles.

Il est important de noter que `.vsidx` est un fichier binaire et il n'est pas destiné à être modifié manuellement. Visual Studio gère son contenu internement et ne devrait pas être supprimé ou modifié par l'utilisateur.

Si vous rencontrez des problèmes avec `.vsidx`, comme des problèmes de performances ou des problèmes de navigation dans le code, vous pouvez essayer de supprimer le fichier et de redémarrer Visual Studio. Cela forcera Visual Studio à recréer l'index, ce qui peut résoudre les problèmes. Cependant, gardez à l'esprit que cela peut réduire temporairement les fonctionnalités de productivité de Visual Studio.

lundi 5 février 2024

How to delete an IIS App Pool that is locked because apps are linked to it

 https://stackoverflow.com/questions/25814925/how-are-applications-removed-from-the-iis-application-pool

  1. Go to folder
    cd C:\Windows\system32\inetsrv
  2. List all applications to get the correct APP.NAME
    .\appcmd list app
  3. Delete the application using fullname for <APP.NAME>.
    Ex.: "Default Web Site/The.Application".
    I mean, you must put it with web site name including the double-quotes.
    .\appcmd delete app <APP.NAME>

jeudi 3 août 2023

Les matériels vendus par Cellebrite

 Cellebrite vend une gamme de matériels et d'outils pour l'analyse forensique numérique, destinés aux enquêteurs, aux forces de l'ordre et aux professionnels de la sécurité informatique. Voici quelques exemples de matériels vendus par Cellebrite :

UFED (Universal Forensic Extraction Device) : il s'agit d'un outil d'extraction de données forensiques capable d'extraire des données à partir de téléphones mobiles, de tablettes, d'ordinateurs portables, de GPS et d'autres appareils électroniques. UFED est équipé d'une suite d'outils d'analyse avancés pour aider les enquêteurs à trier, filtrer et visualiser les données extraites.

UFED Touch2 : il s'agit d'un outil d'extraction de données forensiques portable qui permet aux enquêteurs de collecter des données sur le terrain. UFED Touch2 est équipé d'une interface tactile intuitive et prend en charge une grande variété d'appareils électroniques.

UFED InField : il s'agit d'un outil d'extraction de données forensiques destiné aux enquêteurs sur le terrain. UFED InField est équipé d'une suite d'outils d'analyse avancés pour aider les enquêteurs à trier, filtrer et visualiser les données extraites.

Physical Analyzer (PA) : il s'agit d'un outil d'analyse forensique numérique qui permet aux enquêteurs d'extraire, d'analyser et de déchiffrer des données à partir de téléphones mobiles, de tablettes et d'autres appareils électroniques. PA est équipé d'une suite d'outils d'analyse avancés pour aider les enquêteurs à trier, filtrer et visualiser les données extraites.

Analytics Desktop : il s'agit d'un outil de visualisation des données forensiques qui permet aux enquêteurs de visualiser les données extraites à partir de différents appareils électroniques sous forme de graphiques et de tableaux. Analytics Desktop permet aux enquêteurs de détecter des schémas et des tendances dans les données extraites.

En somme, Cellebrite vend une gamme complète de matériels et d'outils pour l'analyse forensique numérique, destinés à aider les enquêteurs, les forces de l'ordre et les professionnels de la sécurité informatique à extraire, analyser et déchiffrer des données à partir d'une grande variété d'appareils électroniques.

Format de fichier .CLBE (PA ULTRA/Cellebrite)

 Le format de fichier .clbe est un format de fichier propriétaire utilisé par Cellebrite pour stocker les données extraites à partir des appareils électroniques à l'aide de ses outils d'analyse forensique numérique, tels que PA ULTRA. Les fichiers .clbe contiennent une grande quantité d'informations, y compris des données de l'appareil, des données de l'utilisateur, des messages texte, des appels, des contacts, des images, des vidéos et d'autres types de fichiers.

Les fichiers .clbe sont conçus pour être utilisés avec les outils d'analyse forensique numérique de Cellebrite, tels que PA ULTRA, pour permettre aux enquêteurs et aux professionnels de la sécurité informatique d'analyser et de déchiffrer les données extraites à partir des appareils électroniques. Les fichiers .clbe peuvent être ouverts et analysés à l'aide des outils d'analyse forensique numérique de Cellebrite, qui permettent aux enquêteurs de rechercher des données spécifiques, de trier les données par type et de générer des rapports détaillés.

Il convient de noter que les fichiers .clbe sont des fichiers propriétaires et ne peuvent être ouverts ou analysés qu'à l'aide des outils de Cellebrite. Si vous souhaitez partager les données extraites avec d'autres enquêteurs ou professionnels de la sécurité informatique qui n'utilisent pas les outils de Cellebrite, vous devrez exporter les données dans un format différent, tel que le format CSV ou XLSX.


La solution PA ULTRA de Cellebrite.

 La solution PA (Physical Analyzer) ULTRA de Cellebrite est un outil d'analyse forensique numérique destiné aux enquêteurs, aux forces de l'ordre et aux professionnels de la sécurité informatique. La solution permet d'extraire, d'analyser et de déchiffrer des données à partir de téléphones mobiles, de tablettes et d'autres appareils électroniques.

PA ULTRA est capable de récupérer des données à partir de plus de 30 000 modèles d'appareils différents, y compris les téléphones Android et iOS, les tablettes, les GPS, les drones et les ordinateurs portables. La solution permet également d'extraire des données à partir de cartes SIM, de cartes SD et de stockages internes.

La solution PA ULTRA est équipée d'une suite d'outils d'analyse avancés qui permettent aux enquêteurs de rechercher des données spécifiques, de trier les données par type et de générer des rapports détaillés. Les outils d'analyse incluent des fonctions de tri, de filtrage, de recherche et de visualisation des données.

PA ULTRA est également équipé d'outils de déchiffrement pour récupérer des données à partir d'appareils protégés par un mot de passe ou cryptées. La solution prend également en charge la récupération de données à partir des applications tierces telles que WhatsApp, Facebook et Instagram.

En somme, la solution PA ULTRA de Cellebrite est une solution complète pour l'analyse forensique numérique qui permet aux enquêteurs et aux professionnels de la sécurité informatique d'extraire, d'analyser et de déchiffrer des données à partir d'une grande variété d'appareils électroniques.