• [^] # Re: Différence entre les langages

    Posté par (site web personnel, Mastodon) . En réponse au lien J'avoue que je n'avais pas pensé à ce type d'utilisation quand je me suis mis à Nim. Évalué à 3.

    Les antivirus détectent des "signatures" assez vagues finalement. Par exemple, la plupart des exécutables compressés sont détectés comme suspects. Avoir un compilateur qui utilise des instructions un peu différentes ou pas mises dans le même ordre peut alors être suffisant pour échapper à ce type de détection générique.

    Mais je pense que l'argument est plutôt du côté des outils d'ingénierie inverse comme Ghidra. Ce genre d'outil connaît le fonctionnement des compilateurs courants, et permet par exemple de regénérer du code C++ à partir du binaire, en détectant les vtable car le code pour y accéder est facilement reconaissable. Si un hrogramme utiliseun autre langage, il faut développer les outils nécessaires dans Ghidra (ou équivalent) pour reconnaître les bouts de codes typiques et regénérer un code source lisible correspondant.

    On doit pouvoir s'y retrouver à peu près sans ça (en générant un truc qui ressemble à du C) mais ça sera moins lisible. Par exemple il peut y avoir des pointeurs de fonctions dans tous les sens. Oubien des trucs qui ne se représe/tent pas bien en C, comme des coroutines.

    Rien de vraiment bloquant, mais ça fait perdre du temps (ou gagner du temps pour l'attaquant).