jump to navigation

Boomerang testsuite March 11, 2008

Posted by lizardo in Reverse Engineering.
comments closed

Last weekend I made my first code contribution to the Boomerang project: I fixed some tests from the testsuite that were segfaulting or failing due to changes in the debug output. After sending the patch to the mailing list, I was given write access to their CVS repository so I can now commit my fixes myself :) .

My plans for now are to:

  1. do test coverage analysis on the current code using gcov/lcov
  2. if coverage is not acceptable, add more tests to the testsuite
  3. when coverage become acceptable (I still need to define the acceptance criterion), I can then starting making improvements or more complex changes to the code

Of course, before doing any big changes that would affect current functionality, I will submit a patch to the list, so other developers can comment on it. That’s the “Open Source way” of development IMHO.

Research in reverse engineering March 8, 2008

Posted by lizardo in Reverse Engineering.
comments closed

I am about to graduate in Computer Science at Universidade Federal do Amazonas (UFAM), so I think I will now have more time to continue my personal research on some subjects I am interested in, but never found time to continue after I entered college.

One of these subjects is Reverse Engineering (RE). Before entering college, I played a little with RE and started a project on reverse engineering a driver for my scanner. It was quite challenging, and I liked it a lot, but never had time since then to either continue this project or start new ones.

Now it is time to change :) . During college I developed interest in Artificial Intelligence (IA) and ontologies. This (somehow ;) ) led me to create interest in a research area known as “program comprehension” or “program understanding”. This is a research domain that, in my opinion, includes RE when it is applied to understanding how a system works. Therefore, my focus will be on applying RE techniques for program understanding.

As a first step, I started gathering some domain knowledge, but I would like to make something more pragmatic in parallel, so my studies could have a focus. I decided for now to work with the Boomerang decompiler and make some RE experiments with it. I chose it because It is, to my knowledge, the most advanced Open Source decompiler I am aware of, and decompilers can help understanding programs for which you don’t have sources. Of course, there are some other tools I would like to experiment with, such as Sparse.

I will probably make some kind of schedule so I don’t lose track during my research. More to follow!

Latest Open Source contributions: ltrace, strace, apt-cacher January 28, 2008

Posted by lizardo in Debian/Ubuntu, Linux.
Tags: , , ,
comments closed

Hi all,

After a long period without posts, I’m back to activity :) Here goes my latest contributions to Open Source projects (mostly as part of my work at INdT):

strace ARM fix: link to post

ltrace fixes:

#450931
#176413
#462530
#462531
#462532
#462533
#462535

apt-cacher “multiple mirrors” bug: #462948

That’s it for now. Expect more patches to come!

Update (2008-03-08): all my ltrace patches were accepted into Debian and applied as of version 0.5-3.1. Of course, it still needs to be applied upstream, but hey, thats good news!

Homenagem às pessoas do vôo 1907 October 5, 2006

Posted by lizardo in General.
comments closed

Gostaria de dedicar este breve post a todos os familiares e amigos das pessoas que estavam no vôo 1907 da Gol. Eu pessoalmente conhecia algumas delas e sei a falta que elas farão. Cabe a nós lembrarmos dos bons momentos vividos com as pessoas que amamos e, acima de tudo, tê-las como lições de vida a serem seguidas.

Meu sincero apoio.

Running Intel(R) Processor Frequency ID Utility on Linux August 12, 2006

Posted by lizardo in Debian/Ubuntu, Linux.
comments closed

This article explains how to run Intel’s Processor Frequency ID “Bootable Version” on Linux. This utility is useful to check whether the Intel CPU you bought is running at the specified Processor/Bus speeds (i.e. it is not overclocked). This article will explain how to run the “Bootable Version” using GRUB and Syslinux’s memdisk image to boot a floppy image. It was tested on a Ubuntu 6.06 LTS PC with a Pentium III processor.

Download the utility from http://www.intel.com/support/processors/tools/frequencyid/ (bootable version)

Unpack the self-extracting .exe file:

unzip -Ld intel_freqid bfid_e25.exe

Create a blank floppy-sized image:

dd if=/dev/zero of=intel_freqid.img bs=1440K count=1

The following instructions need to be run as root.

We now need to associate the image with a loopback device so we could manipulate it. To do so, check the name of the first available loopback device:

losetup -f

This device will be referred in the rest of this article as $lo_dev. Now associate the image with a free loopack device:

losetup $lo_dev intel_freqid.img

Format image with FAT:

mkdosfs $lo_dev

Mount the image:

mount $lo_dev /mnt

Copy files to the image:

cp intel_freqid/_comtmp.fid /mnt/command.com
cp intel_freqid/_dostmp.fid /mnt/dos.sys
cp intel_freqid/_autotmp.fid /mnt/autoexec.bat
cp intel_freqid/bfreqid?.com /mnt/

Umount image:

umount /mnt

Write bootsector to image file:

dd if=intel_freqid/bootsect.img of=$lo_dev

Dettach loop device from image:

losetup -d $lo_dev

Copy image to /boot:

cp intel_freqid.img /boot/

Install syslinux (used for booting the floppy image):

apt-get install syslinux

Add the following lines to /boot/grub/menu.lst:

title           Intel(R) Frequency ID Utility
root            (hd0,0)
kernel          /usr/lib/syslinux/memdisk
initrd          /boot/intel_freqid.img
boot

Anjos e Demônios May 12, 2006

Posted by lizardo in Books.
comments closed

Há duas semanas estou lendo o livro “Anjos e Demônios”, de Dan Brown. Ainda estou no capítulo 44, mas tem uma pergunta que não quer calar… Seriam os cientistas os “anjos” ou os “demônios” da história? Sou um cientista, portanto estou curioso :)

Posts in Portuguese May 7, 2006

Posted by lizardo in General.
comments closed

Just to justify why my previous post (and some future ones) are in Portuguese, my native language:

You’ll see here some posts in Portuguese, some of them even not computer-related, mainly because the target audience are my friends or people who don’t necessarily speak English, and because I’m too lazy to maintain two blogs for different things ;-) . So, if you see some post in Portuguese and you don’t speak this language, just ignore it or translate it (e.g. through Google) if you really want to. I’ll try to write the posts in well-conforming Portuguese so the automated translation will not look bad.

I’ll also try to use tags wherever possible, so you can filter out the things you don’t want to read.

That’s it! I’ll try to keep this blog active :-)

Pérolas do Google – Spam no GMail May 7, 2006

Posted by lizardo in Portuguese.
comments closed

Hoje, revendo meus spams diários do GMail notei que, enquanto você está na pasta de Spam, ficam aparecendo receitas de comida enlatada de porco (“spam” em inglês) nos webclips… Esse pessoal do Google sempre aproveita um espaço para piadas :-) . Esse foi um dos que eu vi:

Savory Spam Crescents – Bake 12-15 minutes or until golden brow

Embedded Ubuntu at LinuxDevices February 23, 2006

Posted by lizardo in Debian/Ubuntu, Linux.
comments closed

A couple of months ago, I and two colleagues from 10LE have developed a EmbeddedUbuntu spec (AKA distribution feature specification) at Ubuntu Below Zero (UBZ) meeting, held in Montreal, Canada. In summary, the spec describes a framework to create customized Ubuntu "flavors" for mobile/embedded devices.

After some time without active development on the spec (all development is done during free time), I finally found some time to work on the project again. Coincidently, LinuxDevices has an article from yesterday about EmbeddedUbuntu, entitled "Ubuntu eyes gadgets".

Such article and recent interest demonstrated by the community has motivated me to speed up development, possibly targetting dapper + 1 as FeatureFreeze is active for dapper today.