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:
- do test coverage analysis on the current code using gcov/lcov
- if coverage is not acceptable, add more tests to the testsuite
- 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: apt-cacher, ltrace, patches, strace
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.