LAZIOMATICA – Guida allo Sviluppo Software

La nuova forma del software su misura…

 

HOW TO – Configurare OpenVpn su Samsung Galaxy S I9000 Android 2.2 FROYO.RSJP5 con certificati e dhcp.

Fare un backup del firmware e dei dati del cellulare.
Studiare il funzionamento dello strumento ADB.
Studiare la sintassi dei più semplici comandi Linux: SU, CP, MOUNT, MKDIR, RM, CHMOD, LS, CD, DF.

Attrezzi necessari all’intervento

Piattaforma di sviluppo per android installata sul nostro PC con i driver usb per il nostro dispositivo e ADB.
Cavo usb di connessione PC telefono.
Attivare modalità Debug USB sul cellulare (dalla home selezionare Menu, Applicazioni, Sviluppo: in sviluppo spuntare le voci Debug USB e Resta attivo).
Scaricare dal market:
Z4Root di Ryanza (contiene già il pacchetto BusyBox) necessario per ottenere l’accesso root del telefono
Openvpn installer
Openvpn settings
Scaricare il driver interfaccia tunneling chiamato tun-I9000-JPK.zip scompattarlo e copiarlo su una cartella facilmente raggiungibile ad esempio (per windows) C:\scambio\
Copiare in C:\scambio\ i file di configurazione della nostra openvpn e le chiavi: miavpn.conf, ca.crt, miocert.crt, miakey.key, ta.key

Si può scaricare il pacchetto Busybox ed effettuare il root del telefono in altri modi, ma per il nostro esperimento abbiamo utilizzato Z4Root.
A questo punto abbiamo tutto il necessario.

Partiamo con l’istallazione di Z4Root al termine del processo eseguiamo l’applicazione; a questo punto ci vengono proposte due modalità di root:
root temporaneo
root definitivo
Noi abbiamo utilizzato il root temporaneo; i contro di questa scelta sono che ogni volta che riavviamo il cellulare dobbiamo nuovamente procedere con l’operazione di root se vogliamo che Openvpn funzioni, ma è sicuramente meno impattante del root definitivo; sta a voi decidere.
Per prima cosa colleghiamo il cellulare al nostro PC ed eseguiamo il comando ADB SHELL:
una volta aperta la console, digitiamo il comando SU per ottenere l’accesso come root; se tutto funziona correttamente, il cellulare ci avviserà che l’utente “uknown” ha ottenuto diritti di root;
a questo punto dobbiamo lanciare il comando seguente: mount -o rw,remount /dev/block/mtdblock3 /system
Questo comando rende la cartella /system del nostro cellulare scrivibile.
Fin qui non si dovrebbero incontrare difficoltà; se ci fossero problemi con il comando “mount” da console, possiamo ottenere lo stesso risultato aprendo una seconda finestra terminale (mac) o prompt msdos (windows) e digitando il comando ADB REMOUNT che effettuerà la modifica per noi.
Ora prepariamo le cartelle necessarie per Openvpn installer:

anciamo il comando: “/system/xbin/mkdir /system/xbin/bb” (crea la cartella bb in /system/xbin)
lanciamo il comando: “/system/xbin/mkdir /mnt/sdcard/openvpn”  (crea la cartella openvpn in /mnt/sdcard/)
lanciamo il comando: “ln -s /system/bin/busybox /system/xbin/bb/ifconfig”
lanciamo il comando: “ln -s /system/bin/busybox /system/xbin/bb/route”

Una volta ottenuto l’accesso root, eseguiamo Openvpn installer con le seguenti opzioni di installazione che ci verranno chieste durante il processo:
Directory di installazione del binario: /system/xbin
directory per i comandi ifconfig e route: /system/xbin/bb (non chiudete la finestra di report dell’istallazione)

Esaminiamo i log dell’installer (reperibili premendo il tasto menu e show log) cercando di individuare eventuali errori nell’istallazione, se è tutto ok andiamo avanti.
Installiamo “openvpn settings”

Apriamo una seconda finestra terminale da cui lanciare i seguenti comandi per inviare files al nostro dispositivo:

ADB PUSH C:\scambio\tun.ko (o la nostra cartella locale/tun.ko) /mnt/sdcard/openvpn     (con questo comando piazziamo il file tun.ko precedentemente scaricato nella cartella openvpn creata in precedenza)

ripetiamo il tutto per i file di configurazione e le chiavi:

