ArscDecoder
Decode Android resources.arsc file
Install / Use
/learn @xinghui/ArscDecoderREADME
ArscDecoder
Decode Android resources.arsc file
STRUCTURE:
COMMON STRUCTURE
// Header that appears at the front of every data chunk in a resource.
-
ResChunk_header
short type short headerSize int bodySize chunk size: 2 + 2 + 4;
UNIQUE STRUCTURE
// Header for a resource table.
-
ResTable_header
ResChunk_header header int packageCount chunk size: ResChunk_header.size + 4;// Definition for a pool of strings.
-
ResStringPool_header
ResChunk_header header int stringCount int styleCount int flags int stringsStart int stylesStart chunk size: ResChunk_header.size + 4 * 5// Convenience class for assessing data in a ResStringPool resource.
-
ResStringPool
skip: stringsStart - header.headerSize = stringCount * 4 + styleCount * 4 stringOffsets = int[stringCount] styleOffsets = int[styleCount] read string content, UTF8 or UTF16 read style content// A collection of resource data types within a packages.
-
ResTable_package
ResChunk_header header int id char[128] name int typeStrings int lastPublicType int keyStrings int lastPublicKey chunk size: ResChunk_header.size + 4 * 5 + 128 * 2// A specification of the resources defined by a particular type.
-
ResTable_typeSpec
ResChunk_header header byte id byte res0 short res1 int entryCount chunk size: ResChunk_header.size + 1 * 2 + 2 + 4// A collection of resource entries for a particular resource data type.
-
ResTable_type
ResChunk_header byte id byte res0 short res1 int entryCount int entriesStart ResTable_config config chunk size: ResChunk_header.size + 1 * 2 + 2 + 4 * 2 + ResTable_config.size// Describes a particular resource configuration.
-
ResTable_config
int size short mcc short mnc char[2] language char[2] country byte orientation byte touchscreen short density byte keyboard byte navigation byte inputFlags byte inputPad0 short screenWidth short screenHeight short sdkVersion short minorVersion byte screenLayout byte uiMode short smallestScreenWidthDp // connect with the size value // short screenWidthDp // short screenHeightDp // short layoutDirection
SAMPLE:
type: : 02 00 2
headerSize: : 0C 00 12
size: : 84 14 00 00 5252
packageCount: : 01 00 00 00 1
"...RES_TABLE_TYPE.............................."
type: : 01 00 1
headerSize: : 1C 00 28
size: : 30 04 00 00 1072
stringCount: : 2E 00 00 00 46
styleCount: : 00 00 00 00 0
flags: : 00 01 00 00 256
stringsStart: : D4 00 00 00 212
stylesStart: : 00 00 00 00 0
SORTED_FLAG = 1
UTF8_FLAG = 256
intArray{0] : 00 00 00 00 0
intArray{1] : 1B 00 00 00 27
intArray{2] : 3B 00 00 00 59
intArray{3] : 56 00 00 00 86
intArray{4] : 73 00 00 00 115
intArray{5] : 91 00 00 00 145
intArray{6] : AE 00 00 00 174
intArray{7] : C0 00 00 00 192
intArray{8] : E7 00 00 00 231
intArray{9] : 0E 01 00 00 270
intArray{10] : 36 01 00 00 310
intArray{11] : 5F 01 00 00 351
intArray{12] : 6F 01 00 00 367
intArray{13] : 77 01 00 00 375
intArray{14] : 7B 01 00 00 379
intArray{15] : 7F 01 00 00 383
intArray{16] : 84 01 00 00 388
intArray{17] : 8D 01 00 00 397
intArray{18] : 9A 01 00 00 410
intArray{19] : A3 01 00 00 419
intArray{20] : AD 01 00 00 429
intArray{21] : B7 01 00 00 439
intArray{22] : BC 01 00 00 444
intArray{23] : C1 01 00 00 449
intArray{24] : CE 01 00 00 462
intArray{25] : D4 01 00 00 468
intArray{26] : DA 01 00 00 474
intArray{27] : E5 01 00 00 485
intArray{28] : F4 01 00 00 500
intArray{29] : 03 02 00 00 515
intArray{30] : 10 02 00 00 528
intArray{31] : 56 02 00 00 598
intArray{32] : 64 02 00 00 612
intArray{33] : 6E 02 00 00 622
intArray{34] : 7E 02 00 00 638
intArray{35] : 87 02 00 00 647
intArray{36] : A1 02 00 00 673
intArray{37] : B0 02 00 00 688
intArray{38] : CC 02 00 00 716
intArray{39] : D7 02 00 00 727
intArray{40] : F7 02 00 00 759
intArray{41] : 08 03 00 00 776
intArray{42] : 1F 03 00 00 799
intArray{43] : 29 03 00 00 809
intArray{44] : 3E 03 00 00 830
intArray{45] : 55 03 00 00 853
----++--size = 860
readString : 18 18 72 65 73 2F 78 6D 6C 2F 70 72 65 66 5F 67 65 6E 65 72 61 6C 2E 78 6D 6C 00 1D 1D 72 65 73 2F 78 6D 6C 2F 70 72 65 66 5F 6E 6F 74 69 66 69 63 61 74 69 6F 6E 2E 78 6D 6C 00 18 18 72 65 73 2F 78 6D 6C 2F 70 72 65 66 5F 68 65 61 64 65 72 73 2E 78 6D 6C 00 1A 1A 72 65 73 2F 6C 61 79 6F 75 74 2F 61 63 74 69 76 69 74 79 5F 6D 79 2E 78 6D 6C 00 1B 1B 72 65 73 2F 6C 61 79 6F 75 74 2F 66 6C 6F 61 74 5F 77 69 6E 64 6F 77 2E 78 6D 6C 00 1A 1A 72 65 73 2F 78 6D 6C 2F 70 72 65 66 5F 64 61 74 61 5F 73 79 6E 63 2E 78 6D 6C 00 0F 0F 72 65 73 2F 6D 65 6E 75 2F 6D 79 2E 78 6D 6C 00 24 24 72 65 73 2F 64 72 61 77 61 62 6C 65 2D 6D 64 70 69 2D 76 34 2F 69 63 5F 6C 61 75 6E 63 68 65 72 2E 70 6E 67 00 24 24 72 65 73 2F 64 72 61 77 61 62 6C 65 2D 68 64 70 69 2D 76 34 2F 69 63 5F 6C 61 75 6E 63 68 65 72 2E 70 6E 67 00 25 25 72 65 73 2F 64 72 61 77 61 62 6C 65 2D 78 68 64 70 69 2D 76 34 2F 69 63 5F 6C 61 75 6E 63 68 65 72 2E 70 6E 67 00 26 26 72 65 73 2F 64 72 61 77 61 62 6C 65 2D 78 78 68 64 70 69 2D 76 34 2F 69 63 5F 6C 61 75 6E 63 68 65 72 2E 70 6E 67 00 0D 0D 57 68 65 6E 20 70 6F 73 73 69 62 6C 65 00 05 05 4E 65 76 65 72 00 01 01 31 00 01 01 30 00 02 02 2D 31 00 06 06 41 6C 77 61 79 73 00 0A 0A 33 30 20 6D 69 6E 75 74 65 73 00 06 06 31 20 68 6F 75 72 00 07 07 33 20 68 6F 75 72 73 00 07 07 36 20 68 6F 75 72 73 00 02 02 31 35 00 02 02 33 30 00 0A 0A 31 35 20 6D 69 6E 75 74 65 73 00 03 03 31 38 30 00 03 03 33 36 30 00 08 08 53 65 74 74 69 6E 67 73 00 0C 0C 44 65 76 41 73 73 69 73 74 61 6E 74 00 0C 0C 48 65 6C 6C 6F 20 77 6F 72 6C 64 21 00 0A 0A 4A 6F 68 6E 20 53 6D 69 74 68 00 43 43 52 65 63 6F 6D 6D 65 6E 64 61 74 69 6F 6E 73 20 66 6F 72 20 70 65 6F 70 6C 65 20 74 6F 20 63 6F 6E 74 61 63 74 20 62 61 73 65 64 20 6F 6E 20 79 6F 75 72 20 6D 65 73 73 61 67 65 20 68 69 73 74 6F 72 79 00 0B 0B 44 61 74 61 20 26 20 73 79 6E 63 00 07 07 47 65 6E 65 72 61 6C 00 0D 0D 4E 6F 74 69 66 69 63 61 74 69 6F 6E 73 00 06 06 53 69 6C 65 6E 74 00 17 17 41 64 64 20 66 72 69 65 6E 64 73 20 74 6F 20 6D 65 73 73 61 67 65 73 00 0C 0C 44 69 73 70 6C 61 79 20 6E 61 6D 65 00 19 19 4E 65 77 20 6D 65 73 73 61 67 65 20 6E 6F 74 69 66 69 63 61 74 69 6F 6E 73 00 08 08 52 69 6E 67 74 6F 6E 65 00 1D 1D 45 6E 61 62 6C 65 20 73 6F 63 69 61 6C 20 72 65 63 6F 6D 6D 65 6E 64 61 74 69 6F 6E 73 00 0E 0E 53 79 6E 63 20 66 72 65 71 75 65 6E 63 79 00 14 14 53 79 73 74 65 6D 20 73 79 6E 63 20 73 65 74 74 69 6E 67 73 00 07 07 56 69 62 72 61 74 65 00 06 12 E6 98 BE E7 A4 BA E6 B5 AE E5 8A A8 E6 97 A5 E5 BF 97 00 0C 14 E6 98 BE E7 A4 BA E6 B5 AE E5 8A A8 41 63 74 69 76 69 74 79 00 02 02 36 30 00 00 00
entry=== res/xml/pref_general.xml
entry=== res/xml/pref_notification.xml
entry=== res/xml/pref_headers.xml
entry=== res/layout/activity_my.xml
entry=== res/layout/float_window.xml
entry=== res/xml/pref_data_sync.xml
entry=== res/menu/my.xml
entry=== res/drawable-mdpi-v4/ic_launcher.png
entry=== res/drawable-hdpi-v4/ic_launcher.png
entry=== res/drawable-xhdpi-v4/ic_launcher.png
entry=== res/drawable-xxhdpi-v4/ic_launcher.png
entry=== When possible
entry=== Never
entry=== 1
entry=== 0
entry=== -1
entry=== Always
entry=== 30 minutes
entry=== 1 hour
entry=== 3 hours
entry=== 6 hours
entry=== 15
entry=== 30
entry=== 15 minutes
entry=== 180
entry=== 360
entry=== Settings
entry=== DevAssistant
entry=== Hello world!
entry=== John Smith
entry=== Recommendations for people to contact based on your message history
entry=== Data & sync
entry=== General
entry=== Notifications
entry=== Silent
entry=== Add friends to messages
entry=== Display name
entry=== New message notifications
entry=== Ringtone
entry=== Enable social recommendations
entry=== Sync frequency
entry=== System sync settings
entry=== Vibrate
entry=== 显示浮动日志
entry=== 显示浮动Activity
entry=== 60
"...RES_TABLE_PACKAGE_TYPE.............................."
type: : 00 02 512
headerSize: :
