Hacking a Samsung Galaxy S (GT-I9000)

Ok, so I have a friend that calls me today. He owns a Galaxy S, and his phone is totally locked, because he was using a visible pattern lock and some noob was trying to guess that pattern until the phone locked away.

The problem would not be a problem if he was using Google’s service for backing up the data, but he was not using it. So he calls me and asks if I can help him recover his phone, ideally preserving the data on it.

Challenge accepted!

First I rooted the device, that can be done easy by downloading SuperOneClick (search for exploit folder, where you will find the binary to be uploaded and executed). Later I installed su and busybox, to get some tools available.

Samsung guys are smart, if you boot into recovery, you will only have access to the system file-system, and not anything else. What I was looking for, was the place where Android stores the settings values, later, I found that what I was looking is an sqlite database, but we are getting there soon.

On a standard Android, the settings database we are interested in, should be available in your /data/data/com.android.providers.settings, but that’s not the case with Galaxy S, the Samsung engineers, created a dedicated partition for settings/contacts/etc databases, so all you are going to find using the standard path is a dummy place-holder. To get access to the real database, you will need to find the name of the device that has to be mounted.

The OS init.rc and recovery.rc files are the files that are “poked” when booting into normal and recovery modes. Knowing that recovery mode doesn’t help me much, I consulted init.rc. The device name was /dev/block/stl10. If you mount it, inside databases folder, you will find the real settings provider database.

Download that file (settings.db), and change the value of key lockscreen.lockedoutpermanently from 1 to 0 using sqlite3 tool. Once done, upload the file back to the phone. Replace the old file, chmod it to 0666 and chown it to the same uid and gid as it’s parent directory.

Reboot the phone! Done!

In the end, I can say that it took me some hours, and saved a complete Android reinstall, with a big probability of loosing all the data. Anyway, it was nice playing with the device.

:)

Cele 4 distribuții

Da, zilele acestea am avut plăcerea timpului de a-mi permite să testez 2 dintre distribuțiile la care țineam neapărat să le încerc: Fedora 11 și Nexenta 2 RC3. La acestea 2 s-au mai adunat OpenSolaris 2009.06 și Milax 04. Sincer, nu e frumos să aflați impresiile la început, însă OpenSolaris a fost practic distribuția care m-a frapat.

Deci pe rând…
Nexenta a fost una dintre distribuțiile pe care le urmăresc deja de vreo jumătate de an, și chiar dacă nu m-a satisfăcut la primele imresii (lipsa suportului pentru hardware major), m-a surprins plăcut la testul de zilele trecute. După mine, pare a fi un „the next thing” un sysadmin trebuie să încerce (Oricum nu o să vă ajungă și o să vă doriți mai mult, de aia am ajuns la OpenSolaris până la urmă). Oricum versiunea 2 deși e încă RC, își merită atenția, pentru suportul mai bun la hardware și software stack-ul din hardy disponibil!

Fedora 11, era pe listă încă după ce citisem impresionanta listă cu îmbunătățiri care a fost anunțată în notițele de lansare. Întradevăr, sunteți tari, ați băgat o grămadă sub capotă, însă la partea de desktop am fost profund dezamăgit să văd un nautilus vag (ați luat sursele din vcs și nu ați mai umblat la ele după compilare?), AbiWord în locul unei suite adevărate de birou, lvm manager pe undeva prin meniu (nu sunt sigur că un utilizator de rând va pricepe de ce i-ar trebui unealta aia…. ?!?), unelte SELinux prin meniu (fix cazul precedent)… și alte mici detalii care m-au lăsat rece pe când toată lumea vrea o Fedora concurentă superioară Ubuntu. Totuși este ceva ce mi-a plăcut: ecranul de autentificare, are fain integrate și indicatorul de baterie, și restul butoanelor… etc. Concluzia, bă poate că e tare F11, însă după ce aș băga CD-ul pentru sesiunea live, parcă nu aș continua mai departe. Păcat că și un utilizator ordinar nu poate aprecia într-un mediu comod toate funcționalitățile Fedora. :(

OpenSolaris. Bă, deci dacă excludem faptul că e o derivată Solaris, și e încă UNIX, și că nu e destinată „încă” lumii întregi, e totuși surpriza din zilele astea! Normal că nu o voi critica la partea de desktop (deși e unul din lucrurile la care ar putea da lecții atât colegilor de la Fedora cât și celor de la Ubuntu), și aici va fi privită din puctul de vedere a unei persoane interesată de servere. OpenSolaris ma atras după ce am încercat Nexenta (v-am scris, odată încercată o bucățică, vrei întregul tort)! Acum citesc o carte despre OpenSolaris (the best I could get, și e păcat că nu prea ai de unde alege), și sunt mișcat de ordonanța în care sunt menținute lucrurile în acel sistem de operare. Nu, nu despre ZFS merge vorba (citându-l pe Anil: „zfs is currently stealing all the thunder” :D), ci despre SMF spre exemplu. Mai multe nu pot povesti pentru că până aici am ajuns cu cititul. Oricum, sfatul pe care îl pot da este, să nu ignorați o carte/documentație bună dacă vă interesează (Open)Solaris, la mine e „second shot”, din prima nu a pușcat. Apropo, și ei sunt lansați recent cu suport mai bun pentru hardware, deci merită „pușcat”. :)

