Skip to content

Commit

Permalink
Fix: 2022-08-10
Browse files Browse the repository at this point in the history
  • Loading branch information
horsicq committed Aug 10, 2022
1 parent 1c8e666 commit b387e93
Show file tree
Hide file tree
Showing 14 changed files with 1,568 additions and 1,142 deletions.
53 changes: 27 additions & 26 deletions db/Binary/archive.BZip.1.sg
@@ -1,26 +1,27 @@
// DIE's signature file

init("archive","bzip");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=9)
{
if(Binary.compare("'BZ0'"))
{
sVersion="1";
bDetected=1;
}
else if(Binary.compare("'BZh'"))
{
sVersion="2";
bDetected=1;
}
if(bDetected)
{
sOptions="block-size:"+Binary.getString(3,1)+"00 kb";
}
}

return result(bShowType,bShowVersion,bShowOptions);
}
// DIE's signature file
// doc-ref: https://github.com/dsnet/compress/blob/master/doc/bzip2-format.pdf
init("archive","");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=9)
{
if(Binary.compare("'BZ0'"))
{
sName = "BZip1 compressed data (.BZ)"
bDetected=true;
}

else if(Binary.compare("'BZh'") && Binary.compare("314159265359",0x4))
{
sName = "BZip2 compressed data (.BZ2)"
bDetected=true;
}
if(bDetected && Binary.isVerbose())
{
sOptions="block-size:"+Binary.getString(3,1)+"00 kb";
}
}

return result(bShowType,bShowVersion,bShowOptions);
}
56 changes: 35 additions & 21 deletions db/Binary/archive.GZIP.1.sg
@@ -1,21 +1,35 @@
// DIE's signature file

init("archive","Gzip");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=9)
{
if(Binary.compare("1F8B08"))
{
switch(Binary.readByte(8))
{
case 2: sOptions="best"; break;
case 4: sOptions="fast"; break;
}
bDetected=1;
}
}

return result(bShowType,bShowVersion,bShowOptions);
}
// DIE's signature file
// Author: LinXP
// Status: WIP

init("archive","GZip data");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=9)
{

if(Binary.compare("1F8B"))
{
bDetected=true;
switch(Binary.read_uint8(0x02))
{
case 0: sOption("stored"); break;
case 1: sOption("compressed"); break;
case 2: sOption("packed"); break;
case 3: sOption("lzhed"); break;
case 8: sOption("deflate"); break;
default: bDetected=false;
}
if (bDetected) {
switch(Binary.read_uint8(0x08))
{
case 2: sOption("best"); break;
case 4: sOption("fast"); break;
}
}
}
}

return result(bShowType,bShowVersion,bShowOptions);
}
65 changes: 38 additions & 27 deletions db/Binary/archive.LZ4.1.sg
@@ -1,27 +1,38 @@
// DIE's signature file
// Author: LinXP

init("archive","LZ4");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=9)
{
if(Binary.compare("04224d18"))
{
sVersion="";
bDetected=1;
}
else if(Binary.compare("02214c18"))
{
sVersion="old";
bDetected=1;
}
if(bDetected)
{
sOptions="block-size:"+Binary.readDword(7)+" byte";
}
}

return result(bShowType,bShowVersion,bShowOptions);
}
// DIE's signature file
// Author: LinXP
// doc-ref: https://github.com/inikep/lizard/blob/lizard/doc/lizard_Frame_format.md
init("archive","");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=9)
{
bDetected=true;
switch(Binary.read_uint32(0x00,_BE))
{
case 0x02214C18: sName="LZ4 compressed data, legacy (.LZ4)" ; break;
case 0x04224D18: sName="LZ4 compressed data (.LZ4)" ; break;
case 0x05224D18: sName="LZ5 compressed data (.LZ5)" ; break;
case 0x06224D18: sName="Lizard compressed data (.LIZ)" ; break;
default: bDetected=false;
}

if(bDetected)
{
var bFlags=Binary.read_uint8(0x04);
if (bFlags & 64) { sVersion="v1"; }
if (bFlags & 128) { sVersion="v2"; }
if (bFlags & 64 && bFlags & 128) { sVersion="v3"; }
if (Binary.isVerbose())
{
if (bFlags & 1 ) { sOption("PresetDictionary"); }
if (bFlags & 4 ) { sOption("ContentChecksum"); }
if (bFlags & 8 ) { sOption("ContentSize"); }
if (bFlags & 16) { sOption("BlockChecksum"); }
if (bFlags & 32) { sOption("BlockIndependence"); }
}
}
}

return result(bShowType,bShowVersion,bShowOptions);
}
43 changes: 23 additions & 20 deletions db/Binary/archive.Unity.1.sg
@@ -1,57 +1,60 @@
// DIE's signature file
// Author: LinXP

init("archive","Unity");

function detect(bShowType,bShowVersion,bShowOptions)
{
if(Binary.getSize()>=7)
var nFileVer, sEngineVer, sMinPlayerVer
if(Binary.getSize()>=0x07)
{
if(Binary.compare("'UnityFS'00"))
{
init("format","UnityFS");
var nFileVer = Binary.readBEDword(0x8);
var sEngineVer = Binary.getString(0x12);
var sMinPlayerVer = Binary.getString(0x0C);
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=1;
bDetected=true;
}
}
else if(Binary.compare("'UnityRaw'00"))
{
init("format","UnityRaw");
var nFileVer = Binary.readBEDword(0x9);
var sEngineVer = Binary.getString(0x13);
var sMinPlayerVer = Binary.getString(0x0D);
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=1;
bDetected=true;
}
}
else if(Binary.compare("'UnityWeb'00"))
{
init("format","UnityWeb");
var nFileVer = Binary.readBEDword(0x9);
var sEngineVer = Binary.getString(0x13);
var sMinPlayerVer = Binary.getString(0x0D);
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=1;
bDetected=true;
}
}

else if(Binary.readBEDword(0x10) == 0)
else if(Binary.read_uint32(0x10, _BE) == 0)
{
init("format","Unity Asset");
var nFileVer=Binary.readBEDword(0x8);
sName += "/Unity Asset";
nFileVer=Binary.read_uint32(0x8, _BE);
switch(nFileVer)
{
case 9: sEngineVer=Binary.getString(0x14); break;
Expand All @@ -65,7 +68,7 @@ function detect(bShowType,bShowVersion,bShowOptions)
{
sVersion=sVersion.append("FileVer:"+nFileVer);
sVersion=sVersion.append("EngineVer:"+sEngineVer);
bDetected=1;
bDetected=true;
}
}
}
Expand Down

0 comments on commit b387e93

Please sign in to comment.