ADB PUSH C:\scambio\miavpn.conf /mnt/sdcard/openvpn
ADB PUSH C:\scambio\miakey.key /mnt/sdcard/openvpn
ADB PUSH C:\scambio\miocert.crt /mnt/sdcard/openvpn
ADB PUSH C:\scambio\ca.crt /mnt/sdcard/openvpn
ADB PUSH C:\scambio\ta.key /mnt/sdcard/openvpn

riportiamo la cartella /system in sola lettura con il comando:  mount -o ro,remount /dev/block/mtdblock3 /system

Lanciamo openvpn settings e configuriamo:

Il percorso dei files di configurazione e dei certificati che nel nostro caso è /mnt/sdcard/openvpn

alla voce “load tun kernel module” configuriamo: il percorso del driver tun.ko che nel nostro caso è /mnt/sdcard/openvpn
alla voce “tun module settings” configuriamo: “load tun using” con “insmod” e path to tun module “mnt/sdcard/openvpn/tun.ko”
In openvpn configurations ci troviamo il miavpn.conf già visibile: a questo punto se tutto è andato bene, in openvpn settings spuntiamo la voce ” openVPN” e poi “miavpn.conf”.
Il dispositivo cercherà ora di attivare il tunnel vpn e se tutto è configurato correttamente apparirà nella barra delle notifiche: “VPN connecting”, mentre sulla linguetta identificativa “miavpn.con” in sequenza: resolve, Auth, getconfig ed infine connected to “ipserverVPN” as “ipdispositivo” e la chiavetta nella barra
delle notifiche apparirà illuminata, ad indicare che la connessione è correttamente stabilita.

Possibili errori:

Errore 1
“openvpn cannot allocate the device TUN/TAP dynamically” – il modulo tun non è caricato o è caricato un modulo non compatible con il dispositivo.

Soluzione 1: verificare la correttezza dei settari per il caricamento del modulo tun ed in particolare che venga utilizzato il metodo insmod
Soluzione 2: scaricare un modulo compatibile

Errore 2
Qualsiasi cosa clicchiamo in openvpn settings non accade nulla o l’app si chiude – istallazione del binario openvpn non riuscita o binario corrotto. La maggior parte delle volte si è commesso un errore nella fase di istallazione.

Soluzione 1: verificare la correttezza dell’istallazione ripeterla partendo dal root del telefono e seguire passo passo tutti i comandi così come indicato sopra.
Soluzione 2: scaricare un binario funzionante

Errore 3
La vpn sembra partire arriva a “connected to “ipserverVPN” as” ma non viene indicato l’ip del dispositivo dopo la voce “as” e la vpn non sembra funzionare. La maggior parte delle volte l’errore è nel file conf e nelle voci relative al push della configurazione ip da parte del server VPN;
ciò è dovuto al fatto che il modulo tun non supporta le opzioni pull o pus.

Soluzione: verificare il file con e modificarlo nelle voci relative alla richiesta della configurazione di rete, commentando i comandi pull o pus per verificare che funzioni il resto.

Errore 4
“cannot execute command ifconfig”. Ciò è dovuto ad un’errata configurazione o errata creazione dei link simbolici ai file ifconfig e ruote; nello specifico, stiamo utilizzando i file del ns dispositivo che però non sono compatibili con openvpn e che si trovano in /system/bin.

Filed under : Android,Linux,MOBILE,Open VPN,scripts
By mezzetto
On 25 febbraio 2011
At 12:58
Comments : 0
 
 

Integrate the three20 library into your iOS project in 3 steps without error Can’t find #import “Three20/Three20.h”

Download three20 library with this command git clone git://github.com/facebook/three20.git

1) Copy the three20 folder into your iphone project: goto in [YourProjectsFolders]/[iOSProjectName] and copy three20 folder here
2) from console locate the three20 folder and run this python command
python src/scripts/ttmodule.py -p ../[iOSProjectName].xcodeproj Three20 -c Debug -c Release
3) now go to XCode and build. If yet opened reload project.

Filed under : Apple,scripts,Sviluppo iPad/iPhone
By admin
On 3 febbraio 2011
At 08:38
Comments : 0
 
 

Windows OS – run a .bat file in a silent mode – without opening a console window

After i seek around the web i have a definitive solution to run a batch file in a silent way, that is a vb script, lanched on a task system (example on startup), like this:

Set WshShell = CreateObject("WScript.Shell")
cmds=WshShell.RUN("c:\my_batch_file.bat", 0, True)
Set WshShell = Nothing

Setting intWindowStyle to 0, in the second line, will hide the output window.
Save this as script.vbs file and run it when you need.

Filed under : scripts,Windows
By admin
On 10 gennaio 2011
At 20:04
Comments : 0