tag:linuxfr.org,2005:/users/tobuLinuxFr.org : les contenus de Tobu2010-05-25T16:23:05+02:00/favicon.pngtag:linuxfr.org,2005:Diary/297602010-05-25T16:23:05+02:002010-05-25T16:23:05+02:00tabnabbing, un nouveau genre de phishing<br />
<p>Voici une attaque intéressante: le <a href="http://www.azarask.in/blog/post/a-new-type-of-phishing-attack/">tabnabbing</a>.
<br />
</p>
<br />
<p>Vous êtes assez averti pour ne pas cliquer sur gmail.com.pouilleux.biz dans vos mails, mais êtes-vous préparés à ce que le site que vous aviez déjà ouvert dans un onglet en arrière plan ne soit pas le vrai Gmail?
<br />
</p><div><a href="https://linuxfr.org/users/tobu/journaux/tabnabbing-un-nouveau-genre-de-phishing.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/56046/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/tobu/journaux/tabnabbing-un-nouveau-genre-de-phishing#comments">ouvrir dans le navigateur</a>
</p>
Tobuhttps://linuxfr.org/nodes/56046/comments.atomtag:linuxfr.org,2005:News/189582005-05-19T14:29:39+02:002005-05-19T14:29:39+02:00Toutes les API GNOME dans tous les langages et pour bientôt ?<div>Libpoppler est une bibliothèque qui a une API GObject, le modèle objet C de la Glib utilisé dans GNOME. Un binding Python pour cette bibliothèque vient d'être réalisé.
<br />
<br />
La particularité de ce binding est qu'il a été généré automatiquement en introspectant le code C. C'est une étape importante dans le travail d'introspection de Glib, et qui devrait permettre de donner à de nombreux langages l'accès complet aux API GNOME.
<br />
<br />
<abbr title="Note des modérateurs">NdM</abbr> : Un binding permet de programmer dans un langage en se servant d'une bibliothèque écrite dans un autre langage.</div><ul><li>lien nᵒ 1 : <a title="http://www.advogato.org/person/jdahlin/diary.html?start=12" hreflang="en" href="https://linuxfr.org/redirect/41765">L'annonce du binding sur le blog de Johan Dahlin</a></li><li>lien nᵒ 2 : <a title="http://shootout.alioth.debian.org/benchmark.php?test=all&lang=all&sort=fullcpu&xfullcpu=0&xmem=0&xloc=1&ackermann=1&wc=1&fannkuch=1&fasta=1&harmonic=1&heapsort=1&knucleotide=1&mandelbrot=1&nbody=1&am" hreflang="en" href="https://linuxfr.org/redirect/41766">shootout: concision de différents langages</a></li><li>lien nᵒ 3 : <a title="http://www.gtk.org/bindings.html" hreflang="en" href="https://linuxfr.org/redirect/41767">Bindings gtk</a></li><li>lien nᵒ 4 : <a title="http://webwynk.net/jrb/" hreflang="en" href="https://linuxfr.org/redirect/41770">Le blog de Jonathan Blandford</a></li></ul><div>Les bibliothèques GNOME (GTK, gconf, libxml2, dbus, Cairo et Gstreamer pour les plus fondamentales) ont le grand avantage de couvrir à peu près tous les besoins d'une application et de le faire de façon cohérente. Elles sont aussi, comme la majorité du code dans une distribution, écrites en C, ce qui n'est pas un mal (bonne performance, code accessible à un maximum de monde). Mais le C, tout le monde n'aime pas, et c'est un langage relativement verbeux (le classement du shootout donne une <a href="http://shootout.alioth.debian.org/benchmark.php?test=all&#9001;=all&sort=fullcpu&xfullcpu=0&xmem=0&xloc=1&ackermann=1&wc=1&fannkuch=1&fasta=1&harmonic=1&heapsort=1&knucleotide=1&mandelbrot=1&nbody=1&nsieve=1&nsievebits=1&objinst=1&methcall=1&pidigits=1&random=1&regexmatch=1&revcomp=1&spectralnorm=1&spellcheck=1&hello=1&sumcol=1&takfp=1&tcpecho=1&tcprequest=1&tcpstream=1&process=1&message=1&wordfreq=1&calc=Calculate">première approximation</a>).
<br />
<br />
Heureusement le C est également très portable ; en écrivant des bindings, on peut l'utiliser depuis à peu près n'importe quel langage. GTK+ en a par exemple <a href="http://www.gtk.org/bindings.html">une trentaine</a>.
<br />
<br />
D'où un doux rêve : celui de faire pour toutes les bibliothèques qui utilisent la Glib ce qui a été fait pour GTK+. Vous programmez avec le langage que vous trouvez le plus sexy, et vous avez accès à la pile GNOME.
<br />
<br />
Entre en scène l'introspection GObject.
<br />
<br />
L'idée de l'introspection est d'extraire automatiquement l'information sur les types (enums, listes, structs...) et les objets (modèle OO genre Java) du programme, et de générer les bindings avec. Cette information est intégrée depuis longtemps dans GType, comme vous pouvez le vérifier depuis certaines démos de GTK (comme gtk+/tests/testfilechooser) qui permettent de manipuler directement les propriétés d'un objet. En vérifiant que cette information couvre bien l'intégralité d'une API, on peut générer de la glue dans un autre langage.
<br />
<br />
Le premier binding libpoppler->Python démontre la faisabilité du concept, même si il reste expérimental.
<br />
<br />
Au moment où l'on débat de savoir s'il faut élire une unique machine virtuelle pour tout écrire, l'introspection GObject propose une approche pluraliste qui bénéficie à tous et attire des développeurs de tous horizons.</div><div><a href="https://linuxfr.org/news/toutes-les-api-gnome-dans-tous-les-langages-et-pour-bientot.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/18271/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/toutes-les-api-gnome-dans-tous-les-langages-et-pour-bientot#comments">ouvrir dans le navigateur</a>
</p>
Tobuhttps://linuxfr.org/nodes/18271/comments.atomtag:linuxfr.org,2005:Diary/166372005-01-06T14:07:02+01:002005-01-06T14:07:02+01:00wine pour amd64Vous vous demandiez depuis toujours comment faire tourner des applications windows sur votre amd64, moi aussi, et voici comment.<br />
Le matériel de base:<br />
un gcc compilé avec --enable-multilib (gcc -v pour le savoir). J'ai récupéré le mien chez debian, il faut quelques patches pour obtenir ce gcc bi-arch. D'ailleurs l'annonce est ici: <a href="http://lists.debian.org/debian-amd64/2004/08/msg00084.html">http://lists.debian.org/debian-amd64/2004/08/msg00084.html(...)</a><br />
ccache si vous aimez les compilations pas trop longues<br />
les bibliothèques 32-bit de base: ia32-libs et ia32libs-dev chez moi. Windows est uniquement 32 bit (sauf pour des bouts 16-bits, quelle cohérence admirable), donc on compile wine en 32 bits.<br />
les bibliothèques de dév de X11<br />
sans doute des petits trucs que j'ai oublié, mais vous vous en rendrez compte par vous-même :)<br />
A titre indicatif, voici les build-deps sur une ubuntu 32bit; beaucoup ne sont pas indispensables.<br />
debhelper (>= 4.1.16), flex-old | flex (<< 2.5.31), bison,<br />
xlibs-dev, xlibmesa-dev | libgl-dev, xlibmesa-glu-dev | xlibmesa-dev (<= 4.2.1-4) | libglu-dev,<br />
freeglut3-dev | libglut-dev | glutg3-dev,<br />
libncurses5-dev, libcupsys2-dev, libjpeg62-dev | libjpeg-dev, libungif4-dev,<br />
libfreetype6-dev, libasound2-dev, libjack0.80.0-dev | libjack-dev,<br />
libartsc0-dev | libarts-dev, libaudio-dev | nas-dev, libsane-dev, libusb-dev,<br />
libicu21-dev | libicu-dev, libfontconfig1-dev, libssl-dev, libcapi20-dev<br />
Et la bonne version de wine, la 20040914 ( ici:<a href="http://sourceforge.net/project/showfiles.php?group_id=6241&package_id=77449">http://sourceforge.net/project/showfiles.php?group_id=6241&pack(...)</a> ):<br />
à ce jour, les versions 20041201 et 20041219 ne tourneront pas (chez moi) sur une ubuntu même 32.<br />
<br />
on configure (je crois que le AS est déjà bon par défaut):<br />
AS='as --32' CC='ccache gcc-3.4 -m32' CXX='ccache g++-3.4 -m32' LD='ld -m elf_i386' ./configure --x-libraries=/usr/X11R6/lib32<br />
on /patche/ :<br />
sed -i s/SYS_sigaction/SYS_rt_sigaction/g dlls/ntdll/signal_i386.c<br />
Il y a peut-être une alternative en modifiant le include pour qu'il utilise le sys/signal.h en version i386 qui va bien, mais comme-ça ça marche.<br />
<br />
on construit:<br />
make depend all<br />
(comptez dans les 2h)<br />
<br />
on installe:<br />
sudo make uninstall install<br />
<br />
on configure: wine<br />
on utilise: wine /mnt/loop0/Setup.exe<br />
<br />
Pour les masos, voici comment compiler les versions suivantes , qui on le rappelle ne s'exécutent pas correctement:<br />
le LD n'a plus besoin d'être précisé; par contre il faut éditer à la main tools/winebuild/main.c, et y définir *ld_command = "ld -m elf_i386'<br />
ou peut-être éditer Make.rules.in, ligne WINEBUILD, faire un --ld-cmd=$(LD) , je ne suis pas spécialiste de la syntaxe des Makefile.<div><a href="https://linuxfr.org/users/tobu/journaux/wine-pour-amd64.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/43225/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/tobu/journaux/wine-pour-amd64#comments">ouvrir dans le navigateur</a>
</p>
Tobuhttps://linuxfr.org/nodes/43225/comments.atom