[.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
*/;
}
********************* .NET Reflector或JustCompiler,dotPeek试一下,换一个decompiler 是的,最新的加密技术! EnterpriseSolu 发表于 2020-5-21 11:46
.NET Reflector或JustCompiler,dotPeek试一下,换一个decompiler
换了.NET Reflector打开, 也是什么也没动, 直接提示invalid RVA, 看来要放弃了. 这应该是加密了,可能是自定义的加密方法 本帖最后由 周易 于 2020-6-9 22:32 编辑
内容有误,已删除。 @ups366 文件传上来啊 SoftCracker 发表于 2020-5-30 01:53
@ups366 文件传上来啊
大神好, 后来换工具检测了一下, 是vmp壳加密了. 殘念…… 请问楼主 之后 怎么样,我现在遇到一样的
页:
[1]
2