terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
ARC4Managed.cs
Go to the documentation of this file.
1using System;
4
6{
7 // Token: 0x02000051 RID: 81
9 {
10 // Token: 0x06000225 RID: 549 RVA: 0x0000900C File Offset: 0x0000720C
11 public ARC4Managed()
12 {
13 if ("getFilesDir" == null)
14 {
15 }
16 base..ctor();
17 }
18
19 // Token: 0x06000226 RID: 550 RVA: 0x00009028 File Offset: 0x00007228
20 protected override void Finalize()
21 {
22 base.Finalize();
23 }
24
25 // Token: 0x06000227 RID: 551 RVA: 0x0000905C File Offset: 0x0000725C
26 protected override void Dispose(bool disposing)
27 {
28 bool disposed = this.m_disposed;
29 if (!disposed)
30 {
31 if (this.key != null)
32 {
33 }
34 byte[] array = this.state;
35 if (!disposed)
36 {
37 }
38 GC.SuppressFinalize(this);
39 this.m_disposed = true;
40 }
41 }
42
43 // Token: 0x170000AB RID: 171
44 // (get) Token: 0x06000228 RID: 552 RVA: 0x00009094 File Offset: 0x00007294
45 // (set) Token: 0x06000229 RID: 553 RVA: 0x000090BC File Offset: 0x000072BC
46 public override byte[] Key
47 {
48 get
49 {
50 if (this.KeyValue == null)
51 {
52 byte[] keyValue = this.KeyValue;
53 }
54 object obj;
55 if (obj == null || obj != null)
56 {
57 }
58 throw new InvalidCastException();
59 }
60 set
61 {
62 while (value == null)
63 {
64 }
65 object obj;
66 if (obj != null && obj == null)
67 {
68 throw new InvalidCastException();
69 }
70 }
71 }
72
73 // Token: 0x170000AC RID: 172
74 // (get) Token: 0x0600022A RID: 554 RVA: 0x000090D8 File Offset: 0x000072D8
76 {
77 get
78 {
79 }
80 }
81
82 // Token: 0x0600022B RID: 555 RVA: 0x00002050 File Offset: 0x00000250
83 public override ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgvIV)
84 {
85 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
86 }
87
88 // Token: 0x0600022C RID: 556 RVA: 0x00002050 File Offset: 0x00000250
89 public override ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgvIV)
90 {
91 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
92 }
93
94 // Token: 0x0600022D RID: 557 RVA: 0x000090E8 File Offset: 0x000072E8
95 public override void GenerateIV()
96 {
97 }
98
99 // Token: 0x0600022E RID: 558 RVA: 0x000090F8 File Offset: 0x000072F8
100 public override void GenerateKey()
101 {
102 int keySizeValue = this.KeySizeValue;
103 byte[] array;
105 }
106
107 // Token: 0x170000AD RID: 173
108 // (get) Token: 0x0600022F RID: 559 RVA: 0x00009114 File Offset: 0x00007314
110 {
111 get
112 {
113 return true;
114 }
115 }
116
117 // Token: 0x170000AE RID: 174
118 // (get) Token: 0x06000230 RID: 560 RVA: 0x00009124 File Offset: 0x00007324
119 public int InputBlockSize
120 {
121 get
122 {
123 return 1;
124 }
125 }
126
127 // Token: 0x170000AF RID: 175
128 // (get) Token: 0x06000231 RID: 561 RVA: 0x00009134 File Offset: 0x00007334
130 {
131 get
132 {
133 return 1;
134 }
135 }
136
137 // Token: 0x06000232 RID: 562 RVA: 0x00009144 File Offset: 0x00007344
138 private void KeySetup(byte[] key)
139 {
140 byte[] array = this.state;
141 byte[] array2 = this.state;
142 byte[] array3 = this.state;
143 }
144
145 // Token: 0x06000233 RID: 563 RVA: 0x0000916C File Offset: 0x0000736C
146 private void CheckInput(byte[] inputBuffer, int inputOffset, int inputCount)
147 {
148 if (inputBuffer != null)
149 {
150 return;
151 }
152 }
153
154 // Token: 0x06000234 RID: 564 RVA: 0x0000918C File Offset: 0x0000738C
155 public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
156 {
157 /*
158An exception occurred when decompiling this method (06000234)
159
160ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Mono.Security.Cryptography.ARC4Managed::TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)
161
162 ---> System.Exception: Basic block has to end with unconditional control flow.
163{
164 IL_001B:
165 stloc:string(var_0_25, call:string(Locale::GetText, ldstr:string("Overflow")))
166}
167
168 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
169 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
170 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
171 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
172 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
173 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
174 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
175 --- End of inner exception stack trace ---
176 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
177 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
178*/;
179 }
180
181 // Token: 0x06000235 RID: 565 RVA: 0x000091C0 File Offset: 0x000073C0
182 private int InternalTransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
183 {
184 byte b = this.x;
185 byte[] array = this.state;
186 byte b2 = this.y;
187 this.x = b;
188 this.y = b2;
190 byte[] array2 = this.state;
191 byte b3 = this.y;
192 byte[] array3 = this.state;
193 byte b4 = this.x;
194 byte b5 = this.y;
195 return inputCount;
196 }
197
198 // Token: 0x06000236 RID: 566 RVA: 0x00002050 File Offset: 0x00000250
199 public byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount)
200 {
201 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
202 }
203
204 // Token: 0x0400024E RID: 590
205 private byte[] key;
206
207 // Token: 0x0400024F RID: 591
208 private byte[] state;
209
210 // Token: 0x04000250 RID: 592
211 private byte x;
212
213 // Token: 0x04000251 RID: 593
214 private byte y;
215
216 // Token: 0x04000252 RID: 594
217 private bool m_disposed;
218 }
219}
class f__AnonymousType0<< Count > j__TPar
int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
override ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgvIV)
override ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgvIV)
override void Dispose(bool disposing)
void CheckInput(byte[] inputBuffer, int inputOffset, int inputCount)
byte[] TransformFinalBlock(byte[] inputBuffer, int inputOffset, int inputCount)
int InternalTransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
static void SuppressFinalize(object obj)
Definition GC.cs:116