unix4fun

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 27 mars 2008

IPv6 et algoflash, comment utiliser de l'engrai a fougere sur mon code merdique...

Alors ca fait qqes temps que je codouille en v6 etc... j'ai qqes soucis mais globalement c'est assez simple de faire du code clean et dual stack en C, j'ai pas encore teste en python.

J'ai une question a tout les gurus-ultra-leet-v6 tout ca.. je cherche une solution au moyen de faire des filtres pcap avance en ipv6, et ca ne semble pas possible, cf tcpdump(8) :

[...]
  Proto is one of ether, fddi, tr, wlan, ppp,  slip,  link,
  ip,  arp,  rarp, tcp, udp, icmp or ip6, and indicates the
  protocol layer for the index  operation.   (ether,  fddi,
  wlan,  tr,  ppp,  slip  and  link  all  refer to the link
  layer.) Note that tcp, udp and other upper-layer  proto-
  col  types  only  apply  to  IPv4, not IPv6 (this will be
  fixed in the future)
[...]

donc si qqun a une idee...

Voila la ptite doc sympa ipv6 prog tout ca :

* http://www.euchinagrid.org/IPv6/IPv6_presentation/Introduction_to_IPv6_programming.pdf

Qu'on va mirrorer gentillement paske c'est bien utile quand meme :

* introduction_to_v6_prog.pdf

vendredi 21 mars 2008

FNV je sais pas si c'est bien mais on va voir!

Alors je sais pas ce que ca vaut, mais j'avais besoin d'un hash sur un petit bloc de donnees et de maniere repetee, et surtout dont le resultat reste sur 32 ou 64bits avec une bonne distribution pour "eviter","limiter" les collisions.

Apres avoir teste sha1 et md5, et bon en le rapellant trop souvent c'est quand meme un ptit peu lent.

poz ou ppr m'ont parle de ca, y a longtemps il me semble :

http://isthe.com/chongo/tech/comp/fnv/

si y a des gens avec de l'experience et un peu matheux, qui veulent bien commenter :)

mardi 26 février 2008

convi debug disass et consorts..

Prrrrt,

Je viens de decouvrir ce projet en lisant un forum convivial

http://radare.nopcode.org/

Une suite de tools autour d'un editeur hexa avance, pour faire du disass, du tracing etc... il est meme capable de bosser sur du java bytecode et/ou des format PE.

Enfin voila marrant, je regarde et je teste pour le moment..

lundi 25 février 2008

sunstudio, gcc, dwarf, sparc et petits nains de jardins...

Des p'tites infos et projets interessants au cours de mon joujou avec ma sunblade 1500.

Deja je me suis fait chier avec SunStudio mais en fait j'ai decouvert ca (trop tard!): http://cooltools.sunsource.net/gcc/

Pour les petits documents utiles :

Sinon j'imagine que comme d'hab je suis le dernier a decouvrir ca mais y a pleins de trucs convi a lire :

http://wikis.sun.com/dashboard.action

samedi 2 février 2008

BPF, LSF, DLPI, et bla!

