Nem kivánt hozzáférések kigyomlálása az androidos appokból.

2010.12.30. 12:08 Darkcomet

Többször is felvetődött itt a blogon, hogy az androidos alkalmazások egy része több hozzáférést kérnek bizonyos telefonos szolgáltatásokhoz, mint amikre valójában szükségesek lennének a számukra, és ez bizonyos esetekben elég komoly kockázati tényezővé tud válni. Az alább leírt módszer ugyan egyfajta fából vaskarika, mert hiszen nem magán a droidos telefonon tudunk bezárni jogosultságokat az adott alkalmazás előtt, de áthidaló megoldásnak nem rossz. A lényeg pediglen az, hogy szétcincáljuk az apk fájlt, kigyomláljuk a nem kívánatos hozzáféréseket, majd újra apk-t gyúrunk belőle.

A cucc, amit használni fogunk az Apk Manager 4.9 nevet viseli és az forum.xda-developers.com-on találtam rá.

Az egész eljárás az apktool nevű javas progin alapszik, ami itt található:

Az xda-s srác összerakta azokkal a kiegészítőkkel, amik okvetlenül kellenek hozzá, meg írt egy scriptet (linuxos verzió), batch fájlt (wines cucc).

A linuxos részéről tudok csak írni, a wines verziójáról max. csak annyit, amennyit a tool összerakója is megemlít a fórumon, kipróbálni nem tudom, tehát ezt a részt hanyagolnám.

Követelmények: OpenJDK Java 6, vagy Sun Java 6, Android SDK, abból is az adb fájl.

  A linuxos cuccnál semmi ördöngösséget sem kell csinálni, a letöltött állományt ki kell csomagolni valahova, az /apk_manager_linux_4.7/other könyvtárba az android SDK-ból be kell másolni az adb fájlt. Az összes állománynak rootként ki kell adni egy terminálon egy chmod 755 parancsot, majd a scriptet el kell indítani egy ./Script begépelésével. Indításnál megkérdezi, hogy törölje-e az előző projectet, erre egy "y" kell nyomni. Ekkor a következő kép fog fogadni minket:

****************************** Apk Manager *******************************
------------------Simple Tasks Such As Image Editing----------------------
0 Adb pull
1 Extract apk
2 Optimize images inside (Only if "Extract Apk" was selected)
3 Zip apk
4 Sign apk (Dont do this if its a system apk)
5 Zipalign apk (Do once apk is created/signed)
6 Install apk (Dont do this if system apk, do adb push)
7 Zip / Sign / Install apk (All in one step)
8 Adb push (Only for system apk)
-----------------Advanced Tasks Such As Code Editing-----------------------
9 Decompile apk
10 Compile apk
11 Sign apk
12 Install apk
13 Compile apk / Sign apk / Install apk (All in one step)
---------------------------------------------------------------------------
14 Batch Optimize Apk (inside place-apk-here-to-batch-optimize only)
15 Sign an apk (inside place-apk-here-for-signing folder only)
16 Batch optimize ogg files (inside place-ogg-here only)
17 Quit
****************************************************************************

Please make your decision:
 

 

Tabváltással, tehát a scriptből való kilépés nélkül be kell másolni a place-apk-here-for-modding könyvtárba az apk. 9-est lenyomva kicsomagolja az out könyvtárba, itt az AndroidManifest.xml fájlt egy egyszerű szövegszerkesztővel meg kell nyitni (pl. gedit), és meg kell keresni a hozzáféréseket, amelyek a fájl végén tatálhatóak. Valami ilyesmit kell látnunk:

 

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
 

 

A nem kívánatos hozzáférések törlése után a fájlt el kell menteni. Váltsunk vissza a scriptbe és nyomunk egy 10-est, ezzel becsomagolja újra az apk-t, majd egy 11-esre szignálja azt. FIGYELEM!!! Szignálni fontos, mert különben nem lehet majd telepíteni az appot! A kész állomány ugyancsak a place-apk-here-for-modding könyvtárba találjuk majd. Fölmásoljuk a telefonra, installáljuk (vagy közvetlenűl gépről telepítjük a cuccot) és örülünk. 

Ezeken túl még egy csomó okosságot lehet művelni a toolal, de én csak a fönt említett részét próbáltam.

Nagyjából ennyi. Idáig azokon az appokon, amiken tettem egy-egy próbát, működik a dolog, de azért azt is megjegyezném, hogy én még 2.1-es droidod használok, tehát nem tudom, hogy 2.2-es programokkal is működik-e. 2.1-ig bezárólag viszont szerintem teszi a dolgát.


Címkék: apktool apk manager 4.9

A bejegyzés trackback címe:

https://androlib.blog.hu/api/trackback/id/tr942548026

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

igazine 2010.12.30. 13:48:23

jó cucc, köszi

arról van valami infó, hogy a frissítésekkel mi lesz a buherálás után? felmennek egyáltalán?

Darkcomet 2010.12.30. 15:46:16

Gőzöm sincs, De ha fel is mennek, kezdheti az ember elölről az egészet. Ha felmész ide: andappstore.com/AndroidApplications/category/ akkor innen közvetlenül a gépre lehet letölteni az alkalmazásokat (van neki telefonos kliense is, az is először letölt, és csak utána telepít, ha engeded neki), és egész hamar megjelennek az adatbázisába a frissítések. Tehát ha valaki gyomlálgatni akarja az appokat, akkor szerintem marad a manuális letöltés, hack és telepítés metódus.

igazine 2011.01.02. 14:00:47

Igen, elég nyílvánvalónak tűnik, hogy a frissítést is buhergálni kell majd. 2 appom van mindössze a Marketben és teszteket még nem végeztem ez ügyben (amúgy nem lenne bonyolult), de elsősorban arra gondolok, hogy vajon befolyásolja-e a signature módosulása az egész app telepítési procedúrát? Tehát, miután újra kell sign-olni az appokat, az update-re nem fog-e az Android hibát jelezni, megjelenik-e stb.

Google+