Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can we use DelegateDecomiler when we obfuscate the code? #17

Open
jojose opened this issue May 2, 2017 · 0 comments
Open

Can we use DelegateDecomiler when we obfuscate the code? #17

jojose opened this issue May 2, 2017 · 0 comments

Comments

@jojose
Copy link

jojose commented May 2, 2017

We are using 'Dotfuscator' to obfuscate the dlls. We started using DelegateDecompiler for supporting some functionality when using entity framework. The issue is that after obfuscation, the EF method call fails. We tried to Exclude the classes used in the EF calls from obfuscation but still the issue is there.

The following is the error we are getting

System.AggregateException: One or more errors occurred. ---> System.ArgumentException: metadataToken
Parameter name: Token 0x5d07727e is not a valid MemberInfo token in the scope of module RBS.Advisor.BusinessEntities.dll.
at System.Reflection.RuntimeModule.ResolveMember(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
at Mono.Reflection.MethodBodyReader.ReadOperand(Instruction instruction)
at Mono.Reflection.MethodBodyReader.ReadInstructions()
at Mono.Reflection.MethodBodyReader.GetInstructions(MethodBase method)
at Mono.Reflection.Disassembler.GetInstructions(MethodBase self)
at DelegateDecompiler.MethodBodyDecompiler.Decompile()
at DelegateDecompiler.DecompileExtensions.<>c__DisplayClass2_0.b__0(MethodInfo m)
at DelegateDecompiler.Cache2.GetOrAdd(TKey key, Func2 func)
at DelegateDecompiler.DecompileExtensions.Decompile(MethodInfo method)
at DelegateDecompiler.DecompileExpressionVisitor.Decompile(MethodInfo method, Expression instance, IList1 arguments) at DelegateDecompiler.DecompileExpressionVisitor.VisitMember(MemberExpression node) at System.Linq.Expressions.MemberExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at System.Linq.Expressions.ExpressionVisitor.VisitMemberAssignment(MemberAssignment node) at System.Linq.Expressions.ExpressionVisitor.VisitMemberBinding(MemberBinding node) at System.Linq.Expressions.ExpressionVisitor.Visit[T](ReadOnlyCollection1 nodes, Func2 elementVisitor) at System.Linq.Expressions.ExpressionVisitor.VisitMemberInit(MemberInitExpression node) at System.Linq.Expressions.MemberInitExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression1 node)
at System.Linq.Expressions.Expression1.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at System.Linq.Expressions.ExpressionVisitor.VisitUnary(UnaryExpression node) at System.Linq.Expressions.UnaryExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes) at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node) at DelegateDecompiler.DecompileExpressionVisitor.VisitMethodCall(MethodCallExpression node) at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor) at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node) at DelegateDecompiler.DecompiledQueryProvider.CreateQuery[TElement](Expression expression) at System.Linq.Queryable.Select[TSource,TResult](IQueryable1 source, Expression1 selector) at RBS.Advisor.AppServices.Households.HouseholdAppService.GetAuditEntries(Int32 householdId) at RBS.Advisor.Presentation.Modules.HouseholdModule.HouseholdView.AuditEntryController.<>c__DisplayClass8_0.<LoadData>b__0() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of inner exception stack trace --- ---> (Inner Exception #0) System.ArgumentException: metadataToken Parameter name: Token 0x5d07727e is not a valid MemberInfo token in the scope of module RBS.Advisor.BusinessEntities.dll. at System.Reflection.RuntimeModule.ResolveMember(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments) at Mono.Reflection.MethodBodyReader.ReadOperand(Instruction instruction) at Mono.Reflection.MethodBodyReader.ReadInstructions() at Mono.Reflection.MethodBodyReader.GetInstructions(MethodBase method) at Mono.Reflection.Disassembler.GetInstructions(MethodBase self) at DelegateDecompiler.MethodBodyDecompiler.Decompile() at DelegateDecompiler.DecompileExtensions.<>c__DisplayClass2_0.<Decompile>b__0(MethodInfo m) at DelegateDecompiler.Cache2.GetOrAdd(TKey key, Func2 func) at DelegateDecompiler.DecompileExtensions.Decompile(MethodInfo method) at DelegateDecompiler.DecompileExpressionVisitor.Decompile(MethodInfo method, Expression instance, IList1 arguments)
at DelegateDecompiler.DecompileExpressionVisitor.VisitMember(MemberExpression node)
at System.Linq.Expressions.MemberExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitMemberAssignment(MemberAssignment node)
at System.Linq.Expressions.ExpressionVisitor.VisitMemberBinding(MemberBinding node)
at System.Linq.Expressions.ExpressionVisitor.Visit[T](ReadOnlyCollection1 nodes, Func2 elementVisitor)
at System.Linq.Expressions.ExpressionVisitor.VisitMemberInit(MemberInitExpression node)
at System.Linq.Expressions.MemberInitExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitLambda[T](Expression1 node) at System.Linq.Expressions.Expression1.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitUnary(UnaryExpression node)
at System.Linq.Expressions.UnaryExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at System.Linq.Expressions.ExpressionVisitor.VisitArguments(IArgumentProvider nodes)
at System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression node)
at DelegateDecompiler.DecompileExpressionVisitor.VisitMethodCall(MethodCallExpression node)
at System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor visitor)
at System.Linq.Expressions.ExpressionVisitor.Visit(Expression node)
at DelegateDecompiler.DecompiledQueryProvider.CreateQuery[TElement](Expression expression)
at System.Linq.Queryable.Select[TSource,TResult](IQueryable1 source, Expression1 selector)
at RBS.Advisor.AppServices.Households.HouseholdAppService.GetAuditEntries(Int32 householdId)
at RBS.Advisor.Presentation.Modules.HouseholdModule.HouseholdView.AuditEntryController.<>c__DisplayClass8_0.b__0()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()<---
One or more errors occurred. Source:

When I posted this at hazzik/DelegateDecompiler#103

I have been adviced to post it here.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant