ups366 发表于 2020-5-21 11:12

[.Net反编译]Dnspy无法看到新版本ABC.exe的源代码

背景:
1- ABC.exe是一款用.Net编写的小程序, 以前的版本可以直接用DnSpy打开它的InitializeComponent() 看到源代码并修改code部分.
2- 现在出了新版本, 不管用老版还是最新的DnSpy打开它, 居然看不到源代码了, 直接在右边窗口提示如下: (检查时没有提示加壳或加密, 但就是看不到源码, 打开后什么也没修改 !)
3- 以前是修改了代码才会出现类似的错误提示, 但现在真心搞不懂了, 就是直接用DnSpy打开这个exe后看源码也不行, 这是新一代的加密技术?
*************

// ABC.Index
// Token: 0x0800088 RID: 888 RVA: 0x00008888 File Offset: 0x00008888
private void InitializeComponent()
{
        /*
An exception occurred when decompiling this method (08888888)


ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void ABC.Index::InitializeComponent()
---> System.OverflowException: 算术运算导致溢出。
   在 ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:行号 47
   在 ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:行号 387
   在 ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:行号 269
   在 ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:行号 112
   在 ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:行号 88
   --- 内部异常堆栈跟踪的结尾 ---
   在 ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:行号 92
   在 ICSharpCode.Decompiler.Ast.AstBuilder.<>c__DisplayClass90_0.<AddMethodBody>b__0() 位置 D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:行号 1519
*/;
}
*********************

EnterpriseSolu 发表于 2020-5-21 11:46

.NET Reflector或JustCompiler,dotPeek试一下,换一个decompiler

njpgdg 发表于 2020-5-21 12:46

wtujoxk 发表于 2020-5-21 13:03

是的,最新的加密技术!

ups366 发表于 2020-5-21 14:56

EnterpriseSolu 发表于 2020-5-21 11:46
.NET Reflector或JustCompiler,dotPeek试一下,换一个decompiler

换了.NET Reflector打开, 也是什么也没动, 直接提示invalid RVA, 看来要放弃了.

darksied 发表于 2020-5-22 08:19

这应该是加密了,可能是自定义的加密方法

周易 发表于 2020-5-28 22:29

本帖最后由 周易 于 2020-6-9 22:32 编辑

内容有误,已删除。

SoftCracker 发表于 2020-5-30 01:53

@ups366 文件传上来啊

ups366 发表于 2020-6-21 17:27

SoftCracker 发表于 2020-5-30 01:53
@ups366 文件传上来啊

大神好, 后来换工具检测了一下, 是vmp壳加密了. 殘念……

哩个名字好难改 发表于 2020-7-5 16:19

请问楼主 之后 怎么样,我现在遇到一样的
页: [1] 2
查看完整版本: [.Net反编译]Dnspy无法看到新版本ABC.exe的源代码