Little more my findings and guess for your interest.
Some archive member header shares same binary in part. In detail,
Code: Select all
(Tbl.nem.1)
ofs in header size
+0x000..+0x07f 128 COMMON1 same between some headers, random number
+0x080..+0x0af 48 RND1 completely different, random number
+0x0b0..+0x0b3 4 DATASIZE dword, must be "archive member data size"
+0x0b4..+0x0cf 28 FIX1 0x80 and zeros
+0x0d0..+0x0d3 4 FIX2 0x00 0x00 0x00 0x06
+0x0d4..+0x0e7 20 RND2 completely different, random number
+0x0e8..+0x0ef 8 COMMON2 same between some headers, random number
+0x0f0..+0x12f 64 COMMON3 same between some headers, random number
+0x130..+0x13f 16 COMMON4 same between some headers w/datasize 0x110, random number
+0x140..+0x14f 16 RND3 completely different, random number
Then, which archive member shares same binary? There's some interesting result. Note that member number is 0..426 in this discussion.
Code: Select all
(Tbl.nem.2)
members w/DATASIZE==0x00000110, i.e. member 0, 1, 3, 5, ... 421, 423, 425
GROUP_A 1, 3, ... 181, 183 COMMON1, COMMON2, COMMON3, COMMON4
GROUP_B 185, 186, ... 385, 387 COMMON1, COMMON2, COMMON3, COMMON4
GROUP_C 389, 391, ... 423, 425, 0 COMMON1, COMMON2, COMMON3, COMMON4
Note that DATASIZE is all same in these members by definition.
members w/DATASIZE!=0x00000110, i.e. member 2, 4, 6, ... 422, 424, 426
2..12 COMMON1, COMMON2, COMMON3
14..42 COMMON1, COMMON2, COMMON3
44..52 COMMON1, COMMON2, COMMON3
54..78 COMMON1, COMMON2, COMMON3
80..166 COMMON1, COMMON2, COMMON3
168..230 COMMON1, COMMON2, COMMON3
232..316 COMMON1, COMMON2, COMMON3
318..338 COMMON1, COMMON2, COMMON3
340..384 COMMON1, COMMON2, COMMON3
386..406 COMMON1, COMMON2, COMMON3
408..426 COMMON1, COMMON2, COMMON3
Note that FIX1, FIX2 is same in all members.
RND1, RND2, RND3 is completely different between each member, excluding member 290/300.
There is some exceptional match in header as follows.
Code: Select all
(Tbl.nem.3)
DATASIZE match on members w/DATASIZE!=0x00000110
memb# 30 00006200..00006760 +00B0 VAR 000062B0: 0A 04 00 00 80 00 00 00 00 00 00 00 00 00 00 00
memb# 36 00007940..00007EA0 +00B0 VAR 000079F0: 0A 04 00 00 80 00 00 00 00 00 00 00 00 00 00 00
memb# 38 00008100..00008660 +00B0 VAR 000081B0: 0A 04 00 00 80 00 00 00 00 00 00 00 00 00 00 00
DATASIZE match on members w/DATASIZE!=0x00000110
memb# 106 00373B30..00375400 +00B0 VAR 00373BE0: 71 17 00 00 80 00 00 00 00 00 00 00 00 00 00 00
memb# 248 004F0D80..004F2650 +00B0 VAR 004F0E30: 71 17 00 00 80 00 00 00 00 00 00 00 00 00 00 00
COMMON4 match on members w/DATASIZE!=0x00000110
memb# 30 00006200..00006760 +0130 VAR 00006330: C3 48 62 39 ED 0C 6A 0F E9 D2 04 E1 EC 44 39 63
memb# 36 00007940..00007EA0 +0130 VAR 00007A70: C3 48 62 39 ED 0C 6A 0F E9 D2 04 E1 EC 44 39 63
memb# 38 00008100..00008660 +0130 VAR 00008230: C3 48 62 39 ED 0C 6A 0F E9 D2 04 E1 EC 44 39 63
All header match
memb# 290
memb# 300
member 30,36,38, which is in GROUP_A, have same datasize and they have same COMMON4, but member 106 and 248, which is in GROUP_A and GROUP_B respectively, have same datasize and they have different COMMON4.
member 290 and 300 is ALL SAME, not only member header but also member data.
I'll discuss regarding these later.
Next, archive member data match. There's less match.
Code: Select all
(Tbl.nem.4)
Member data match on members w/DATASIZE!=0x00000110 i.e. member 2, 4, 6, ... 422, 424, 426
memb# 290 and 300 all data is same
Member data match on members w/DATASIZE==0x00000110 i.e. member 0, 1, 3, 5, ... 421, 423, 425
GROUP_A
memb# 1.. 39 +0x00..0x0f 36 11 F1 1E 9F 7D 97 80 D3 52 1B 37 DA 27 DA 96
1.. 5 +0x10..0x1f 68 4F 6C 28 2D 0D 1C 3B A7 10 C0 7B 3D B3 D5 59
7.. 11 +0x10..0x1f CA 50 5D 72 E9 5B AE F6 A8 BC 16 17 72 7D 46 DE
13.. 17 +0x10..0x1f C9 5C 05 23 D0 AC 6C 2D B5 83 26 10 36 2F 61 DF
19, 21 +0x10..0x1f 49 51 38 95 83 A5 5C 9A E3 A5 97 AE 47 A4 22 5A
memb# 41.. 51 +0x00..0x0f 2A 27 AB 47 08 E4 3C CC E2 55 37 08 2F 68 E4 C6
memb# 53.. 85 +0x00..0x0f 73 18 F8 F2 28 4E 36 05 57 1B BF 9B F2 92 65 FA
memb# 87.. 91 +0x00..0x0f 5B 35 DA 21 23 8E F1 45 96 96 5F 39 58 6C 3D FF
memb# 95..101 +0x00..0x0f 0B 96 4A D4 C8 B1 18 CD 3B 07 5A 77 E8 DD 54 41
memb# 103..107 +0x00..0x0f D6 97 D3 B1 46 84 FE 7C F8 84 81 24 07 7E A5 6C
memb# 109..113 +0x00..0x0f 1A 3B 3F BA 9F 76 83 58 04 4D 5A 60 56 91 0A E8
memb# 117, 119 +0x00..0x0f FC BE AE 18 97 55 47 D2 CD B1 3A 3C 03 BC F6 3D
memb# 123..137 +0x00..0x0f F3 3F 26 BF 08 FB 18 8D E6 48 A8 65 B7 E6 95 75
memb# 139..159 +0x00..0x0f 26 EC B1 AA 15 38 DD 04 4C F7 7E D7 07 D0 B0 C3
memb# 161..183 +0x00..0x0f 98 25 88 31 87 D8 45 DD 8D C7 80 E6 46 0C B9 EE
GROUP_B
memb# 185..191 +0x00..0x0f 82 DC D7 F8 AE DC DD 94 15 E2 77 7F 85 5E A0 B3
memb# 195..227 +0x00..0x0f E1 F3 27 20 FD A4 18 7F BD BF 51 A5 AB 9D A1 81
memb# 229..237 +0x00..0x0f FE 9D AF 9E E5 4E A4 19 AC 23 C4 18 26 C4 A4 BF
memb# 239..255 +0x00..0x0f 6F EE 9C A3 46 CF 3C 83 AF CD C3 9D 93 BE 83 7D
memb# 259..279 +0x00..0x0f A4 02 E4 E3 4D 5C FF A4 4D BB 47 04 8B 0E 8C F2
memb# 281..285 +0x00..0x0f 5E 7A 3F EA 8B 8A F8 DA 1C C5 B3 6F 61 19 82 95
memb# 289..387 +0x00..0x0f 9F E4 11 BE E7 D3 2D 17 4B 9C DB 79 BD 77 13 23
343..347 +0x10..0x1f A0 93 8C 41 04 5A 40 32 78 05 37 5D FD 1C 4E 79
GROUP_C
memb# 389..423 +0x00..0x0f 7B 35 23 BF 49 8D DA 9F 7C 51 2F C0 DB 54 E0 CA
407, 409 +0x10..0x1f EC 5D F4 77 71 C8 89 EF 74 E5 24 7D 2F F5 2A CF
413..417 +0x10..0x1f 67 D2 E8 58 58 5B 26 FF 4F 17 28 A9 4F C7 BB 73
Interesting?
(revised)