Journal Disséquer du binaire sous linux

Posté par  (site web personnel) . Licence CC By‑SA.
47
27
nov.
2013

J'aime bien le reverse, j'aime bien linux, j'aime bien lire de l'hexa et j'aime bien les crackmes.

Pour reverser, on a tout ce qu'il faut sous linux.

readelf:
Toujours pratique au début pour connaître un peu mieux le binaire, il affiche pas mal d'infos intéressantes, comme l'entry point, les sections etc.. ex:
readelf -s /bin/ls

objdump:
Indispensable. objdump sait désassembler un binaire complet et afficher les offsets/mnémoniques et instructions. ex:
objdump -d /bin/ls

gdb:
Faut il encore le présenter. Tous (…)

Forum général.petites-annonces envie de faire du C++11 au sein d'une dream-team, dans cadre idyllique, tout en étant payé ?

Posté par  . Licence CC By‑SA.
18
26
nov.
2013

Hello world,

On recrute encore pour notre équipe R&D !
Ayant eu de bonnes candidatures depuis linuxfr mes précédentes fois, je ré-ré-itère :) (je dois en être à la 3° vague de recrutement depuis bientôt 3 ans). Cette annonce ressemble donc beaucoup aux précédentes, avec quelques updates. N'hésitez pas à faire suivre à vos amis non linuxiens !

En 3 lignes :

  • R&D C++11 sous linux
  • éditeur d'un logiciel d'analyse de binaires exécutables
  • 2 postes R&D C++11 ouverts (dont 1 particulièrement orienté (…)

Sortie de radare2 0.9.6

40
12
nov.
2013
Science

Si vous avez déjà utilisé GDB et objdump pour analyser des binaires dont vous n'aviez pas les sources, vous avez déjà dû pester. En effet, les outils GNU ne sont pas vraiment fait pour ça. Mais que faire d'autre ? Céder aux sirènes d'IDA Pro ? Que nenni, car voici la nouvelle version de radare2 !

Radare2, c'est un framework complet pour analyser des binaires :

  • Multi-architectures : GNU/Linux, Android, *BSD, OSX, iPhoneOS, Windows{32,64} et Solaris
  • Multi-platformes : 8051, x86{16,32,64}, dalvik, avr, arc{4,compact}, arm, aarch64, c55x+, java, powerpc, sparc, mips, bf, pe{32,64}, te, [fat]mach0{32,64}, elf{32,64}, bios/uefi, dex and java classes
  • Scriptable en : Vala, Go, Python, Guile, Ruby, Perl, Lua, Java, JavaScript, sh, ..
  • Un éditeur hexadécimal
  • Un (dés)assembleur (récursif !), avec une coloration syntaxique
  • Un débogueur natif, mais il est possible d'utiliser GDB en backend, ou un débogueur brainfuck !
  • La possibilité d'afficher des données sous de multiples formats: int, float, désassemblé, timestamps, …
  • La possibilité de faire des recherches par patterns, des checksums, …
  • Un support des disques, processus, fichiers et flux.
  • Du binary diffing (comparaison de binaires), que ce soit sous forme traditionnelle, ou sous forme de graphes
  • Analyse de code, que ce soit niveau opcodes, blocks, ou fonctions
  • Une machine virtuelle basique, permettant d'émuler du code
  • Une interface web !

Journal ZeroMQ et les mangoustes

Posté par  (site web personnel) .
36
10
nov.
2012

Sommaire

On m'a récemment demandé d'expliquer pourquoi je trouve que ZeroMQ est un sujet de rigolade. En guise d'introduction, j'aimerais préciser qu'un panel d'experts concertés sur le sujet ont eu des réactions similaires lorsqu'ils ont été exposés à deux lignes de ZeroMQ :

< Krunch> 1149 event.data.connected.addr = (char *)addr_;
< Krunch> 1150 event.data.disconnected.fd = fd_;
< Krunch> avec event.data qui est un union
< s> ahah
< n> nice
< n> http://i.imgur.com/pejxB.gif

(…)