2024. május 5., vasárnap

Gyorskeresés

Útvonal

Cikkek » Telefónia rovat

Android magyarítás guide

"Fordítsuk le a rendszert, közelebb jutunk egy saját ROM-hoz!" - így kezdődött minden...

[ ÚJ TESZT ]

A digitális aláírás

...csak semmit sem értünk el a munkánkkal, mert az összes fájlunkból hiányzik a META-INF mappa. Ez nekünk így nem jó, mert a kernel meg fogja nézni a hitelesítést és bizony nem tölti be, amiből hiányzik!

Alá kell írnunk tehát a fájlokat, mielőtt használnánk őket!

Ehhez a következő csomagra lesz szükségünk: Signapk.

A rendszerfájlokat mindig platformkulcs védi, tehát azt kell használnunk a következő módon:

java -Xmx1024m -jar signapk.jar -w platform.x509.pem platform.pk8 nemszignált.apk szignált.apk

Ugyanezt megtehetjük az Android Kitchen megfelelő menüpontjával, ha a fájlokat az előkészített munkakönyvtárba másoltuk.

Egy apk fájl aláírását Linux alatt magunk is ellenőrizhetjük, ha kiadjuk a következő parancsokat:

$ unzip -p apkfájlunk.apk META-INF/CERT.RSA | keytool -printcert

Erre kapunk egy ilyen kiírást:

Owner: EMAILADDRESS=android.os@samsung.com, CN=Samsung Cert, OU=DMC, O=Samsung Corporation, L=Suwon City, ST=South Korea, C=KR
Issuer: EMAILADDRESS=android.os@samsung.com, CN=Samsung Cert, OU=DMC, O=Samsung Corporation, L=Suwon City, ST=South Korea, C=KR
Serial number: d20995a79c0daad6
Valid from: Wed Jun 22 14:25:12 CEST 2011 until: Sun Nov 07 13:25:12 CET 2038
Certificate fingerprints:
MD5: D0:87:E7:29:12:FB:A0:64:CA:FA:78:DC:34:AE:A8:39
SHA1: 9C:A5:17:0F:38:19:19:DF:E0:44:6F:CD:AB:18:B1:9A:14:3B:31:63
Signature algorithm name: SHA1withRSA
Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 93 2C 3A F7 0B 62 7A 0C 76 10 B5 A0 E7 42 7D 6C .,:..bz.v....B.l
0010: FA EA 3F 1E ..?.
]
]

#2: ObjectId: 2.5.29.19 Criticality=false
BasicConstraints:[
CA:true
PathLen:2147483647
]

#3: ObjectId: 2.5.29.35 Criticality=false
AuthorityKeyIdentifier [
KeyIdentifier [
0000: 93 2C 3A F7 0B 62 7A 0C 76 10 B5 A0 E7 42 7D 6C .,:..bz.v....B.l
0010: FA EA 3F 1E ..?.
]

[EMAILADDRESS=android.os@samsung.com, CN=Samsung Cert, OU=DMC, O=Samsung Corporation, L=Suwon City, ST=South Korea, C=KR]
SerialNumber: [ d20995a7 9c0daad6]
]

Láthatjuk, hogy ez pl. a Samsung eredeti kódja. Csakhogy nem tudjuk, hogy csak a kulcsot nem piszkálta senki, vagy tényleg hiteles a fájl...

Most lássuk, hogy mi is történik, ha valaki belepiszkált a fájlba:

Adjuk ki ezt a parancsot:

$ jarsigner -verbose -verify apktfájlunk.apk

...és jön a hidegzuhany:

$ jarsigner: java.lang.SecurityException: SHA1 digest error for res/anim-land/task_close_enter.xml

Sérül a fájl integritása. Nocsak, egy hamisítvány. Ezt a kernel kiszúrja többnyire és már jön is a bootloop...

Lássuk milyen, mikor átmegy:

sm 7648 Wed May 23 23:18:08 CEST 2012 AndroidManifest.xml
...
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope

jar verified.

Na, hát ez mindjárt jobban fest!

Dolgunk végeztével, a fent már tárgyalt módon csomagoljuk vissza a romunk vagy használhatjuk a Kitchent is, elvégre erre találták ki, majd nézzük meg fel tudjuk-e flashelni, majd be tudjuk-e bootolni a romunkat. Ha figyeltünk, akkor minden simán fog menni!

Ám, szerencsénkre vannak kényelmesebb emberek, akik nem törődtek bele, hogy ezzel ennyi gond van, így kitaláltak nekünk egy okosabb megoldást.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.