Merged master
This commit is contained in:
commit
695dd81b43
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -41,6 +41,7 @@ namespace de4dot.blocks {
|
||||||
visited = new Dictionary<BaseBlock, bool>();
|
visited = new Dictionary<BaseBlock, bool>();
|
||||||
sorted = new List<BaseBlock>(scopeBlock.BaseBlocks.Count);
|
sorted = new List<BaseBlock>(scopeBlock.BaseBlocks.Count);
|
||||||
|
|
||||||
|
if (scopeBlock.BaseBlocks.Count > 0)
|
||||||
search(scopeBlock.BaseBlocks[0]);
|
search(scopeBlock.BaseBlocks[0]);
|
||||||
sorted.Reverse(); // It's in reverse order
|
sorted.Reverse(); // It's in reverse order
|
||||||
|
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -414,7 +414,7 @@ namespace de4dot {
|
||||||
Log.v("Deobfuscating {0} ({1:X8})", method, method.MetadataToken.ToUInt32());
|
Log.v("Deobfuscating {0} ({1:X8})", method, method.MetadataToken.ToUInt32());
|
||||||
Log.indent();
|
Log.indent();
|
||||||
|
|
||||||
if (method.HasBody) {
|
if (hasNonEmptyBody(method)) {
|
||||||
var blocks = new Blocks(method);
|
var blocks = new Blocks(method);
|
||||||
|
|
||||||
deob.deobfuscateMethodBegin(blocks);
|
deob.deobfuscateMethodBegin(blocks);
|
||||||
|
@ -440,6 +440,10 @@ namespace de4dot {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool hasNonEmptyBody(MethodDefinition method) {
|
||||||
|
return method.HasBody && method.Body.Instructions.Count > 0;
|
||||||
|
}
|
||||||
|
|
||||||
void deobfuscateStrings(Blocks blocks) {
|
void deobfuscateStrings(Blocks blocks) {
|
||||||
switch (options.StringDecrypterType) {
|
switch (options.StringDecrypterType) {
|
||||||
case DecrypterType.None:
|
case DecrypterType.None:
|
||||||
|
@ -488,7 +492,7 @@ namespace de4dot {
|
||||||
Log.v("{0}: {1} ({2:X8})", msg, method, method.MetadataToken.ToUInt32());
|
Log.v("{0}: {1} ({2:X8})", msg, method, method.MetadataToken.ToUInt32());
|
||||||
Log.indent();
|
Log.indent();
|
||||||
|
|
||||||
if (method.HasBody) {
|
if (hasNonEmptyBody(method)) {
|
||||||
var blocks = new Blocks(method);
|
var blocks = new Blocks(method);
|
||||||
|
|
||||||
handler(blocks);
|
handler(blocks);
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
|
@ -30,5 +30,5 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
[assembly: AssemblyVersion("1.0.0.3405")]
|
[assembly: AssemblyVersion("1.0.1.3405")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.3405")]
|
[assembly: AssemblyFileVersion("1.0.1.3405")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user