Disable using unknown args by default
This commit is contained in:
parent
f307520e62
commit
1805e352c4
|
@ -146,6 +146,12 @@ namespace de4dot.code {
|
||||||
Blocks blocks;
|
Blocks blocks;
|
||||||
VariableValues variableValues;
|
VariableValues variableValues;
|
||||||
int errors = 0;
|
int errors = 0;
|
||||||
|
bool useUnknownArgs = false;
|
||||||
|
|
||||||
|
public bool UseUnknownArgs {
|
||||||
|
get { return useUnknownArgs; }
|
||||||
|
set { useUnknownArgs = value; }
|
||||||
|
}
|
||||||
|
|
||||||
protected class CallResult {
|
protected class CallResult {
|
||||||
public Block block;
|
public Block block;
|
||||||
|
@ -331,7 +337,7 @@ namespace de4dot.code {
|
||||||
default:
|
default:
|
||||||
int pushes, pops;
|
int pushes, pops;
|
||||||
DotNetUtils.calculateStackUsage(instr.Instruction, false, out pushes, out pops);
|
DotNetUtils.calculateStackUsage(instr.Instruction, false, out pushes, out pops);
|
||||||
if (pushes != 1) {
|
if (!useUnknownArgs || pushes != 1) {
|
||||||
Log.w("Could not find all arguments to method {0} ({1:X8}), instr: {2}",
|
Log.w("Could not find all arguments to method {0} ({1:X8}), instr: {2}",
|
||||||
Utils.removeNewlines(method),
|
Utils.removeNewlines(method),
|
||||||
method.MetadataToken.ToInt32(),
|
method.MetadataToken.ToInt32(),
|
||||||
|
|
|
@ -136,6 +136,7 @@ namespace de4dot.code.deobfuscators.DeepSea {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void scanForObfuscator() {
|
protected override void scanForObfuscator() {
|
||||||
|
staticStringInliner.UseUnknownArgs = true;
|
||||||
arrayBlockDeobfuscator = new ArrayBlockDeobfuscator(module);
|
arrayBlockDeobfuscator = new ArrayBlockDeobfuscator(module);
|
||||||
arrayBlockDeobfuscator.init();
|
arrayBlockDeobfuscator.init();
|
||||||
stringDecrypter = new StringDecrypter(module);
|
stringDecrypter = new StringDecrypter(module);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user