scripts
This commit is contained in:
@@ -0,0 +1,438 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace System.Resources
|
||||
{
|
||||
// Token: 0x02000289 RID: 649
|
||||
internal class Win32VersionResource : Win32Resource
|
||||
{
|
||||
// Token: 0x060020B4 RID: 8372 RVA: 0x00077CDC File Offset: 0x00075EDC
|
||||
public Win32VersionResource(int id, int language, bool compilercontext)
|
||||
: base(Win32ResourceType.RT_VERSION, id, language)
|
||||
{
|
||||
this.signature = (long)((ulong)(-17890115));
|
||||
this.struct_version = 65536;
|
||||
this.file_flags_mask = 63;
|
||||
this.file_flags = 0;
|
||||
this.file_os = 4;
|
||||
this.file_type = 2;
|
||||
this.file_subtype = 0;
|
||||
this.file_date = 0L;
|
||||
this.file_lang = ((!compilercontext) ? 127 : 0);
|
||||
this.file_codepage = 1200;
|
||||
this.properties = new Hashtable();
|
||||
string text = ((!compilercontext) ? " " : string.Empty);
|
||||
foreach (string text2 in this.WellKnownProperties)
|
||||
{
|
||||
this.properties[text2] = text;
|
||||
}
|
||||
this.LegalCopyright = " ";
|
||||
this.FileDescription = " ";
|
||||
}
|
||||
|
||||
// Token: 0x1700061C RID: 1564
|
||||
// (get) Token: 0x060020B5 RID: 8373 RVA: 0x00077E04 File Offset: 0x00076004
|
||||
// (set) Token: 0x060020B6 RID: 8374 RVA: 0x00077E94 File Offset: 0x00076094
|
||||
public string Version
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.Concat(new object[]
|
||||
{
|
||||
string.Empty,
|
||||
this.file_version >> 48,
|
||||
".",
|
||||
(this.file_version >> 32) & 65535L,
|
||||
".",
|
||||
(this.file_version >> 16) & 65535L,
|
||||
".",
|
||||
this.file_version & 65535L
|
||||
});
|
||||
}
|
||||
set
|
||||
{
|
||||
long[] array = new long[4];
|
||||
if (value != null)
|
||||
{
|
||||
string[] array2 = value.Split(new char[] { '.' });
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < array2.Length; i++)
|
||||
{
|
||||
if (i < array.Length)
|
||||
{
|
||||
array[i] = (long)int.Parse(array2[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (FormatException)
|
||||
{
|
||||
}
|
||||
}
|
||||
this.file_version = (array[0] << 48) | (array[1] << 32) | ((array[2] << 16) + array[3]);
|
||||
this.properties["FileVersion"] = this.Version;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700061D RID: 1565
|
||||
public virtual string this[string key]
|
||||
{
|
||||
set
|
||||
{
|
||||
this.properties[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700061E RID: 1566
|
||||
// (get) Token: 0x060020B8 RID: 8376 RVA: 0x00077F54 File Offset: 0x00076154
|
||||
// (set) Token: 0x060020B9 RID: 8377 RVA: 0x00077F6C File Offset: 0x0007616C
|
||||
public virtual string Comments
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["Comments"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["Comments"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700061F RID: 1567
|
||||
// (get) Token: 0x060020BA RID: 8378 RVA: 0x00077F9C File Offset: 0x0007619C
|
||||
// (set) Token: 0x060020BB RID: 8379 RVA: 0x00077FB4 File Offset: 0x000761B4
|
||||
public virtual string CompanyName
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["CompanyName"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["CompanyName"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000620 RID: 1568
|
||||
// (get) Token: 0x060020BC RID: 8380 RVA: 0x00077FE4 File Offset: 0x000761E4
|
||||
// (set) Token: 0x060020BD RID: 8381 RVA: 0x00077FFC File Offset: 0x000761FC
|
||||
public virtual string LegalCopyright
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["LegalCopyright"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["LegalCopyright"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000621 RID: 1569
|
||||
// (get) Token: 0x060020BE RID: 8382 RVA: 0x0007802C File Offset: 0x0007622C
|
||||
// (set) Token: 0x060020BF RID: 8383 RVA: 0x00078044 File Offset: 0x00076244
|
||||
public virtual string LegalTrademarks
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["LegalTrademarks"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["LegalTrademarks"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000622 RID: 1570
|
||||
// (get) Token: 0x060020C0 RID: 8384 RVA: 0x00078074 File Offset: 0x00076274
|
||||
// (set) Token: 0x060020C1 RID: 8385 RVA: 0x0007808C File Offset: 0x0007628C
|
||||
public virtual string OriginalFilename
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["OriginalFilename"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["OriginalFilename"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000623 RID: 1571
|
||||
// (get) Token: 0x060020C2 RID: 8386 RVA: 0x000780BC File Offset: 0x000762BC
|
||||
// (set) Token: 0x060020C3 RID: 8387 RVA: 0x000780D4 File Offset: 0x000762D4
|
||||
public virtual string ProductName
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["ProductName"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["ProductName"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000624 RID: 1572
|
||||
// (get) Token: 0x060020C4 RID: 8388 RVA: 0x00078104 File Offset: 0x00076304
|
||||
// (set) Token: 0x060020C5 RID: 8389 RVA: 0x0007811C File Offset: 0x0007631C
|
||||
public virtual string ProductVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["ProductVersion"];
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null || value.Length == 0)
|
||||
{
|
||||
value = " ";
|
||||
}
|
||||
long[] array = new long[4];
|
||||
string[] array2 = value.Split(new char[] { '.' });
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < array2.Length; i++)
|
||||
{
|
||||
if (i < array.Length)
|
||||
{
|
||||
array[i] = (long)int.Parse(array2[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (FormatException)
|
||||
{
|
||||
}
|
||||
this.properties["ProductVersion"] = value;
|
||||
this.product_version = (array[0] << 48) | (array[1] << 32) | ((array[2] << 16) + array[3]);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000625 RID: 1573
|
||||
// (get) Token: 0x060020C6 RID: 8390 RVA: 0x000781DC File Offset: 0x000763DC
|
||||
// (set) Token: 0x060020C7 RID: 8391 RVA: 0x000781F4 File Offset: 0x000763F4
|
||||
public virtual string InternalName
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["InternalName"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["InternalName"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000626 RID: 1574
|
||||
// (get) Token: 0x060020C8 RID: 8392 RVA: 0x00078224 File Offset: 0x00076424
|
||||
// (set) Token: 0x060020C9 RID: 8393 RVA: 0x0007823C File Offset: 0x0007643C
|
||||
public virtual string FileDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["FileDescription"];
|
||||
}
|
||||
set
|
||||
{
|
||||
this.properties["FileDescription"] = ((!(value == string.Empty)) ? value : " ");
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000627 RID: 1575
|
||||
// (get) Token: 0x060020CA RID: 8394 RVA: 0x0007826C File Offset: 0x0007646C
|
||||
// (set) Token: 0x060020CB RID: 8395 RVA: 0x00078274 File Offset: 0x00076474
|
||||
public virtual int FileLanguage
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.file_lang;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.file_lang = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000628 RID: 1576
|
||||
// (get) Token: 0x060020CC RID: 8396 RVA: 0x00078280 File Offset: 0x00076480
|
||||
// (set) Token: 0x060020CD RID: 8397 RVA: 0x00078298 File Offset: 0x00076498
|
||||
public virtual string FileVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)this.properties["FileVersion"];
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == null || value.Length == 0)
|
||||
{
|
||||
value = " ";
|
||||
}
|
||||
long[] array = new long[4];
|
||||
string[] array2 = value.Split(new char[] { '.' });
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < array2.Length; i++)
|
||||
{
|
||||
if (i < array.Length)
|
||||
{
|
||||
array[i] = (long)int.Parse(array2[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (FormatException)
|
||||
{
|
||||
}
|
||||
this.properties["FileVersion"] = value;
|
||||
this.file_version = (array[0] << 48) | (array[1] << 32) | ((array[2] << 16) + array[3]);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060020CE RID: 8398 RVA: 0x00078358 File Offset: 0x00076558
|
||||
private void emit_padding(BinaryWriter w)
|
||||
{
|
||||
Stream baseStream = w.BaseStream;
|
||||
if (baseStream.Position % 4L != 0L)
|
||||
{
|
||||
w.Write(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x060020CF RID: 8399 RVA: 0x00078384 File Offset: 0x00076584
|
||||
private void patch_length(BinaryWriter w, long len_pos)
|
||||
{
|
||||
Stream baseStream = w.BaseStream;
|
||||
long position = baseStream.Position;
|
||||
baseStream.Position = len_pos;
|
||||
w.Write((short)(position - len_pos));
|
||||
baseStream.Position = position;
|
||||
}
|
||||
|
||||
// Token: 0x060020D0 RID: 8400 RVA: 0x000783B8 File Offset: 0x000765B8
|
||||
public override void WriteTo(Stream ms)
|
||||
{
|
||||
using (BinaryWriter binaryWriter = new BinaryWriter(ms, Encoding.Unicode))
|
||||
{
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(52);
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write("VS_VERSION_INFO".ToCharArray());
|
||||
binaryWriter.Write(0);
|
||||
this.emit_padding(binaryWriter);
|
||||
binaryWriter.Write((uint)this.signature);
|
||||
binaryWriter.Write(this.struct_version);
|
||||
binaryWriter.Write((int)(this.file_version >> 32));
|
||||
binaryWriter.Write((int)(this.file_version & (long)((ulong)(-1))));
|
||||
binaryWriter.Write((int)(this.product_version >> 32));
|
||||
binaryWriter.Write((int)(this.product_version & (long)((ulong)(-1))));
|
||||
binaryWriter.Write(this.file_flags_mask);
|
||||
binaryWriter.Write(this.file_flags);
|
||||
binaryWriter.Write(this.file_os);
|
||||
binaryWriter.Write(this.file_type);
|
||||
binaryWriter.Write(this.file_subtype);
|
||||
binaryWriter.Write((int)(this.file_date >> 32));
|
||||
binaryWriter.Write((int)(this.file_date & (long)((ulong)(-1))));
|
||||
this.emit_padding(binaryWriter);
|
||||
long position = ms.Position;
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(1);
|
||||
binaryWriter.Write("VarFileInfo".ToCharArray());
|
||||
binaryWriter.Write(0);
|
||||
if (ms.Position % 4L != 0L)
|
||||
{
|
||||
binaryWriter.Write(0);
|
||||
}
|
||||
long position2 = ms.Position;
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(4);
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write("Translation".ToCharArray());
|
||||
binaryWriter.Write(0);
|
||||
if (ms.Position % 4L != 0L)
|
||||
{
|
||||
binaryWriter.Write(0);
|
||||
}
|
||||
binaryWriter.Write((short)this.file_lang);
|
||||
binaryWriter.Write((short)this.file_codepage);
|
||||
this.patch_length(binaryWriter, position2);
|
||||
this.patch_length(binaryWriter, position);
|
||||
long position3 = ms.Position;
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(1);
|
||||
binaryWriter.Write("StringFileInfo".ToCharArray());
|
||||
this.emit_padding(binaryWriter);
|
||||
long position4 = ms.Position;
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write(1);
|
||||
binaryWriter.Write(string.Format("{0:x4}{1:x4}", this.file_lang, this.file_codepage).ToCharArray());
|
||||
this.emit_padding(binaryWriter);
|
||||
foreach (object obj in this.properties.Keys)
|
||||
{
|
||||
string text = (string)obj;
|
||||
string text2 = (string)this.properties[text];
|
||||
long position5 = ms.Position;
|
||||
binaryWriter.Write(0);
|
||||
binaryWriter.Write((short)(text2.ToCharArray().Length + 1));
|
||||
binaryWriter.Write(1);
|
||||
binaryWriter.Write(text.ToCharArray());
|
||||
binaryWriter.Write(0);
|
||||
this.emit_padding(binaryWriter);
|
||||
binaryWriter.Write(text2.ToCharArray());
|
||||
binaryWriter.Write(0);
|
||||
this.emit_padding(binaryWriter);
|
||||
this.patch_length(binaryWriter, position5);
|
||||
}
|
||||
this.patch_length(binaryWriter, position4);
|
||||
this.patch_length(binaryWriter, position3);
|
||||
this.patch_length(binaryWriter, 0L);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04000BA8 RID: 2984
|
||||
public string[] WellKnownProperties = new string[] { "Comments", "CompanyName", "FileVersion", "InternalName", "LegalTrademarks", "OriginalFilename", "ProductName", "ProductVersion" };
|
||||
|
||||
// Token: 0x04000BA9 RID: 2985
|
||||
private long signature;
|
||||
|
||||
// Token: 0x04000BAA RID: 2986
|
||||
private int struct_version;
|
||||
|
||||
// Token: 0x04000BAB RID: 2987
|
||||
private long file_version;
|
||||
|
||||
// Token: 0x04000BAC RID: 2988
|
||||
private long product_version;
|
||||
|
||||
// Token: 0x04000BAD RID: 2989
|
||||
private int file_flags_mask;
|
||||
|
||||
// Token: 0x04000BAE RID: 2990
|
||||
private int file_flags;
|
||||
|
||||
// Token: 0x04000BAF RID: 2991
|
||||
private int file_os;
|
||||
|
||||
// Token: 0x04000BB0 RID: 2992
|
||||
private int file_type;
|
||||
|
||||
// Token: 0x04000BB1 RID: 2993
|
||||
private int file_subtype;
|
||||
|
||||
// Token: 0x04000BB2 RID: 2994
|
||||
private long file_date;
|
||||
|
||||
// Token: 0x04000BB3 RID: 2995
|
||||
private int file_lang;
|
||||
|
||||
// Token: 0x04000BB4 RID: 2996
|
||||
private int file_codepage;
|
||||
|
||||
// Token: 0x04000BB5 RID: 2997
|
||||
private Hashtable properties;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user