Teaching Material

April 2013

TOR+Privoxy minimal setup for DGN2200v3/MIPS architecture

In a previous article I talked about how to customize the Linux based WLAN+ADSL Netgear DGN2200v3 router and prepared various binary packages ready for the device. In this short article I’m offering a small full setup that can be run on this router (and many other compatible ones and in general on any MIPS+uClinux hardware setup) to be able to use easily the TOR network to browser anonymously. In this way all the users behind the router can easily achieve anonymous surfing.

Anonymizer Anonymous Surfing Dgn2200v3 Embedded Linux Linux Desktop Linux Embedded Mips Security Teaching Material The Onion Ring TOR Transparent Proxy

5 minutes

Command line PHP deobfuscation

Recently a customer asked me to debug some problems on their Joomla!/PHP site that had interoperability issues after some long time for unknown reasons. The site was using some commercial plugins which producer was long time gone and unreachable and worst of all they were all obfuscated. So even searching for some basic string that was displayed on the screen on error to understand what’s going on was not a straight forward exercise and going through the code was a mess. Apart from changing the code in a logical way, for example by adding intermediate variables or splitting variable assignations into more operations and so on, the first most annoying part of PHP obfuscators is that they modify most of the characters in the strings values with their respective hexadecimal (format \xXX) or octal (\XXX) values and eliminate any line feeds or code structure. Once you get rid of this the code stays quite very messy but is, at least in the cases I analyzed, quite readable and just needs a little more bookkeeping with automatically named vars to go through. Getting rid at least of this confusing representation is quite straightforward on the command line with a few tricks.

Command Line Deobfuscation Linux Desktop Php Reverse Engineering Security Teaching Material

4 minutes

February 2013

Linux iMX23 audio loop (or using the iMX23 as an amplifier)

As usual when working with embedded systems every component saved seems like gold to the HW guys (no matter how much software hassles or future limitations this may cause!) and in this context lately I’ve been working on the idea to use the Freescale iMX23 processor, that was anyway present in the project for other needs, as an audio amplifier to pilot a small speaker with no special volume requirements. Basically the output of a GSM module (audio out) was connected to the MIC input of the iMX23 and then the output to the speaker, just with little strictly needed passive electronics in between. As by the datasheet the processor should be able to pull out till 1.9W at 4Ω and there were some interesting registers to play with, even if not documented so very clearly nor seemed to be used anyhow in the audio driver provided. The software base used was the LTIB based BSP provided by Freescale, including their kernel patches for a 2.6.31 kernel.

Audio BM_AUDIOOUT_TEST_ADCTODAC_LOOP Drivers Embedded Freescale Imx23 Linux Linux Drivers Linux Embedded Loopback Teaching Material

4 minutes

January 2012

Cool Language Compiler Example – Compilers courses

coolc is a limited class use COOL (Classroom Object Oriented Language) compiler written in C using LEX and YACC. coolc will perform an almost complete static type-check on the given file and generate the intermediate code in a three-address language for a limited subset of the COOL constructs. The three-address code will then be interpreted by the built-in interpreter and the output displayed to the user. coolc doesn’t fully support all the COOL language constructs. coolc main features are centered around the developing of the dispatch construct of COOL: ID.ID():void Therefore, briefly, coolc is able to handle: definition of classes without inheritance definition of attributes of various types in classes definition of methods in classes definition of dispatching methods in methods body without parameters and without a return value

Compiler COOL Lex Teaching Material Yacc

2 minutes

January 2002

PostgreSQL 7.1.2 SQL3 support analysis

A brief analysis of the SQL3 support in PostgreSQL 7.1.2 can be found here. (in italian) Una breve analisi del supporto di SQL3 di PostgreSQL 7.1.2 può essere trovata qui. (in italiano)

Postgresql Sql Sql3 Teaching Material

1 minute

March 2001

Enjoying Computers, Discovering Linux

An article about the course based on the ECDL syllabus based on Linux and open-source tools organized for high-school teachers published on Linux Journal Online.

Ecdl Linux Linux Desktop Open Source Teaching Teaching Material

1 minute