mirror of
https://github.com/horsicq/Detect-It-Easy.git
synced 2026-06-24 01:54:08 +00:00
74 lines
No EOL
2.9 KiB
JavaScript
Executable file
74 lines
No EOL
2.9 KiB
JavaScript
Executable file
// Detect It Easy: detection rule file
|
|
// Author: LinXP
|
|
|
|
init("archive", "Unity");
|
|
|
|
function detect() {
|
|
var nFileVer, sEngineVer, sMinPlayerVer
|
|
if (Binary.getSize() >= 0x07) {
|
|
if (Binary.compare("'UnityFS'00")) {
|
|
sName += "/UnityFS";
|
|
nFileVer = Binary.read_uint32(0x8, _BE);
|
|
sEngineVer = Binary.getString(0x12);
|
|
sMinPlayerVer = Binary.getString(0x0C);
|
|
if (sEngineVer && sMinPlayerVer) {
|
|
sVersion = sVersion.append("FileVer:" + nFileVer);
|
|
sVersion = sVersion.append("EngineVer:" + sEngineVer);
|
|
sVersion = sVersion.append("MinPlayerVer:" + sMinPlayerVer);
|
|
bDetected = true;
|
|
}
|
|
} else if (Binary.compare("'UnityRaw'00")) {
|
|
sName += "/UnityRaw";
|
|
nFileVer = Binary.read_uint32(0x9, _BE);
|
|
sEngineVer = Binary.getString(0x13);
|
|
sMinPlayerVer = Binary.getString(0x0D);
|
|
if (sEngineVer && sMinPlayerVer) {
|
|
sVersion = sVersion.append("FileVer:" + nFileVer);
|
|
sVersion = sVersion.append("EngineVer:" + sEngineVer);
|
|
sVersion = sVersion.append("MinPlayerVer:" + sMinPlayerVer);
|
|
bDetected = true;
|
|
}
|
|
} else if (Binary.compare("'UnityWeb'00")) {
|
|
sName += "/UnityWeb";
|
|
nFileVer = Binary.read_uint32(0x9, _BE);
|
|
sEngineVer = Binary.getString(0x13);
|
|
sMinPlayerVer = Binary.getString(0x0D);
|
|
if (sEngineVer && sMinPlayerVer) {
|
|
sVersion = sVersion.append("FileVer:" + nFileVer);
|
|
sVersion = sVersion.append("EngineVer:" + sEngineVer);
|
|
sVersion = sVersion.append("MinPlayerVer:" + sMinPlayerVer);
|
|
bDetected = true;
|
|
}
|
|
} else if (Binary.read_uint32(0x10, _BE) == 0) {
|
|
sName += "/Unity Asset";
|
|
nFileVer = Binary.read_uint32(0x8, _BE);
|
|
switch (nFileVer) {
|
|
case 9:
|
|
sEngineVer = Binary.getString(0x14);
|
|
break;
|
|
case 15:
|
|
sEngineVer = Binary.getString(0x14);
|
|
break;
|
|
case 17:
|
|
sEngineVer = Binary.getString(0x14);
|
|
break;
|
|
case 20:
|
|
sEngineVer = Binary.getString(0x14);
|
|
break;
|
|
case 21:
|
|
sEngineVer = Binary.getString(0x14);
|
|
break;
|
|
case 22:
|
|
sEngineVer = Binary.getString(0x30);
|
|
break;
|
|
}
|
|
if (sEngineVer && nFileVer <= 22 && nFileVer >= 8) {
|
|
sVersion = sVersion.append("FileVer:" + nFileVer);
|
|
sVersion = sVersion.append("EngineVer:" + sEngineVer);
|
|
bDetected = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
return result();
|
|
} |