Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fddff57c15 |
@@ -33,6 +33,12 @@ const MACHO_MAGIC = new Set([
|
|||||||
0xcffaedfe,
|
0xcffaedfe,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const MACHO_UNIVERSAL_MAGIC = new Set([
|
||||||
|
// universal
|
||||||
|
0xcafebabe,
|
||||||
|
0xbebafeca,
|
||||||
|
]);
|
||||||
|
|
||||||
export const detectAsarMode = async (appPath: string) => {
|
export const detectAsarMode = async (appPath: string) => {
|
||||||
d('checking asar mode of', appPath);
|
d('checking asar mode of', appPath);
|
||||||
const asarPath = path.resolve(appPath, 'Contents', 'Resources', 'app.asar');
|
const asarPath = path.resolve(appPath, 'Contents', 'Resources', 'app.asar');
|
||||||
@@ -147,6 +153,10 @@ export const mergeASARs = async ({
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (MACHO_UNIVERSAL_MAGIC.has(x64Content.readUInt32LE(0)) && MACHO_UNIVERSAL_MAGIC.has(arm64Content.readUInt32LE(0))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (!MACHO_MAGIC.has(x64Content.readUInt32LE(0))) {
|
if (!MACHO_MAGIC.has(x64Content.readUInt32LE(0))) {
|
||||||
throw new Error(`Can't reconcile two non-macho files ${file}`);
|
throw new Error(`Can't reconcile two non-macho files ${file}`);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user