@sie-js/apoxi-tool 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/data/unlocker.elf.js +90 -90
- package/dist/src/lib/dwd.js +19 -12
- package/dist/src/utils/retry.d.ts +1 -0
- package/dist/src/utils/retry.js +2 -0
- package/package.json +1 -1
@@ -1,93 +1,93 @@
|
|
1
1
|
// DO NOT EDIT! AUTO-GENERATED BY tools/importApoxiUnlockerElf.ts
|
2
|
-
export default Buffer.from("
|
2
|
+
export default Buffer.from("7f454c4601010100000000000000000003002800010000007c08000034000000f013000000020005340020000700280013001200060000003400000034000000" +
|
3
3
|
"34000000e0000000e000000004000000040000000300000014010000140100001401000011000000110000000400000001000000010000000000000000000000" +
|
4
4
|
"00000000250100002501000004000000010000000100000028010000280100002801000049000000490000000400000004000000010000007401000074010000" +
|
5
|
-
"
|
6
|
-
"
|
7
|
-
"
|
8
|
-
"
|
9
|
-
"
|
10
|
-
"
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
"
|
15
|
-
"
|
16
|
-
"
|
17
|
-
"
|
18
|
-
"
|
19
|
-
"
|
20
|
-
"
|
21
|
-
"
|
22
|
-
"
|
23
|
-
"
|
24
|
-
"
|
25
|
-
"
|
26
|
-
"
|
27
|
-
"
|
28
|
-
"
|
29
|
-
"
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"
|
33
|
-
"
|
34
|
-
"
|
35
|
-
"
|
36
|
-
"
|
37
|
-
"
|
38
|
-
"
|
39
|
-
"
|
40
|
-
"
|
41
|
-
"
|
42
|
-
"
|
43
|
-
"
|
44
|
-
"
|
45
|
-
"
|
46
|
-
"
|
47
|
-
"
|
48
|
-
"
|
49
|
-
"
|
50
|
-
"
|
51
|
-
"
|
52
|
-
"
|
53
|
-
"
|
54
|
-
"
|
55
|
-
"
|
56
|
-
"
|
57
|
-
"
|
58
|
-
"
|
59
|
-
"
|
60
|
-
"
|
61
|
-
"
|
62
|
-
"
|
63
|
-
"
|
64
|
-
"
|
65
|
-
"
|
66
|
-
"
|
67
|
-
"
|
68
|
-
"
|
69
|
-
"
|
70
|
-
"
|
71
|
-
"
|
72
|
-
"
|
73
|
-
"
|
74
|
-
"
|
75
|
-
"
|
76
|
-
"
|
77
|
-
"
|
78
|
-
"
|
79
|
-
"
|
80
|
-
"
|
81
|
-
"
|
82
|
-
"
|
83
|
-
"
|
84
|
-
"
|
85
|
-
"
|
86
|
-
"
|
87
|
-
"
|
88
|
-
"
|
89
|
-
"
|
90
|
-
"
|
91
|
-
"
|
92
|
-
"
|
93
|
-
"
|
5
|
+
"740100008808000088080000050000000400000001000000fc090000fc090000fc0900009400000038010200060000000400000002000000fc090000fc090000" +
|
6
|
+
"fc090000880000008800000006000000040000002f7573722f6c69622f6c642e736f2e3100000000010000000300000000000000000000000000000000000000" +
|
7
|
+
"000000000000000000000000000000000000000014020000000000000300060000000000900a00000000000003000a0000000000440600001700000048060000" +
|
8
|
+
"170000004c0600001700000050060000170000005c06000017000000600600001700000064060000170000006c060000170000007c0600001700000080060000" +
|
9
|
+
"1700000084060000170000008806000017000000ec06000017000000f00600001700000070070000170000007407000017000000f407000017000000f8070000" +
|
10
|
+
"17000000fc07000017000000780800001700000004e04ee2ff5f2de920649fe518d04de29d0100eb042096e50f3ae0e3c72f03e50000e0e30c30e0e30f22a0e3" +
|
11
|
+
"083086e50c0086e5c03092e5000053e3020000aa803092e5010013e30300001a0230e0e3083086e518d08de2ff9ffde8101f12ee103f13ee14308de514c09de5" +
|
12
|
+
"c0339fe5021a81e200c083e500c891e5b4339fe5b4539fe500c083e5350100ebac339fe5ac439fe5003881e5a8339fe5c01092e5a4939fe5001083e5c03092e5" +
|
13
|
+
"9ca39fe50231c3e3c03082e594339fe594739fe5003085e590339fe5004089e500408ae5003087e5440100eb000050e31200000a0120a0e30010a0e39000a0e3" +
|
14
|
+
"e10000eb0120a0e30210a0e10080a0e100008ae59000a0e3db0000eb890058e3200058130110a0130010a0030040a0e1000089e51600000a0a50e0e3080000ea" +
|
15
|
+
"2c339fe5003085e528339fe5003087e52a0100eb000050e30480a0010b50e003e3ffff1a084884e1000055e30c4086e5085086150400001a0a42a0e30c3094e5" +
|
16
|
+
"010073e35200001a083086e50c0100ebb4ffffea002095e598e0a0e30a52a0e30a2282e2b0e0c2e1be74d5e1c8329fe50190a0e3ff00a0e3f0c0a0e31977a0e1" +
|
17
|
+
"001083e5b0c0c5e1b000c5e1b0e0c2e1b825d5e108708de5b0c0c5e1b000c5e198029fe5080052e30950e083002080e5dbffff8a88b29fe50221a0e12d2082e2" +
|
18
|
+
"2da0a0e30c208de504108de50c209de502005ae10900001a0c009de9020053e10850e013ceffff1a4c329fe5003093e5020853e30750e0830050a093c8ffffea" +
|
19
|
+
"0a10a0e10020a0e39800a0e38e0000eb01108ae20020a0e30090a0e19800a0e3890000eb02108ae20020a0e3009489e19800a0e3840000eb0020a0e303108ae2" +
|
20
|
+
"019089e204a08ae20070a0e19800a0e37d0000eb04309de500508be5007487e10774a0e1970902e00c708be5023083e004308de5c0319fe504028be9025085e0" +
|
21
|
+
"002093e510b08be2020057e100708385cdffffea860000eb008050e25600000a0c1098e50400a0e13a0100eb007051e24500001a003098e588919fe5f020a0e3" +
|
22
|
+
"b020c3e1ff20a0e3b020c3e10930a0e10c2098e5020055e13600003a0a42a0e36030a0e3b030c4e12020a0e3d030a0e3b030c4e1b020c4e1b030c4e1b030d4e1" +
|
23
|
+
"800013e3fcffff0a0130a0e36050a0e3b050c4e1b030c4e1003098e5f020a0e3b020c3e1ff20a0e3b020c3e1043098e5000053e383ffffba0030e0e30c30c9e5" +
|
24
|
+
"0d30c9e50e30c9e50f30c9e5580000eb000050e32800000a0c2090e5d030a0e30120c2e34010a0e370c0a0e3b050c4e1b030c4e1070052e11500001a0a32a0e3" +
|
25
|
+
"6020a0e3b020c3e10120a0e3b020c3e1003090e5f020a0e3b020c3e1ff20a0e3b020c3e10030a0e3083086e5740000ebaa0000eb1bffffea0a2285e20020d2e5" +
|
26
|
+
"015085e20120c3e4c0ffffea0530e0e35cffffea0a3287e2b010c3e1b9e097e1b0e0c3e1b0c0c3e1b0e0d3e180001ee3fcffff0a027087e2ddffffea0630e0e3" +
|
27
|
+
"50ffffea7c080000200b02001c0b0200280b0200120c00a0ffff0000180b02002c0b0200300b0200aa0a0000240b020054050000aaaa000054550000900a0200" +
|
28
|
+
"940a0200980a0200900a000058309fe5000052e3003093e50a3283e20600000aaa20a0e3b020c3e140209fe555c0a0e3002092e50a2282e2b0c0c2e10008a0e1" +
|
29
|
+
"2008a0e18110a0e1b000c3e10a1281e20a32a0e3f020a0e3b000d1e1b020c3e1ff20a0e3b020c3e11eff2fe1280b0200240b020074209fe574309fe500c092e5" +
|
30
|
+
"0300a0e10020a0e30c0052e11000001a0000a0e31eff2fe1001093e5160271e30500009a04e093e50e1081e00a0251e30100009a020280e004f09de4012082e2" +
|
31
|
+
"0c0052e1103083e2f2ffff1a0000a0e304f09de4001093e5160271e30120829210308392e7ffff9a04e02de5ecffffea940a0200980a020010d04de204008de5" +
|
32
|
+
"103f13ee0c308de504309de5103f03ee0000a0e10000a0e10000a0e10000a0e10000a0e10000a0e10000a0e10000a0e10000a0e10000a0e10c309de510d08de2" +
|
33
|
+
"1eff2fe1103f12ee24209fe5023a83e2002092e5002883e518309fe5002093e50f32a0e3c02083e50c309fe5000093e5e0ffffea1c0b0200180b0200200b0200" +
|
34
|
+
"70209fe50a32a0e3002092e510402de9f0c0a0e3ff10a0e3032082e098e0a0e3b0c0c3e1b010c3e1b0e0c2e1b002d3e1b0c0c3e1b010c3e1b0e0c2e1b242d3e1" +
|
35
|
+
"b0c0c3e1b010c3e1b0e0c2e1b422d3e1510050e3520054030100a0030000a013b0c0c3e1590052e30000a01301000002b010c3e11080bde8280b020064feffea" +
|
36
|
+
"00000000000000000000000000000000000000000000000000000000000000007aff17ee0000a0e10000a0e10000a0e1faffff1a0000a0e39a0f07ee0000a0e1" +
|
37
|
+
"0000a0e10000a0e10000a0e10000a0e10000a0e1150f07ee0000a0e10000a0e11eff2fe1012051e21eff2f013600003a010050e12200009a020011e12300000a" +
|
38
|
+
"0e0211e38111a0010830a0030130a013010251e3000051310112a0310332a031faffff3a020151e3000051318110a0318330a031faffff3a0020a0e3010050e1" +
|
39
|
+
"0100402003208221a10050e1a1004020a3208221210150e12101402023218221a10150e1a1014020a3218221000050e32332b0112112a011efffff1a0200a0e1" +
|
40
|
+
"1eff2fe10100a0030000a0131eff2fe1010851e32118a0211020a0230020a033010c51e32114a02108208222100051e32112a02104208222040051e303208282" +
|
41
|
+
"a12082903002a0e11eff2fe1000050e30000e013070000ea000051e3faffff0a03402de9beffffeb0640bde8920003e0031041e01eff2fe11eff2fe104000000" +
|
42
|
+
"28010000050000007001000006000000400100000a000000010000000b000000100000001500000000000000110000007401000012000000a000000013000000" +
|
43
|
+
"080000001600000000000000fbffff6f00000008faffff6f14000000000000000000000000000000000000000000000000000000000000000000000000000000" +
|
44
|
+
"00000000fc09000000000000000000004743433a202841726d20474e5520546f6f6c636861696e2031342e322e52656c3120284275696c642061726d2d31342e" +
|
45
|
+
"353229292031342e322e31203230323431313139000000000c000000ffffffff0100017c0e0c0d000c00000000000000e4080000f40000002f646174612f6a65" +
|
46
|
+
"6e6b696e732f776f726b73706163652f474e552d746f6f6c636861696e2f61726d2d31342f6275696c642d61726d2d6e6f6e652d656162692f6f626a2f676363" +
|
47
|
+
"322f61726d2d6e6f6e652d656162692f6c6962676363002f646174612f6a656e6b696e732f776f726b73706163652f474e552d746f6f6c636861696e2f61726d" +
|
48
|
+
"2d31342f7372632f6763632f6c69626763632f636f6e6669672f61726d006c69623166756e63732e53004129000000616561626900011f000000053554454a00" +
|
49
|
+
"060508010901120414011501170318011a011e040000000000000000000000000000000000000000140100000000000003000100000000002801000000000000" +
|
50
|
+
"03000200000000004001000000000000030003000000000070010000000000000300040000000000740100000000000003000500000000001402000000000000" +
|
51
|
+
"0300060000000000fc090000000000000300070000000000840a0000000000000300080000000000900a0000000000000300090000000000900a000000000000" +
|
52
|
+
"03000a0000000000340b02000000000003000b0000000000000000000000000003000c0000000000000000000000000003000d00000000000000000000000000" +
|
53
|
+
"03000e0000000000000000000000000003000f000100000000000000000000000400f1ff080000008c06000000000000000006000b0000008c06000068000000" +
|
54
|
+
"0200060020000000ec060000000000000000060023000000280b02000400000001000a0036000000240b02000400000001000a0008000000f406000000000000" +
|
55
|
+
"0000060049000000f406000084000000020006002000000070070000000000000000060067000000940a02000400000001000a0079000000980a020080000000" +
|
56
|
+
"01000a000800000078070000000000000000060087000000780700004c0000000200060008000000c40700000000000000000600a0000000c40700003c000000" +
|
57
|
+
"0200060020000000f40700000000000000000600b20000001c0b02000400000001000a00c0000000180b02000400000001000a00cb000000200b020004000000" +
|
58
|
+
"01000a0008000000000800000000000000000600dd000000000800007c0000000200060020000000780800000000000000000600080000001402000000000000" +
|
59
|
+
"0000060020000000440600000000000000000600f30000002c0b02000400000001000a00fd000000300b02000400000001000a0007010000900a020004000000" +
|
60
|
+
"01000a0016010000900a00000000020001000a0020000000900a00000000000000000a0020000000900a02000000000000000a0020000000940a020000000000" +
|
61
|
+
"00000a0020000000980a02000000000000000a0020000000180b02000000000000000a00200000001c0b02000000000000000a0020000000200b020000000000" +
|
62
|
+
"00000a0020000000240b02000000000000000a0020000000280b02000000000000000a00200000002c0b02000000000000000a0020000000300b020000000000" +
|
63
|
+
"00000a002301000000000000000000000400f1ff080000007c08000000000000000006002000000080080000000000000000060008000000a008000000000000" +
|
64
|
+
"000006002e01000000000000000000000400f1ff08000000e4080000000000000000060039010000e40800000000000000000600200000001000000000000000" +
|
65
|
+
"00000d005101000000000000000000000400f1ff08000000f809000000000000000006000000000000000000000000000400f1ff5d010000fc09000000000000" +
|
66
|
+
"0100f1ff66010000d8090000200000000200060077010000840a0000000000000100f1ff8d010000f80900000400000002000600b4010000340b020000000000" +
|
67
|
+
"10000a009b010000e4080000f400000012020600a5010000900a00000000000010000a00b3010000340b02000000000010000a001e0200007c08000000000000" +
|
68
|
+
"12000600bf010000f80900000400000022020600cd010000900a00000000000010000a00d9010000140200007804000012000600de010000e408000000000000" +
|
69
|
+
"12020600ec010000340b02000000000010000a00f4010000a0080000000000001200060005020000900a000000000000100008000c020000340b020000000000" +
|
70
|
+
"10000a0011020000000008000000000010000b0018020000900a00000000000010000800006d61696e2e6300246100726561645f7265672e636f6e737470726f" +
|
71
|
+
"702e3000246400666c6173685f756e6c6f636b5f616464723100666c6173685f756e6c6f636b5f61646472320066696e645f666c6173685f726567696f6e2e63" +
|
72
|
+
"6f6e737470726f702e300065726173655f726567696f6e735f636e740065726173655f726567696f6e73007365745f646f6d61696e5f6163636573732e697372" +
|
73
|
+
"612e30006c6f636b5f666c6173685f616363657373006f6c645f666c6173685f6d6d75006f6c645f627573636f6e006f6c645f646f6d61696e5f616363657373" +
|
74
|
+
"00636865636b5f7172792e636f6e737470726f702e3000666c6173685f70696400666c6173685f766964006d61785f65726173655f73697a650077726974655f" +
|
75
|
+
"62756666657200696e69742e532e6f626a005f756469767369332e6f002e756469767369335f736b69705f646976305f74657374005f64766d645f746c732e6f" +
|
76
|
+
"005f44594e414d4943005f5f61656162695f75696469766d6f64005f474c4f42414c5f4f46465345545f5441424c455f005f5f61656162695f6964697630005f" +
|
77
|
+
"5f75646976736933005f5f6273735f73746172745f5f005f5f6273735f656e645f5f005f5f61656162695f6c64697630005f5f6273735f7374617274006d6169" +
|
78
|
+
"6e005f5f61656162695f7569646976005f5f656e645f5f00636c65616e5f616c6c5f636163686573005f6564617461005f656e64005f737461636b005f5f6461" +
|
79
|
+
"74615f737461727400002e73796d746162002e737472746162002e7368737472746162002e696e74657270002e68617368002e64796e73796d002e64796e7374" +
|
80
|
+
"72002e72656c2e64796e002e74657874002e64796e616d6963002e676f74002e70657273697374656e74002e627373002e6e6f696e6974002e636f6d6d656e74" +
|
81
|
+
"002e64656275675f6672616d65002e64656275675f6c696e655f737472002e41524d2e6174747269627574657300000000000000000000000000000000000000" +
|
82
|
+
"0000000000000000000000000000000000000000000000001b000000010000000200000014010000140100001100000000000000000000000100000000000000" +
|
83
|
+
"23000000050000000200000028010000280100001800000003000000000000000400000004000000290000000b00000002000000400100004001000030000000" +
|
84
|
+
"04000000030000000400000010000000310000000300000002000000700100007001000001000000000000000000000001000000000000003900000009000000" +
|
85
|
+
"020000007401000074010000a0000000030000000000000004000000080000004200000001000000060000001402000014020000e80700000000000000000000" +
|
86
|
+
"0400000000000000480000000600000003000000fc090000fc0900008800000004000000000000000400000008000000510000000100000003000000840a0000" +
|
87
|
+
"840a00000c00000000000000000000000400000004000000560000000100000003000000900a0000900a00000000000000000000000000000400000000000000" +
|
88
|
+
"620000000800000003000000900a0000900a0000a400020000000000000000000400000000000000670000000800000003000000340b02000000000000000000" +
|
89
|
+
"000000000000000004000000000000006f000000010000003000000000000000900a000045000000000000000000000001000000010000007800000001000000" +
|
90
|
+
"0000000000000000d80a0000200000000000000000000000040000000000000085000000010000003000000000000000f80a0000b20000000000000000000000" +
|
91
|
+
"010000000100000095000000030000700000000000000000aa0b00002a0000000000000000000000010000000000000001000000020000000000000000000000" +
|
92
|
+
"d40b0000500500001100000046000000040000001000000009000000030000000000000000000000241100002502000000000000000000000100000000000000" +
|
93
|
+
"1100000003000000000000000000000049130000a500000000000000000000000100000000000000", "hex");
|
package/dist/src/lib/dwd.js
CHANGED
@@ -46,9 +46,11 @@ export async function unlockApoxiBootloader(dwd, options) {
|
|
46
46
|
const bootMode = (await dwd.readMemory(BOOT_MODE, 4)).buffer.readUInt32LE(0);
|
47
47
|
options.debug(sprintf("Boot mode: %08X", bootMode));
|
48
48
|
options.debug(sprintf("Ram: %08X, %dM", ramAddr, ramSize / 1024 / 1024));
|
49
|
-
options.debug("Searching empty ram block....");
|
49
|
+
options.debug("Searching empty ram block.... (this may take a while)");
|
50
50
|
let emptyRamBlock = 0;
|
51
51
|
for (let i = ramAddr; i < ramAddr + ramSize; i += 256 * 1024) {
|
52
|
+
if ((i % (1024 * 1024)) == 0)
|
53
|
+
options.debug(sprintf("RAM scan progress: %d Mb / %d Mb", (i - ramAddr) / 1024 / 1024, ramSize / 1024 / 1024));
|
52
54
|
const blockStart = await dwd.readMemory(i, 230);
|
53
55
|
if (blockStart.buffer.every((v) => v == 0)) {
|
54
56
|
const fullBlock = await dwd.readMemory(i, 256 * 1024);
|
@@ -82,17 +84,22 @@ export async function unlockApoxiBootloader(dwd, options) {
|
|
82
84
|
await dwd.writeMemory(PRAM_IRQ_HANDLER, uint32(PATCHER_ADDR));
|
83
85
|
let responseCode = PatchResponseCode.UNKNOWN;
|
84
86
|
let responseFlashId = 0;
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
87
|
+
try {
|
88
|
+
await retryAsyncOnError(async () => {
|
89
|
+
options.debug("Waiting for done...");
|
90
|
+
responseCode = (await dwd.readMemory(PARAM_RESPONSE_CODE, 4)).buffer.readInt32LE(0);
|
91
|
+
responseFlashId = (await dwd.readMemory(PARAM_RESPONSE_FLASH_ID, 4)).buffer.readUInt32LE(0);
|
92
|
+
options.debug(sprintf("Code: %d (%s)", responseCode, PatchResponseCode[responseCode]));
|
93
|
+
options.debug(sprintf("FlashID: %08X", responseFlashId));
|
94
|
+
if (responseCode == PatchResponseCode.SUCCESS) {
|
95
|
+
options.debug("Success!!! Boot mode patched, now reboot phone.");
|
96
|
+
}
|
97
|
+
}, { max: 10, delay: 1000 });
|
98
|
+
}
|
99
|
+
catch (e) {
|
100
|
+
options.debug(String(e));
|
101
|
+
options.debug("Error occurred when waiting response from unlocker. Please, reinstall battery and try again.");
|
102
|
+
}
|
96
103
|
if (!(responseCode == PatchResponseCode.FLASH_NOT_FOUND || responseCode == PatchResponseCode.FLASH_BUSY))
|
97
104
|
break;
|
98
105
|
}
|
package/dist/src/utils/retry.js
CHANGED