Des ptits links parfois utiles pour tenter de faire du SOCK_RAW, voir du link level et de maniere optimal, de maniere portable il y a libpcap (mais ce n'est pas toujours le plus efficace), j'ai appris a propos de LSF (qui est l'equivalent de BPF pour linux), et a propos d'autres... etc.. etc.. solaris bla

Si ca peut en aider d'autres :

http://www.faqs.org/faqs/internet/t...

http://www.tcpdump.org/papers/bpf-u...

http://www.linuxjournal.com/article...

http://www.opensolaris.org/os/proje...

http://www.opensolaris.org/os/proje...

Shazam!!!

Update 03/02/2008:

un autre paper sur une precedente alternative au device polling. (merci poz pour le rappel)

mercredi 30 janvier 2008

au royaume de suede on aime les trucs coupes en tranches, comme par exemple : le saumon!

Y a des gens qui comme moise (toute ressemblance serait purement fortuite) qui arrivent a separer la mer en deux pour faire passer des trucs, parait que moise c'etait pour faire passer des gens (eh oui moise est un passeur, mais il avait rendu le passage industriel avant meme qu'on y pense!)

Alors la y a Kristaps Džonsons qui fait pareil avec du code, il matte le code, hope ca se separe en deux, meme en trois, attendez.. c'est quoi ces histoires !?!?!?

(en gros il a pris un NetBSD et il a fait un truc qui sent les "zone" de solaris ou jail chez freebsd ( oui oui c'est pas implemente pareil, la granularite est pas pareil, c'est pas le meme systeme tout ca tout ca, mais je parle de concepts...))

sinon y a des projets "un peu" similaire ou related genre : ca ou ca

mercredi 23 janvier 2008

oula ca se reveille!

He beh, apres des tas de POST, de papers, de coding practice dans tout les sens, le CERT nous sort ca :

secure C coding practice

Je suis en train de parcourir toutes ces choses

D'ailleurs concernant les memory management stuff... j'avais lu un truc la

hope it helps.

mardi 22 janvier 2008

const et volatile!

moi qui refais du C en ce moment, alors me voila a me replonger avec plaisir la dedans, je savais plus ce que ca definissait exactement const et volatile, qqes souvenirs, j'ai vite relu ca rapidos et pouf c'est revenu..

have fun!

libconfuse : la gestion simplifiée de vos fichiers de conf.

Youpla les gens, voilà une petite news de rien du tout pour donner signe de vie.

Je sais pas pour vous, mais ça me fatigue de devoir utiliser le format XML pour les fichiers de conf' des softs que je développe. Alors je me suis mis à utiliser une petite bibliothèque ma foi fort simplathique (mot-valise : simple et sympathique).

Ici, on a un format simple, mais on peut avoir des choses quand même plus complexes. Et surtout, c'est très facile à utiliser, dans vos programmes.

La voilà, la libconfuse.

mercredi 26 décembre 2007

Le fond d'Euler est frais, ces temps-ci.

Je sais pas si vous avez remarqué, mais depuis quelques jours, c'est l'hiver. Il fait froid et tout. C'est donc avec joie que j'accueille tous les moyens de me réchauffer... Et un truc (SUPER VIEUX) mais qui fait chauffer les méninges, c'est le très connu Project Euler .

L'idée, c'est qu'il y a 174 (bientôt 175) problèmes à résoudre ; il suffit de donner la réponse, peu importe la méthode employée. On peut coder en C, J, Python, OCaml (Yeah baby !), utiliser Matlab, etc.

J'ai vite fait commencé le 24 décembre (non, je n'ai pas d'amis ni de famille, c'est d'ailleurs pour ça que je poste des news ici.. paskeu l'autre il me volait mes billes quand j'étais petit et... hum je m'égare.), et c'est rigolo. Etant donné qu'il s'agît d'un challenge, on va éviter de poster les réponses ici hein.

vendredi 21 décembre 2007

oye oye oye de retour!

Hola,

apres une grosse absence, il me semble qu'il est bon de revenir un peu, les fetes approchent, du coup, alors comme c'est noel j'offre que dalle...

par contre apres mes galeres avec pylibpcap et le threading, je suis passe a ca ca marche sans sourciller..

je posterai un ptit exemple rapidement j'espere...

aussi le week end food du retour arrive!!! one-two checking the microphone - check this out incoming week end food soon... (1 jour)

lundi 3 décembre 2007

MD5 ca sent l'entre-jambe!

C'est enfin publie, ils ont reussi a obtenir (comprendre generer) deux codes, deux binaires distinct avec un hash md5 identique et ca se passe ici pour des details :

http://www.win.tue.nl/hashclash/SoftIntCodeSign/

mercredi 14 novembre 2007

UNIX father!

Le pere d'UNIX a ete libere par le MIT, c'est beau, je vais tout de suite aller matter ca :

http://web.mit.edu/multics-history/source/Multics_Internet_Server/Multics_sources.html

dimanche 4 novembre 2007

Week-end food #11

Un livre aupres du quel j'ai appris les faibles bases du fonctionnement des reseaux de neuronnes, recommande par un ami a l'epoque pour que j'apprenne.

Les reseaux de neuronnes artificiels : introduction par Claude Touzet

encore une fois on est pas doue pour les horaires tout ca, mais mieux vaut tard que jamais hein! :)

samedi 13 octobre 2007

Week-end food #8

Le week end food qui arrive un peu tard, désolé ! :)

Le voici avec un tool dont on a déjà parlé il me semble : flayer

Et le paper associé par Will Drewry et Tavis Ormandy de chez Google : http://www.usenix.org/events/woot07/tech/full_papers/drewry/drewry.pdf

Bon appétit intellectuel !

vendredi 28 septembre 2007

Week-end food #6

