Use the correct file extension when saving the main module
This commit is contained in:
parent
291040abfe
commit
95b6041788
|
@ -286,7 +286,7 @@ namespace de4dot.code.deobfuscators.Confuser {
|
||||||
if (unpacker != null && unpacker.Detected) {
|
if (unpacker != null && unpacker.Detected) {
|
||||||
if (options.DecryptMainAsm) {
|
if (options.DecryptMainAsm) {
|
||||||
decryptState |= DecryptState.CanDecryptMethods | DecryptState.CanUnpack;
|
decryptState |= DecryptState.CanDecryptMethods | DecryptState.CanUnpack;
|
||||||
var mainInfo = unpacker.unpackMainAssembly();
|
var mainInfo = unpacker.unpackMainAssembly(true);
|
||||||
newFileData = mainInfo.data;
|
newFileData = mainInfo.data;
|
||||||
realAssemblyInfo = mainInfo.realAssemblyInfo;
|
realAssemblyInfo = mainInfo.realAssemblyInfo;
|
||||||
embeddedAssemblyInfos.AddRange(unpacker.getEmbeddedAssemblyInfos());
|
embeddedAssemblyInfos.AddRange(unpacker.getEmbeddedAssemblyInfos());
|
||||||
|
@ -296,7 +296,7 @@ namespace de4dot.code.deobfuscators.Confuser {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
decryptState &= ~DecryptState.CanUnpack;
|
decryptState &= ~DecryptState.CanUnpack;
|
||||||
mainAsmInfo = unpacker.unpackMainAssembly();
|
mainAsmInfo = unpacker.unpackMainAssembly(false);
|
||||||
embeddedAssemblyInfos.AddRange(unpacker.getEmbeddedAssemblyInfos());
|
embeddedAssemblyInfos.AddRange(unpacker.getEmbeddedAssemblyInfos());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -395,7 +395,9 @@ namespace de4dot.code.deobfuscators.Confuser {
|
||||||
|
|
||||||
void dumpEmbeddedAssemblies() {
|
void dumpEmbeddedAssemblies() {
|
||||||
if (mainAsmInfo != null) {
|
if (mainAsmInfo != null) {
|
||||||
DeobfuscatedFile.createAssemblyFile(mainAsmInfo.data, mainAsmInfo.asmSimpleName + "_real", mainAsmInfo.extension);
|
var asm = module.Assembly;
|
||||||
|
var name = asm == null ? module.Name : asm.Name.Name;
|
||||||
|
DeobfuscatedFile.createAssemblyFile(mainAsmInfo.data, name + "_real", mainAsmInfo.extension);
|
||||||
addResourceToBeRemoved(mainAsmInfo.resource, string.Format("Embedded assembly: {0}", mainAsmInfo.asmFullName));
|
addResourceToBeRemoved(mainAsmInfo.resource, string.Format("Embedded assembly: {0}", mainAsmInfo.asmFullName));
|
||||||
}
|
}
|
||||||
foreach (var info in embeddedAssemblyInfos) {
|
foreach (var info in embeddedAssemblyInfos) {
|
||||||
|
|
|
@ -397,13 +397,13 @@ namespace de4dot.code.deobfuscators.Confuser {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EmbeddedAssemblyInfo unpackMainAssembly() {
|
public EmbeddedAssemblyInfo unpackMainAssembly(bool createAssembly) {
|
||||||
if (mainAsmResource == null)
|
if (mainAsmResource == null)
|
||||||
return null;
|
return null;
|
||||||
var info = createEmbeddedAssemblyInfo(mainAsmResource, decrypt(mainAsmResource));
|
var info = createEmbeddedAssemblyInfo(mainAsmResource, decrypt(mainAsmResource));
|
||||||
|
|
||||||
var asm = module.Assembly;
|
var asm = module.Assembly;
|
||||||
if (asm != null && entryPointToken != 0 && info.kind == ModuleKind.NetModule) {
|
if (createAssembly && asm != null && entryPointToken != 0 && info.kind == ModuleKind.NetModule) {
|
||||||
info.extension = DeobUtils.getExtension(module.Kind);
|
info.extension = DeobUtils.getExtension(module.Kind);
|
||||||
info.kind = module.Kind;
|
info.kind = module.Kind;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user