Last active
December 29, 2015 13:29
-
-
Save tkawajir/7677197 to your computer and use it in GitHub Desktop.
lokiアドレスの求め方(LG G2の場合)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aboot.imgをバイナリエディタで開いて、 | |
アドレス0xCの値から0x28引いたものがABOOT_BASE_G2になる。 | |
(リトルエンディアンなので下位バイトから読む) | |
ABOOT_BASE_G2 = 0x0f800000 - 0x28 = 0x0f7fffd8 | |
今までは、ANDROID_BOOT!のアドレスをOFFSETに指定していたが、 | |
既にコミットされているhdrやcheck_sigsのアドレスから考えると、 | |
G2のOFFSETはapp/aboot/aboot.cのアドレスになる。 | |
バイナリエディタで"app/aboot/aboot.c"をテキスト検索して、 | |
該当のアドレスをABOOT_OFFSETとする。 | |
ABOOT_BASE_G2 + ABOOT_OFFSETを計算した値をhex検索して | |
hdrの候補を洗い出す。 | |
(hex検索するときは、計算した値を逆順にすること) | |
7個ぐらい見つかるので、hex検索した値の前後を控えておく。 | |
そうすると、hex検索した値の前はすべて同じ値で、 | |
後ろに2つ特定の値が見つかる。 | |
それを逆順に読んだものがhdrのアドレスとなる。 | |
後は、loki.hに定義されているPATTERN5をhex検索して、 | |
そのアドレスをABOOT_BASE_G2に足したものが | |
check_sigsのアドレスとなる。 | |
ここからは、それぞれの端末での具体例を示す。 | |
LG G2(D801) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x35530 | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0f835508 | |
↑reversed:0855830f | |
0xd4b8 6811830F 0855830F 38B50446 | |
0xd734 6811830F 0855830F 2DE9F843 | |
0xddb8 6811830F 0855830F 0063830F | |
0xe084 6811830F 0855830F 4064900F | |
0xe418 6811830F 0855830F 8C59830F | |
0xe5f0 6811830F 0855830F 4064900F | |
0xecf8 6811830F 0855830F 032A2DE9 | |
hdr = 0xf906440 | |
PATTERN_OFFSET:132bc | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0F813294 | |
LG G2(L-01F) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x357f0 | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0xF8357C8 | |
↑reversed:c857830f | |
0xd51c 0814830F C857830F 38B50446 | |
0xd798 0814830F C857830F 2DE9F843 | |
0xde50 0814830F C857830F FEF7BCF8 | |
0xe0f0 0814830F C857830F C0418D0F | |
0xe484 0814830F C857830F 4C5C830F | |
0xe65c 0814830F C857830F C0418D0F | |
0xeda4 0814830F C857830F 032A2DE9 | |
hdr = 0x0f8d41c0 | |
PATTERN_OFFSET:0x13560 | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0f813538 | |
LG G2(LGL22) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x35728 | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0F835700 | |
↑reversed:0057830f | |
0xd50c 2813830F 0057830F 38B50446 | |
0xd788 2813830F 0057830F 2DE9F843 | |
0xde40 2813830F 0057830F FEF7BCF8 | |
0xe0e0 2813830F 0057830F C0418D0F | |
0xe474 2813830F 0057830F 845B830F | |
0xe64c 2813830F 0057830F C0418D0F | |
0xee54 2813830F 0057830F 032A2DE9 | |
hdr = 0x0f8d41c0 | |
PATTERN_OFFSET:0x13480 | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0F813458 | |
LG G2(ATT) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x35530 | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0f835508 | |
↑reversed:0855830f | |
0xd4b8 6811830F 0855830F 38B50446 | |
0xd734 6811830F 0855830F 2DE9F843 | |
0xddb8 6811830F 0855830F 0063830F | |
0xe084 6811830F 0855830F 4064900F | |
0xe418 6811830F 0855830F 8C59830F | |
0xe5f0 6811830F 0855830F 4064900F | |
0xecf8 6811830F 0855830F 032A2DE9 | |
hdr=0x0f906440 | |
PATTERN_OFFSET:0x132d4 | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0f8132ac | |
LG G2(F320K) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x3571c | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0F8356F4 | |
↑reversed:f456830f | |
0xd4dc 2813830F F456830F 38B50446 | |
0xd758 2813830F F456830F 2DE9F843 | |
0xdddc 2813830F F456830F 0065830F | |
0xe0a8 2813830F F456830F 40E48D0F | |
0xe43c 2813830F F456830F 785B830F | |
0xe514 2813830F F456830F 40E48D0F | |
0xed24 2813830F F456830F 032A2DE9 | |
hdr=0x0f8de440 | |
PATTERN_OFFSET:0x13498 | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0F813470??? | |
↑loki_patch.cの指定と異なっている。 | |
LG G2(F320S_V11c) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x3571c | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0F8356F4 | |
↑reversed:f456830f | |
0xd4dc 2813830F F456830F 38B50446 | |
0xd758 2813830F F456830F 2DE9F843 | |
0xdddc 2813830F F456830F 0065830F | |
0xe0a8 2813830F F456830F 40E48D0F | |
0xe43c 2813830F F456830F 785B830F | |
0xe614 2813830F F456830F 40E48D0F | |
0xed24 2813830F F456830F 032A2DE9 | |
hdr=0x0f8de440 | |
PATTERN_OFFSET:0x13498 | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0F813470 | |
LG G2(F320S) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x35580 | |
(app/aboot/aboot.c) | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0F835558 | |
↑reversed:5855830f | |
0xd4d8 A811830F 5855830F 38B50446 | |
0xd754 A811830F 5855830F 2DE9F843 | |
0xddd8 A811830F 5855830F 4463830F | |
0xe0a4 A811830F 5855830F 40E48E0F | |
0xe438 A811830F 5855830F DC59830F | |
0xe610 A811830F 5855830F 40E48E0F | |
0xed0c A811830F 5855830F 032A2DE9 | |
hdr=0x0f8ee440 | |
PATTERN_OFFSET:0x1330c | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0F8132E4 | |
LG G Flex(F340K) | |
ABOOT_BASE_G2:0x0f7fffd8 | |
ABOOT_OFFSET:0x34340 | |
ABOOT_BASE_G2 + ABOOT_OFFSET:0x0F834318 | |
↑reversed:1843830f | |
0xc738 6803830f 1843830f 38b50446 | |
0xc9b4 6803830f 1843830f 2de9f843 | |
0xd038 6803830f 1843830f 3051830f | |
0xd304 6803830f 1843830f 40648b0f | |
0xd698 6803830f 1843830f 9c47830f | |
0xd870 6803830f 1843830f 40648b0f | |
0xdfa4 6803830f 1843830f 032a2de9 | |
hdr=0x0f8b6440 | |
PATTERN_OFFSET:0x124cc | |
check_sigs = ABOOT_BASE_G2 + PATTERN_OFFSET = 0x0f8124a4 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment