@@ -17,7 +17,8 @@ private val File.isAppleBinary: Boolean
17
17
val header = UByteArray (4 )
18
18
it.read(header.asByteArray())
19
19
20
- return header.contentEquals(AppleTestBundle .FAT_MAGIC ) || header.contentEquals(AppleTestBundle .MH_MAGIC ) || header.contentEquals(AppleTestBundle .MH_MAGIC_64 )
20
+ return header.contentEquals(AppleTestBundle .FAT_MAGIC ) || header.contentEquals(AppleTestBundle .MH_MAGIC ) || header.contentEquals(AppleTestBundle .MH_MAGIC_64 ) ||
21
+ header.contentEquals(AppleTestBundle .FAT_CIGAM ) || header.contentEquals(AppleTestBundle .MH_CIGAM ) || header.contentEquals(AppleTestBundle .MH_CIGAM_64 )
21
22
}
22
23
}
23
24
@@ -139,10 +140,14 @@ class AppleTestBundle(
139
140
140
141
/* *
141
142
* See mach-o specification for these
143
+ * https://opensource.apple.com/source/xnu/xnu-4570.71.2/EXTERNAL_HEADERS/mach-o/loader.h.auto.html
142
144
*/
143
145
companion object {
144
- val FAT_MAGIC : UByteArray = ubyteArrayOf(0xca .toUByte(), 0xfe .toUByte(), 0xba .toUByte(), 0xbe .toUByte()).reversedArray()
145
- val MH_MAGIC : UByteArray = ubyteArrayOf(0xfe .toUByte(), 0xed .toUByte(), 0xfa .toUByte(), 0xce .toUByte()).reversedArray()
146
- val MH_MAGIC_64 : UByteArray = ubyteArrayOf(0xfe .toUByte(), 0xed .toUByte(), 0xfa .toUByte(), 0xcf .toUByte()).reversedArray()
146
+ val FAT_MAGIC : UByteArray = ubyteArrayOf(0xca .toUByte(), 0xfe .toUByte(), 0xba .toUByte(), 0xbe .toUByte())
147
+ val FAT_CIGAM = FAT_MAGIC .reversedArray()
148
+ val MH_MAGIC : UByteArray = ubyteArrayOf(0xfe .toUByte(), 0xed .toUByte(), 0xfa .toUByte(), 0xce .toUByte())
149
+ val MH_CIGAM = MH_MAGIC .reversedArray()
150
+ val MH_MAGIC_64 : UByteArray = ubyteArrayOf(0xfe .toUByte(), 0xed .toUByte(), 0xfa .toUByte(), 0xcf .toUByte())
151
+ val MH_CIGAM_64 = MH_MAGIC_64 .reversedArray()
147
152
}
148
153
}
0 commit comments