|
|
(4 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| == BIN FILE STRUCTURE - CrypticS == | | == BIN FILE STRUCTURE - CrypticS == |
| (WORK IN PROGRESS) | | (WORK IN PROGRESS) |
| </BR> I have realized my approach was slightly wrong on this, the contents appear to be handled like a large string and broken apart....so I will revise this as I work out how to better resolve the string & control chars, with the byte alignements etc...
| |
| DragonSire | | DragonSire |
|
| |
|
Line 71: |
Line 70: |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | VAR | | | style="text-align: center; font-size:15px; background-color:#dae8fc;" | VAR |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String | | | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String from Length | | | style="text-align: center; font-size:15px; background-color:#dae8fc;" | FilePath |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| | | style="text-align: center; font-size:15px; background-color:#dae8fc;" | **Cryptic String Format, Using Alignment Scheme </BR> Aligns to 4 bytes... |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | * | |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | CHECK
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Skip Alignment Check
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | ((4 - (PositionInBuffer And 3)) And 3) </BR> Skip Number Bytes Believe All Zero though could be control character changes
| |
| |- | | |- |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger | | | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger |
Line 89: |
Line 83: |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | | | | style="text-align: center; font-size:15px; background-color:#dae8fc;" | |
| |} | | |} |
| | |
| == Specific CrypticS File Examples (Work in Progress) == | | == Specific CrypticS File Examples (Work in Progress) == |
| {| class="wikitable" style="width:50%"
| | |
| |+Categories File (Work in Progress)
| | <source lang="javascript" line start="2" highlight="4-6"> |
| ! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:20%;" | DataType
| | TokenizerParseInfo ParsePowerCategory[] = |
| ! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:10%;" | Size
| | { |
| ! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:30%;" | Description
| | { "{", TOK_START, 0 }, |
| ! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:20%;" | Notes
| | { "SourceFile", TOK_CURRENTFILE(PowerCategory, pchSourceFile) }, |
| |-
| | { "Name", TOK_STRUCTPARAM | TOK_STRING(PowerCategory, pchName, 0) }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | *
| | { "DisplayName", TOK_STRING(PowerCategory, pchDisplayName, 0) }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | LOOP
| | { "DisplayHelp", TOK_STRING(PowerCategory, pchDisplayHelp, 0) }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| | { "DisplayShortHelp", TOK_STRING(PowerCategory, pchDisplayShortHelp, 0) }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| | { "PowerSets", TOK_STRINGARRAY(PowerCategory, ppPowerSetNames ) }, |
| |-
| | { "", TOK_AUTOINTEARRAY(PowerCategory, ppPowerSets ) }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger
| | { "Available", TOK_IGNORE, 0 }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4
| | { "}", TOK_END, 0 }, |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unsure....
| | { "", 0, 0 } |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| | }; |
| |-
| | </source> |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | VAR
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | FileName
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Cryptic String Format, Using Alignment Scheme
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | VAR
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Name
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Cryptic String Format, Using Alignment Scheme
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | VAR
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | PSTRING
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Cryptic String Format, Using Alignment Scheme
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown Expected Zero
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown Expected Zero
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Seems to Indicate a List Follows???
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Number of Strings that Follow
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | # PowerSets
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | *
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | LOOP
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | String
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | VAR
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | PowerSet Name
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Cryptic String Format, Using Alignment Scheme
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | *
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | END LOOP
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown Expected Zero
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| |-
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | *
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" | END LOOP
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| | style="text-align: center; font-size:15px; background-color:#dae8fc;" |
| |
| |}
| |
BIN FILE STRUCTURE - CrypticS
(WORK IN PROGRESS)
DragonSire
BIN FILE STRUCTURE - CrypticS
BIN File Structure (Header)
DataType
|
Size
|
Description
|
Notes
|
String
|
8 Bytes
|
Identifier
|
Should be CrypticS
|
Integer/UInteger
|
4
|
Adler32 CheckSum
|
|
Short/UShort
|
2 Bytes
|
String Length
|
|
String
|
*
|
Parse Type Used
|
Expected Parse6 (Current)
|
Short/UShort
|
2 Bytes
|
FileNumber
|
File1
|
*
|
*
|
File Table
|
|
BIN File Structure (File Table)
DataType
|
Size
|
Description
|
Notes
|
Integer/UInteger
|
4
|
NumberBytes
|
|
Integer/UInteger
|
4
|
Number String Entries
|
|
*
|
LOOP
|
String Entries
|
|
Short/UShort
|
2
|
Length of String
|
|
VAR
|
String
|
FilePath
|
**Cryptic String Format, Using Alignment Scheme Aligns to 4 bytes...
|
Integer/UInteger
|
4
|
FileTime TimeT
|
|
*
|
END LOOP
|
|
|
Specific CrypticS File Examples (Work in Progress)
TokenizerParseInfo ParsePowerCategory[] =
{
{ "{", TOK_START, 0 },
{ "SourceFile", TOK_CURRENTFILE(PowerCategory, pchSourceFile) },
{ "Name", TOK_STRUCTPARAM | TOK_STRING(PowerCategory, pchName, 0) },
{ "DisplayName", TOK_STRING(PowerCategory, pchDisplayName, 0) },
{ "DisplayHelp", TOK_STRING(PowerCategory, pchDisplayHelp, 0) },
{ "DisplayShortHelp", TOK_STRING(PowerCategory, pchDisplayShortHelp, 0) },
{ "PowerSets", TOK_STRINGARRAY(PowerCategory, ppPowerSetNames ) },
{ "", TOK_AUTOINTEARRAY(PowerCategory, ppPowerSets ) },
{ "Available", TOK_IGNORE, 0 },
{ "}", TOK_END, 0 },
{ "", 0, 0 }
};