Milax, este ultima distribuție testată, și e mai mult pentru fun. M-am distrat enorm de autorul distribuției pentru faza cu look-ul a’la MacOS. :)

Oricum, într-o lună, poate mai puțin, apare Nexenta. Fedora 11 a fost lansată în 9, OpenSolaris a ieșit deja luna aceasta. Guys, suntem on hype! :)

P.S.: Oh, am avut și examene. :(

No more googlecode, say hello to git

I was using for a while Google’s Code hosting (on svn), worked well for a while. Until I wanted more control on the repository I was using.

I talked with some friends, so they pointed on Git.

Now I have my own Git repository: code.nerd.ro

I must say creating a full featured Git repository for multiple projects wasn’t that easy. I almost couldn’t find some good documentation on how to deploy such a project, so I wrote it. Ubuntu users rejoice, now you have a cool wiki page on how to get things done.

And stop crying for Ubuntu sake :)

Cum a fost la meeting în C7?!?

A fost chill, adică a fost foarte lejer și fun. :)

Cum era de așteptat temele întâlnirii au fost evenimentele recente ce au marcat 25 de ani și 17 ani de existență a principalilor piloni în Software-ul Liber: GNU și respectiv Linux.
S-a făcut proiecție la filmulețul-dedicație celor 25 de ani GNU, povestit de Stephen Fry. După care am urmărit filmul Revolution OS, reprezentând o evocare a întregii istorii FSF, GNU, Linux și Open Source! A fost suc, pop-corn, ceva colegi noi din cămin însoțiți de veterani ai grupului cum ar fi Cristi M.

Câteva cuvinte de mulțumită celor implicați la acest eveniment:

  • Raul Opruță, merci pentru postere și scotch
  • Adi Roiban, merci pentru proiector, autocolante și CD-uri
  • Marius Lupou, merci pentru organizare sală
  • Alin, merci pentru suport și ajutoare organizare
  • Camera 102, 106, merci pentru pop-corn :)

Am făcut ceva poze, aci dați de ele.
În rest, ne vedem la anu’!!!

Din sfera Ubuntu

Că tot nu am mai scris demult despre comunitatea Ubuntu din România, s-au adunat mai multe…

De la început, aș dori să anunț vestea despre apropierea datei ce aduce abandonare versiunii 7.04 (Feisty Fawn) de către echipa Ubuntu. Versiunea va întâlni vârsta de 18 luni de la data lansării (19 Aprilie 2007), și după ciclul prestabilit de viață a unei versiuni echipa va abandona actualizările pentru această versiune. Toți utilizatorii sunt rugați să-și actualizeze sistemele! Uitați aici ceva ghid

Ceva vești mai îmbucurătoare…
Pare-se că echipa Ubuntu din ce în ce mai serios își concentrează atenția asupra ediției sale pentru servere. Pentru Ubuntu părerea sysadmin-ilor începe să conteze. Colegii sysadmini sunt rugați să se exprime folosind sondajul propus de Canonical: http://survey.ubuntu.com/! (Eu l-am dat…)

Acum ceva vești despre Echipa Ubuntu România!
Marți, 30 Septembrie, membrii și susținătorii echipei Ubuntu România sunt invitați pe IRC (#ubuntu-meeting@freenode) pentru a da o mână de ajutor înspre aprobarea oficială drept reprezentanți locali a intereselor Ubuntu în România! De fapt toată lumea este așteptată!

Teeworlds Ubuntu init script

I was playing these days with Teeworlds (ex Teewars), with both the client and the server software. So I found that the only problem the Ubuntu package has, is the lack of an init script for teewars-server in init.d.

Here’s an example of teeworlds-server init script. Once the installation package also has no predefined path for configuration file, I advice you first to read the values of the variables I used in the script, before installing it.

Happy playing! :)

Google Chrome & Ubuntu Linux (screencast)


Google Dev Page.

Crunchbang Linux 8.04.02 Back in Black

Sunt nerăbdător să anunț lansarea beta a versiunei noi Crunchbang Linux 8.04.02 sub numele de cod Back in Black. Philip Newborough a anunțat aseară lansarea pe lista de discuții, prezentând noua versiune ca cea mai bună de până acum!

Ce e nou:

  • Versiunea respectivă a fost făcută de la zero! Deci multe lucruri au fost regândite.
  • Un manager de ferestre alternativ OpenBox, și anume XFCE4.
  • Au fost adăugate noi funcționalități precum și un script beta va oferi posibilitatea construirii unei versiuni de linux Crunchbang folosind mediul Ubuntu minimal/CLI.

De unde poate fi descărcat:

Atenție, versiunea este încă în beta, de aceea s-ar dori raportarea oricărei probleme de care vă veți ciocni!
Philip, felicitări! :)