private void ResolveStringLiterals(FoxLookupTable lookupTable) { lookupTable.LocalLookupTable = GenerateLocalLookupTable(); foreach (var entity in _entities) { entity.ResolveStringLiterals(lookupTable); } }
public static FoxFile ReadFoxFile(Stream input, FoxLookupTable lookupTable) { FoxFile foxFile = new FoxFile(); foxFile.Read(input); foxFile.CheckForEncryptedNames(); foxFile.ResolveStringLiterals(lookupTable); foxFile.GenerateClasses(); return foxFile; }
public static FoxFile ReadFoxFile(Stream input, FoxLookupTable lookupTable) { FoxFile foxFile = new FoxFile(); foxFile.Read(input); foxFile.CheckForEncryptedNames(); foxFile.ResolveStringLiterals(lookupTable); foxFile.GenerateClasses(); return(foxFile); }
public void ResolveStringLiterals(FoxLookupTable lookupTable) { ClassName = lookupTable.Lookup(ClassNameHash); foreach (var staticProperty in StaticProperties) { staticProperty.ResolveStringLiterals(lookupTable); } foreach (var dynamicProperty in DynamicProperties) { dynamicProperty.ResolveStringLiterals(lookupTable); } }
public void Resolve(FoxLookupTable lookupTable) { Literal = lookupTable.Lookup(Hash.HashValue); }
public void ResolveStringLiterals(FoxLookupTable lookupTable) { Name = lookupTable.Lookup(NameHash); Container.ResolveStringLiterals(lookupTable); }
private static void DecompileFile(FileInfo file) { string fileName = string.Format("{0}.xml", Path.GetFileName(file.Name)); string outputName = Path.Combine(file.DirectoryName, fileName); using (FileStream input = new FileStream(file.FullName, FileMode.Open)) using (FileStream output = new FileStream(outputName, FileMode.Create)) { try { FoxLookupTable lookupTable = new FoxLookupTable(GlobalHashNameDictionary); var foxFile = FoxFile.ReadFoxFile(input, lookupTable); FoxConverter.DecompileFox(foxFile, output); } catch (Exception e) { Console.WriteLine("Error decompiling {0}: {1}", file.FullName, e); } } }