Skip to content

Instantly share code, notes, and snippets.

@tkawajir
Last active December 29, 2015 13:29
Show Gist options
  • Save tkawajir/7677197 to your computer and use it in GitHub Desktop.
Save tkawajir/7677197 to your computer and use it in GitHub Desktop.
lokiアドレスの求め方(LG G2の場合)
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