Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2019-12-25T11:33:06+01:00Les derniers messages parus sur le forum de Zeste de Savoir.problème de compilation wxWidgets, message #2125062019-12-25T11:33:06+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=2#p212506<p> Ces options et ce cadre là ?</p>
<figure><img src="/media/galleries/8843/5f53455e-c986-4422-bb62-56ba78f70f31.png" alt="image.png"><figcaption>image.png</figcaption></figure>
<p>Bien entendu j’ai changez le <code>[-std=c++14</code>] en <code>[-std=c++17]</code>.</p>utiliser une bibliothèques, c++, message #2125012019-12-24T23:46:59+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212501<p>Merci de t’a réponse <a href="/membres/voir/sgble/" rel="nofollow" class="ping ping-link">@<span class="ping-username">sgble</span></a>,
je shouterais générer des paires de clé public et privée et je pense que la fonctions adapter est <code>int EC_KEY_generate_key(EC_KEY *key);</code> mais je ne sais pas comment l’utliser et j’ai du mal a comprendre la doc openssl, voici ce qui est dit dans la doc :</p>
<p>EC_KEY_generate_key génère une nouvelle clé publique et privée pour l' objet eckey fourni . eckey doit avoir un objet EC_GROUP associé avant d’appeler cette fonction. La clé privée est un entier aléatoire (0 <clé_privée <ordre, où ordre est l’ordre de l’objet EC_GROUP). La clé publique est un EC_POINT sur la courbe calculé en multipliant le générateur de la courbe par la clé privée.</p>
<p>Pouvez vous m’aidez svp ? Il n’ya aucun tuto sur l’utlisation d’openssl <img src="/static/smileys/pleure.png" alt=":'(" class="smiley"> </p>problème de compilation wxWidgets, message #2124942019-12-24T16:51:15+01:00QuentinC/@QuentinChttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=2#p212494<blockquote>
<p>Je ne sais pas, je n’utilise pas C::B. Mais à mon avis, il faudra mettre les options "à la main" dans un cadre prévu à cet effet. </p>
</blockquote>
<p>JE n’utilise pas non plus CodeBlocks, mais je pense aussi.</p>
<p>Je suis même d’avis que ça sera sûrement plus simple de déplacer les fichiers dans le bon dossier, plutôt que de chercher comment paramétrer ton projet.
Par exemple chez moi sous windows, à l’emplacement C:\MinGW\i686-w64-mingw32, il y a trois dossiers bin, include et lib. En déplaçAnt le dossier wx avec les .h dans include\wx, et en mettant les libwx###.a dans lib, je n’ai ensuite plus rien d’autre à préciser que je veux linker avec wxWidgets, i.e. -lwxbase31u -lwxmsw31u_core.a etc. et ça compile.</p>utiliser une bibliothèques, c++, message #2124862019-12-24T14:23:06+01:00sgble/@sgblehttps://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212486<p>Si tu es sous un Unix, la doc est accessible dans les pages <code>man</code>.</p>
<p>Par exemple, <code>man crypto</code> donne :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-shell">CRYPTO(7SSL) OpenSSL CRYPTO(7SSL)
NAME
crypto - OpenSSL cryptographic library
SYNOPSIS
See the individual manual pages for details.
DESCRIPTION
The OpenSSL crypto library implements a wide range of cryptographic algorithms used in various Internet standards. The services
provided by this library are used by the OpenSSL implementations of SSL, TLS and S/MIME, and they have also been used to implement SSH,
OpenPGP, and other cryptographic standards.
</code></pre></div>
<p>En principe tu as la même chose en version Web ici : <a href="https://www.openssl.org/docs/man1.0.2/man3/">https://www.openssl.org/docs/man1.0.2/man3/</a>
(mais c’est assez indigeste, j’en conviens <img src="/static/smileys/triste.png" alt=":(" class="smiley"> Le mieux serait de trouver un bon livre ou un bon tutoriel qui expose OpenSSL je pense)</p>problème de compilation wxWidgets, message #2124842019-12-24T13:53:44+01:00jo_link_noir/@jo_link_noirhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212484<p>Je ne sais pas, je n’utilise pas C::B. Mais à mon avis, il faudra mettre les options "à la main" dans un cadre prévu à cet effet.</p>utiliser une bibliothèques, c++, message #2124712019-12-23T22:48:23+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212471<p>Ton article est très intéressant surtout que je cherche a comprendre la sécurité informatique,<br>
ton article parle du langage C , il y’a eu le même problème avec C++ ou pas ? </p>
<p>Pertinent mais Cela ne répond pas à ma question : </p>
<p>Comment utilise t-on une bibliothèque comme OpenSSL ? Exemple toi comment tu sais qu’il faut utiliser se code ? N’y a t-il pas une documentation OpenSSL ?</p>
<p>Car je cherche a générer une paire de clé public et privée à partir de l’algorithme EC(courbe elliptique), mais je ne sais pas comment utiliser l’algorithme.</p>problème de compilation wxWidgets, message #2124612019-12-23T19:33:49+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212461<figure><blockquote>
<p>Vu le chemin de la lib, il y a forcément quelque part une configuration qui a été faite pour l’indiqué. L’IDE à tendance à cacher les options du compilateur, mais derrière il utilise <code>-I</code>.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212447">jo_link_noir</a></figcaption></figure>
<p>Et donc comment en le change en <code>isystem</code> stp avec code::blocks</p>problème de compilation wxWidgets, message #2124472019-12-23T17:24:20+01:00jo_link_noir/@jo_link_noirhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212447<figure><blockquote>
<p>Je n’utilise pas cette option mais par habitude j’ai directement mis les headers de wx dans le dossier adéquat, du coup c’est sans doute pour ça que je n’ai aucun warning de mon côté.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212414">QuentinC</a></figcaption></figure>
<p>Probablement, le compilateur est configuré pour chercher les fichiers "système" dans un certains nombres de dossier prédéfinit qui peuvent être affichés avec <code>g++ -v -E fichier_vide.cpp</code>.</p>
<figure><blockquote>
<p>Quel chemin ? Parce que je n’indique pas de chemin avec <code>-I</code> désoler si la question est un peu débile, mais je débute <img src="/static/smileys/siffle.png" alt=":-°" class="smiley"> </p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212417">cerveau</a></figcaption></figure>
<p>Vu le chemin de la lib, il y a forcément quelque part une configuration qui a été faite pour l’indiqué. L’IDE à tendance à cacher les options du compilateur, mais derrière il utilise <code>-I</code>.</p>problème de compilation wxWidgets, message #2124172019-12-23T12:11:57+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212417<p>Quelles chemin ? Parce que je n’indique pas de chemin avec <code>-I</code> désoler si la question est un peut débile mais je débute <img src="/static/smileys/siffle.png" alt=":-°" class="smiley"> </p>utiliser une bibliothèques, c++, message #2124152019-12-23T08:37:34+01:00Ge0/@Ge0https://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212415<p>Salut,</p>
<p>J’avais succinctement utilisé cette bibliothèque pour un programme d’exemple de <a href="https://zestedesavoir.com/articles/100/introduction-aux-buffer-overflows/">mon article sur les buffer overflows</a> :</p>
<div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-c"><span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdio.h></span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><stdlib.h></span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><string.h></span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><openssl/crypto.h></span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">include</span> <span class="hljs-meta-string"><openssl/md5.h></span></span>
<span class="hljs-meta">#<span class="hljs-meta-keyword">define</span> BUFSIZE 40 <span class="hljs-comment">/* Should be enough */</span></span>
<span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(<span class="hljs-keyword">void</span>)</span> </span>{
<span class="hljs-keyword">int</span> access_granted = <span class="hljs-number">0</span>;
<span class="hljs-keyword">char</span> password[BUFSIZE] = {<span class="hljs-string">'\0'</span>};
<span class="hljs-keyword">char</span> hash[<span class="hljs-number">16</span>] = {<span class="hljs-string">'\0'</span>};
<span class="hljs-built_in">printf</span>(<span class="hljs-string">"Enter the password to get the access granted! "</span>);
<span class="hljs-built_in">scanf</span>(<span class="hljs-string">"%s"</span>, password);
MD5_CTX c;
MD5_Init(&c);
MD5_Update(&c, password, <span class="hljs-built_in">strlen</span>(password));
MD5_Final(hash, &c);
<span class="hljs-keyword">if</span>(<span class="hljs-built_in">memcmp</span>(<span class="hljs-string">"\x90\x6d\x6f\x6a\x61\x58\xd6\x9d\x18\x59\x85\x26\x70\xbe\xfb\x08"</span>, hash, <span class="hljs-number">16</span>) == <span class="hljs-number">0</span>) {
access_granted = <span class="hljs-number">1</span>;
}
<span class="hljs-keyword">if</span>(access_granted) {
<span class="hljs-built_in">printf</span>(<span class="hljs-string">"Access granted!\n"</span>);
execve(<span class="hljs-string">"/bin/sh"</span>, <span class="hljs-literal">NULL</span>, <span class="hljs-literal">NULL</span>);
} <span class="hljs-keyword">else</span> {
<span class="hljs-built_in">printf</span>(<span class="hljs-string">"!!! ACCESS DENIED !!!\n"</span>);
}
<span class="hljs-built_in">exit</span>(EXIT_SUCCESS);
}
</code></pre></div>
<p>N’oublie pas d’utiliser la directive <code>-lcrypto</code> lors de l’édition de liens.</p>
<p>Ce programme met en évidence l’exploitation d’une vulnérabilité, n’hésite pas à lire l’article pour la comprendre, c’est assez formateur ! Sans prétention aucune bien sûr…</p>
<p>À+.</p>problème de compilation wxWidgets, message #2124142019-12-23T06:18:56+01:00QuentinC/@QuentinChttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212414<blockquote>
<p>Pour ne pas avoir les avertissements des bibliothèques, il faut indiquer les chemins avec -isystem plutôt que -I. C’est une configuration de l’IDE/système de build. </p>
</blockquote>
<p>Ah, c’est un bon truc à savoir ça; je ne savais pas.</p>
<p>Je n’utilise pas cette option mais par habitude j’ai directement mis les headers de wx dans le dossier adéquat, du coup c’est sans doute pour ça que je n’ai aucun warning de mon côté.</p>problème de compilation wxWidgets, message #2124102019-12-22T23:55:11+01:00jo_link_noir/@jo_link_noirhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212410<p>Pour ne pas avoir les avertissements des bibliothèques, il faut indiquer les chemins avec <code>-isystem</code> plutôt que <code>-I</code>. C’est une configuration de l’IDE/système de build.</p>problème de compilation wxWidgets, message #2124082019-12-22T22:58:48+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212408<p>Merci beaucoup le problème est résolu , après avoir finalement désactiver tous les <code>-Werror</code>.</p>problème de compilation wxWidgets, message #2124052019-12-22T21:00:23+01:00QuentinC/@QuentinChttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212405<blockquote>
<p>Comment on fait pour ignorer/desactiver une erreur </p>
</blockquote>
<p>C’est indiqué dans Le message comment le désactiver. IL faut ajouter l’option (sans les crochets):<br>
<code>[-Werror=old-style-cast]</code></p>
<p>Mais je désactiverais totalement l’option <code>-Werror</code>. Ca transforme tous les warnigns en erreurs, ce qui fait échouer la compilation.
Le mode warning ultra nazi est très utile pour les débutants, mais je pense que tu n’auras pas le choix dans ce cas-ci. </p>
<p>Le fait est que le message provient du code de la bibliothèque. Tu n’es en rien fautif. Donc il faut faire avec…
A moins bien sûr que tu saches comment régler le problème, auquel cas il serait sans doute utile de leur envoyer une merge request. </p>utiliser une bibliothèques, c++, message #2124002019-12-22T16:05:15+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212400<p>Des bibliothèques en général car je pense avoir bien configurer openssl dans mon projet code::blocks, je voudrais donc tester pour savoir si c’est bien le cas.
Un genre de code test comme quand en créer un nouveau projet sur code::blocks il y’a un petit code a compiler.</p>utiliser une bibliothèques, c++, message #2123972019-12-22T14:50:58+01:00sgble/@sgblehttps://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212397<blockquote>
<p>Comment coder en utilisant la bibliothèques, les fonctionnalités de celles-ci ? Comment utiliser une bibliothèque ?</p>
</blockquote>
<p>Ton problème est-il relatif à la bibliothèque OpenSSL, ou bien s’agit-il d’un problème plus général de compréhension du fonctionnement des bibliothèques en C++ ?</p>problème de compilation wxWidgets, message #2123922019-12-22T11:42:19+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212392<p>Merci de t’a réponse <a href="/membres/voir/quentin/" rel="nofollow" class="ping ping-link">@<span class="ping-username">quentin</span></a> </p>
<figure><blockquote>
<p>Pour ton premier problème, revois tes cours de base. IL ne s’agit pas de faire un bête copier-coller, mais d'<strong>intégrer</strong> le code.
Tu l’as collé n’importe où et du coup ça fait n’importe quoi, c’est aussi simple que ça.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212390">QuentinC</a></figcaption></figure>
<p>J’ai corriger le probléme, dans menu -> "project" -> "build options" -> "compiler settings" -> sous onglet "compiler flags" j’ai cocher "…[-std= c++17]" et "…(aka C++17)…"</p>
<figure><blockquote>
<p>Pour le warning, si c’est dans la bibliothèque wxWidgets, il n’y a rien à faire. C’est aux auteurs de wxWidgets de corriger s’il y a lieu.
Sachant que ça ne sera probablement jamais corrigé car 1/ce n’est pas gravissime, 2/wxWidgets est énorme et clairement osef, et 3/wxWidgets a plus de 20 ans et donc c’est normal que certains bouts de code ne soient plus au top.</p>
<p>Vérifie que tu compiles dans la bonne version de C++ (je n’ai pas ce warning en C++17), ou sinon ignore-le. C’est tout.</p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212390">QuentinC</a></figcaption></figure>
<p>Comment on fait pour ignorer/desactiver une erreur et moi je compile en c++17 ? </p>
<p>Parce que moi je suis aller dans menu -> "project" -> "build options" -> "compiler settings" -> sous onglet "compiler flags" puis j’ai décocher tous les warnings mais ça ne marche toujours pas.</p>problème de compilation wxWidgets, message #2123902019-12-22T11:17:34+01:00QuentinC/@QuentinChttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212390<p>Bonjour,</p>
<p>Pour le warning, si c’est dans la bibliothèque wxWidgets, il n’y a rien à faire. C’est aux auteurs de wxWidgets de corriger s’il y a lieu.
Sachant que ça ne sera probablement jamais corrigé car 1/ce n’est pas gravissime, 2/wxWidgets est énorme et clairement osef, et 3/wxWidgets a plus de 20 ans et donc c’est normal que certains bouts de code ne soient plus au top.</p>
<p>Vérifie que tu compiles dans la bonne version de C++ (je n’ai pas ce warning en C++17), ou sinon ignore-le. C’est tout.</p>
<p>Pour ton premier problème, revois tes cours de base. IL ne s’agit pas de faire un bête copier-coller, mais d'<strong>intégrer</strong> le code.
Tu l’as collé n’importe où et du coup ça fait n’importe quoi, c’est aussi simple que ça.</p>utiliser une bibliothèques, c++, message #2123802019-12-21T19:56:34+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13368/utiliser-une-bibliotheques-c/?page=1#p212380<p>Bonjour, </p>
<p>Je viens d’installer OpenSSL mais je ne sais pas comment l’utiliser dans mon code pour chiffrer des données, Alors ma question est : Comment coder en utilisant la bibliothèques, les fonctionnalités de celles-ci ? Comment utiliser une bibliothèque ?</p>
<p>Par exemple moi je veux utiliser l’algorithme de la courbe elliptiques comment faire ? </p>problème de compilation wxWidgets, message #2123442019-12-20T20:39:32+01:00cerveau/@cerveauhttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212344<p>On peut retrouver le code source de wxWidgets sur GitHub,</p>
<p>voici le lien pour buffer.h : <a href="https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/buffer.h">https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/buffer.h</a></p>
<p>et voici le lien pour defs.h :
<a href="https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/defs.h">https://github.com/wxWidgets/wxWidgets/blob/master/include/wx/defs.h</a></p>problème de compilation wxWidgets, message #2123402019-12-20T19:58:38+01:00Marycha/@Marychahttps://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212340<figure><blockquote>
<p><a href="/membres/voir/marycha/" rel="nofollow" class="ping ping-link">@<span class="ping-username">marycha</span></a></p>
<blockquote>
<p>Je ne vois pas ce que tu veux faire. </p>
</blockquote>
<p>En fait ce bout de code est dans un des fichier d’entêtes de la lib wxWidgets "bufer.h" . Et mais je ne sais pas ce qu’il fait, je suis complètement perdu. <img src="/static/smileys/pleure.png" alt=":'(" class="smiley"> </p>
<p></p>
</blockquote><figcaption><a href="https://zestedesavoir.com/forums/sujet/13346/probleme-de-compilation-wxwidgets/?page=1#p212322">cerveau</a></figcaption></figure>
<p>Donne ton code en entier</p>