Rename classes

This commit is contained in:
de4dot 2012-01-19 19:16:44 +01:00
parent f04a4d74a7
commit 7f5401625e
11 changed files with 27 additions and 27 deletions

View File

@ -40,7 +40,7 @@ namespace de4dot.code {
IDeobfuscator deob;
AssemblyModule assemblyModule;
IAssemblyClient assemblyClient;
DynamicStringDecrypter dynamicStringDecrypter;
DynamicStringInliner dynamicStringInliner;
IAssemblyClientFactory assemblyClientFactory;
SavedMethodBodies savedMethodBodies;
bool userStringDecrypterMethods = false;
@ -380,7 +380,7 @@ namespace de4dot.code {
deob = deob.moduleReloaded(module);
initializeDeobfuscator();
deob.DeobfuscatedFile = this;
updateDynamicStringDecrypter();
updateDynamicStringInliner();
}
void initAssemblyClient() {
@ -397,13 +397,13 @@ namespace de4dot.code {
else
throw new ApplicationException(string.Format("Invalid string decrypter type '{0}'", options.StringDecrypterType));
dynamicStringDecrypter = new DynamicStringDecrypter(assemblyClient);
updateDynamicStringDecrypter();
dynamicStringInliner = new DynamicStringInliner(assemblyClient);
updateDynamicStringInliner();
}
void updateDynamicStringDecrypter() {
if (dynamicStringDecrypter != null)
dynamicStringDecrypter.init(getMethodTokens());
void updateDynamicStringInliner() {
if (dynamicStringInliner != null)
dynamicStringInliner.init(getMethodTokens());
}
IEnumerable<int> getMethodTokens() {
@ -805,7 +805,7 @@ namespace de4dot.code {
case DecrypterType.Delegate:
case DecrypterType.Emulate:
dynamicStringDecrypter.decrypt(blocks);
dynamicStringInliner.decrypt(blocks);
break;
default:
@ -915,7 +915,7 @@ namespace de4dot.code {
}
void IDeobfuscatedFile.stringDecryptersAdded() {
updateDynamicStringDecrypter();
updateDynamicStringInliner();
}
}
}

View File

@ -25,7 +25,7 @@ using de4dot.code.AssemblyClient;
using de4dot.blocks;
namespace de4dot.code {
abstract class StringDecrypter : MethodReturnValueInliner {
abstract class StringInlinerBase : MethodReturnValueInliner {
protected override void inlineReturnValues(IList<CallResult> callResults) {
foreach (var callResult in callResults) {
var block = callResult.block;
@ -62,7 +62,7 @@ namespace de4dot.code {
}
}
class DynamicStringDecrypter : StringDecrypter {
class DynamicStringInliner : StringInlinerBase {
IAssemblyClient assemblyClient;
Dictionary<int, int> methodTokenToId = new Dictionary<int, int>();
@ -78,7 +78,7 @@ namespace de4dot.code {
get { return methodTokenToId.Count != 0; }
}
public DynamicStringDecrypter(IAssemblyClient assemblyClient) {
public DynamicStringInliner(IAssemblyClient assemblyClient) {
this.assemblyClient = assemblyClient;
}
@ -129,7 +129,7 @@ namespace de4dot.code {
}
}
class StaticStringDecrypter : StringDecrypter {
class StaticStringInliner : StringInlinerBase {
MethodDefinitionAndDeclaringTypeDict<Func<MethodDefinition, object[], string>> stringDecrypters = new MethodDefinitionAndDeclaringTypeDict<Func<MethodDefinition, object[], string>>();
public override bool HasHandlers {

View File

@ -186,7 +186,7 @@
<Compile Include="renamer\TypeNames.cs" />
<Compile Include="renamer\TypeRenamerState.cs" />
<Compile Include="renamer\VariableNameState.cs" />
<Compile Include="StringDecrypter.cs" />
<Compile Include="StringInliner.cs" />
<Compile Include="UserException.cs" />
<Compile Include="Utils.cs" />
<Compile Include="Win32Path.cs" />

View File

@ -178,7 +178,7 @@ namespace de4dot.code.deobfuscators.CliSecure {
proxyDelegateFinder.find();
staticStringDecrypter.add(stringDecrypter.Method, (method, args) => stringDecrypter.decrypt((string)args[0]));
staticStringInliner.add(stringDecrypter.Method, (method, args) => stringDecrypter.decrypt((string)args[0]));
if (options.DecryptMethods) {
addCctorInitCallToBeRemoved(cliSecureRtType.InitializeMethod);

View File

@ -172,7 +172,7 @@ namespace de4dot.code.deobfuscators.CryptoObfuscator {
stringDecrypter.init(resourceDecrypter);
if (stringDecrypter.Method != null) {
addResourceToBeRemoved(stringDecrypter.Resource, "Encrypted strings");
staticStringDecrypter.add(stringDecrypter.Method, (method, args) => {
staticStringInliner.add(stringDecrypter.Method, (method, args) => {
return stringDecrypter.decrypt((int)args[0]);
});
DeobfuscatedFile.stringDecryptersAdded();

View File

@ -41,7 +41,7 @@ namespace de4dot.code.deobfuscators {
OptionsBase optionsBase;
protected ModuleDefinition module;
protected StaticStringDecrypter staticStringDecrypter = new StaticStringDecrypter();
protected StaticStringInliner staticStringInliner = new StaticStringInliner();
IList<RemoveInfo<TypeDefinition>> typesToRemove = new List<RemoveInfo<TypeDefinition>>();
IList<RemoveInfo<MethodDefinition>> methodsToRemove = new List<RemoveInfo<MethodDefinition>>();
IList<RemoveInfo<FieldDefinition>> fieldsToRemove = new List<RemoveInfo<FieldDefinition>>();
@ -153,7 +153,7 @@ namespace de4dot.code.deobfuscators {
}
public virtual void deobfuscateStrings(Blocks blocks) {
staticStringDecrypter.decrypt(blocks);
staticStringInliner.decrypt(blocks);
}
public virtual bool deobfuscateOther(Blocks blocks) {

View File

@ -115,7 +115,7 @@ namespace de4dot.code.deobfuscators.Dotfuscator {
public override void deobfuscateBegin() {
base.deobfuscateBegin();
foreach (var info in stringDecrypter.StringDecrypterInfos)
staticStringDecrypter.add(info.method, (method, args) => stringDecrypter.decrypt(method, (string)args[0], (int)args[1]));
staticStringInliner.add(info.method, (method, args) => stringDecrypter.decrypt(method, (string)args[0], (int)args[1]));
}
public override void deobfuscateEnd() {

View File

@ -421,11 +421,11 @@ namespace de4dot.code.deobfuscators.SmartAssembly {
Log.v("Adding string decrypter. Resource: {0}", Utils.toCsharpString(info.StringsResource.Name));
var decrypter = new StringDecrypter(info);
if (decrypter.CanDecrypt) {
staticStringDecrypter.add(DotNetUtils.getMethod(info.GetStringDelegate, "Invoke"), (method, args) => {
staticStringInliner.add(DotNetUtils.getMethod(info.GetStringDelegate, "Invoke"), (method, args) => {
var fieldDefinition = DotNetUtils.getField(module, (FieldReference)args[0]);
return decrypter.decrypt(fieldDefinition.MetadataToken.ToInt32(), (int)args[1]);
});
staticStringDecrypter.add(info.StringDecrypterMethod, (method, args) => {
staticStringInliner.add(info.StringDecrypterMethod, (method, args) => {
return decrypter.decrypt(0, (int)args[0]);
});
}
@ -546,7 +546,7 @@ namespace de4dot.code.deobfuscators.SmartAssembly {
public override IEnumerable<string> getStringDecrypterMethods() {
var list = new List<string>();
foreach (var method in staticStringDecrypter.Methods)
foreach (var method in staticStringInliner.Methods)
list.Add(method.MetadataToken.ToInt32().ToString("X8"));
return list;
}

View File

@ -99,7 +99,7 @@ namespace de4dot.code.deobfuscators.Xenocode {
public override void deobfuscateBegin() {
base.deobfuscateBegin();
staticStringDecrypter.add(stringDecrypter.Method, (method, args) => stringDecrypter.decrypt((string)args[0], (int)args[1]));
staticStringInliner.add(stringDecrypter.Method, (method, args) => stringDecrypter.decrypt((string)args[0], (int)args[1]));
}
public override void deobfuscateEnd() {

View File

@ -249,10 +249,10 @@ namespace de4dot.code.deobfuscators.dotNET_Reactor.v3 {
antiStrongName = new AntiStrongName();
staticStringDecrypter.add(decrypterType.StringDecrypter1, (method2, args) => {
staticStringInliner.add(decrypterType.StringDecrypter1, (method2, args) => {
return decrypterType.decrypt1((string)args[0]);
});
staticStringDecrypter.add(decrypterType.StringDecrypter2, (method2, args) => {
staticStringInliner.add(decrypterType.StringDecrypter2, (method2, args) => {
return decrypterType.decrypt2((string)args[0]);
});

View File

@ -421,12 +421,12 @@ namespace de4dot.code.deobfuscators.dotNET_Reactor.v4 {
}
foreach (var info in stringDecrypter.DecrypterInfos) {
staticStringDecrypter.add(info.method, (method2, args) => {
staticStringInliner.add(info.method, (method2, args) => {
return stringDecrypter.decrypt(method2, (int)args[0]);
});
}
if (stringDecrypter.OtherStringDecrypter != null) {
staticStringDecrypter.add(stringDecrypter.OtherStringDecrypter, (method2, args) => {
staticStringInliner.add(stringDecrypter.OtherStringDecrypter, (method2, args) => {
return stringDecrypter.decrypt((string)args[0]);
});
}