Ce week-end, à imprimer et lire :

  • Automatic Vulnerability Detection Using Static Source Code Analysis par Alexander Ivanov Sotirov. Le pépeur porte bien son nom et est derrière la théorie de vulncheck -- on me traitera peut-être de fainéasse, mais l'idée d'eau pour le WEF est excellente. Comme il est assez consistant, ça devrait tenir votre week-end. PDF. 118 pages.
  • Oui, c'est tout : je paye une bière à celui qui le finit dans le week-end.

mercredi 26 septembre 2007

La semaine dernière j'ai vu GCC dans un meeting tuning

Dans le même esprit qu'un post précédent, un autre patch du genre accompagné des "papers" (WEF ?!) associés ; VulnCheck.

Je ne sais pas ce que ça vaut, mais ça se passe ici :

http://gcc.vulncheck.org/

Pourquoi ne pas tester avec les exemples d'"InsecureProgramming" ?

mercredi 19 septembre 2007

uninformed #8 out!

Au sommaire de uninformed #8 :

  • Covert Communications : Real-time Steganography with RTP
  • Engineering in Reverse : PatchGuard Reloaded: A Brief Analysis of PatchGuard Version 3
  • Exploitation Technology : Getting out of Jail: Escaping Internet Explorer Protected Mode, OS X Kernel-mode Exploitation in a Weekend
  • Rootkits : A Catalog of Windows Local Kernel-mode Backdoors
  • Static Analysis : Generalizing Data Flow Information

mardi 18 septembre 2007

iphone addict!

J'ai fait le mouton, je me suis acheté un truc de "super bourgeois", après m'être fait tanné par des potes. J'avoue que ça peut être cool de tenter de devel dessus, alors je me suis dit que je pourrais faire un 'hello world' sur mon iphone, je me suis donc mis à chercher un truc pour cross compiler du mach-o et un pote m'a montré ça :

http://code.google.com/p/iphone-dev/

Et ça commence là :

http://code.google.com/p/iphone-dev/wiki/Building

Après quelques bastons j'ai pas encore un truc qui marche mais je crois que le 64bits se fout juste devant mon nez, vais réessayer avec un chroot 32bits demain...

Il est tard là...

lundi 17 septembre 2007

python, le GIL, pourquoi et tout ça ?

Avec eau (aka. Le Frelon Dardé du Gabon) on discutait d'une appli en développement basée sur python et la pylibpcap. Le modèle de l'application était composé de deux threads : une thread pour l'envoi de paquets et une thread utilisant pcap pour la réception. Le problème de ce modèle appliqué à python est que cette application ne pouvait pas marcher "as is" : la thread d'envoi ne pouvait pas démarrer car la pylibpcap acquiert le GIL (Global Interpreter Lock) et ne le libère jamais. En d'autres termes : la thread d'envoi n'était jamais démarré et python se consacrait à la thread de réception qui, du coup, ne recevait rien.

Petite explication nécessaire : les développeurs de Python ont décidé de développer un interpréteur qui n'est pas thread-safe, pour la simplicité. Cependant, pour tout de même proposer des threads, il leur a été nécessaire de créer un lock, global, entre elles. Chaque thread acquiert donc ce lock (le GIL) exécute un nombre donné (et configurable) d'instructions python, puis libère le GIL. De l'extérieur tout se passe comme si les threads étaient exécutées séquentiellement pendant un certain nombre d'instructions plutôt que parallèlement. C'est la raison d'un des plus gros trolls sur python, après l'indentation : le GIL.

La réponse de Guido van Rossum, le BDFL de python est toujours la même : n'utilisez pas de threads, développez plusieurs processus et faites les communiquer par IPC. C'est un des éléments de la philosophie python et les arguments de Guido sont nombreux.

Donc, en ce qui concerne l'application en développement, plutôt que de patcher la pylibpcap, il est peut-être plus intéressant de développer l'application dans un modèle "à la python" avec un processus d'écoute qui transmet à un processus de traitement les paquets lus, par IPC.

L'intérêt n'est pas de décider si le GIL est une bonne ou une mauvaise idée mais de comprendre pourquoi il est là et la philosophie du langage quand on a à l'utiliser. Donc, voici les quelques ressources citées dans l'article, pour ceux qui veulent en savoir plus :

  1. Python/C API Reference Manual, Thread State and the Global Interpreter Lock, http://docs.python.org/api/threads.html
  2. python-list, pylibpcap and multiple threads : http://mail.python.org/pipermail/python-list/2005-January/303798.html
  3. Needled by Threads : http://cleverdevil.org/computing/30/needled-by-threads
  4. python-3000, the future of the GIL : http://mail.python.org/pipermail/python-3000/2007-May/007414.html

- page 3 de 4 -