Commit Graph

79 Commits

Author SHA1 Message Date
de4dot
d9e138bbe1 Strong name sign all assemblies (except tests)
You must create your own private de4dot.key file in the root source dir
before compiling:
	sn -k de4dot.snk
2011-11-12 14:08:25 +01:00
de4dot
d7ed7abb99 Add removeGuaranteedDeadBlock() method 2011-11-12 13:27:24 +01:00
de4dot
572d9d376d Update version: 1.2.1 2011-11-11 21:00:42 +01:00
de4dot
a3e7d9c9d6 Update version: 1.2.0 2011-11-10 14:55:40 +01:00
de4dot
1302608470 Move getInstruction() to DotNetUtils.cs 2011-11-09 11:28:09 +01:00
de4dot
75a464a7f4 Merge branch 'master' into dnr 2011-11-05 14:27:40 +01:00
de4dot
c66c062753 Fix problem when HasPInvokeInfo == true but PInvokeInfo == null 2011-11-05 07:46:24 +01:00
de4dot
30f713f8f8 Rename isDelegateType() -> derivesFromDelegate() 2011-11-04 00:39:48 +01:00
de4dot
76241db427 Add isDelegate() method 2011-11-04 00:06:25 +01:00
de4dot
c1820f1a82 Add method to replace generic params with generic args.
The code only handles basic cases, eg. T -> int, but not T[] -> int[].
2011-11-03 22:53:04 +01:00
de4dot
555ca393e2 No need to check for typedef since it's checked elsewhere 2011-11-03 18:52:21 +01:00
de4dot
3dd8649859 Merge branch 'master' into dnr 2011-11-03 07:11:10 +01:00
de4dot
f351a09564 Update symbol renamer to load referenced assemblies.
This way it's possible to use a rename-all regex (.*) without renaming
symbols that shouldn't be renamed (eg. methods that are defined in an
interface in a non-deobfuscated module, eg. Dispose()). A warning is
displayed if an assembly can't be loaded.
2011-11-03 06:43:33 +01:00
de4dot
b8879e74e6 Merge branch 'master' into dnr 2011-11-02 04:26:12 +01:00
de4dot
8b780a4696 Add ScopeAndTokenKey. Make sure other keys are immutable. 2011-11-02 04:14:59 +01:00
de4dot
ade1720d32 Use type cache to look up types (huge speedup in DNR code) 2011-11-02 02:25:07 +01:00
de4dot
f342a481a9 Update Conv_XX emulation. Default case should push unknown int32/64. 2011-11-02 01:19:18 +01:00
de4dot
2fcd13000b Add option to disable method inlining 2011-11-01 14:18:29 +01:00
de4dot
651072e2d4 Add methods to get ParameterDefinition 2011-10-31 23:56:02 +01:00
de4dot
b530c1a313 Add isSystemObject() method 2011-10-31 19:39:00 +01:00
de4dot
1eedf7cb3e Update if expr. It was wrong 2011-10-31 19:38:36 +01:00
de4dot
cbf37e8732 Move getLocalVar() and add getArgType() 2011-10-31 19:37:26 +01:00
de4dot
11781b2875 Check for null methods 2011-10-31 00:08:38 +01:00
de4dot
deda2d5d60 Handle case where try handler block is before try block 2011-10-28 01:27:00 +02:00
de4dot
61b1f7a06a Ignore invalid metadata tokens in code 2011-10-27 15:57:33 +02:00
de4dot
0c0093ff76 Add createLdci4() method 2011-10-26 21:01:38 +02:00
de4dot
349ebc4e72 Make InstructionEmulator class public 2011-10-26 14:17:33 +02:00
de4dot
e92c2ce97b Use available method, and get rid of useless code 2011-10-24 19:45:31 +02:00
de4dot
129da2e7f9 Set version 1.1.3 2011-10-24 15:48:19 +02:00
de4dot
d9012fbbd3 Make sure we don't get stuck in an infinite loop 2011-10-24 15:12:32 +02:00
de4dot
4d5d1b9089 Inline short methods (for DNR) 2011-10-24 12:45:20 +02:00
de4dot
46309f2f78 New version: 1.1.2 2011-10-23 22:09:27 +02:00
de4dot
779d1a8a31 Update version to 1.1.1 2011-10-23 20:13:25 +02:00
de4dot
b2ac811875 ParameterDefinition.Index is 1-based or 0-based 2011-10-23 20:12:10 +02:00
de4dot
3f1b9152bd Add CO deobfuscator. Can decrypt embedded assemblies. 2011-10-22 14:31:38 +02:00
de4dot
99bd79e418 Change to version 1.1.0 2011-10-21 22:27:26 +02:00
de4dot
603fa74ceb Only use DNR hack if methods have same declaring type 2011-10-21 21:47:06 +02:00
de4dot
88f7a31ff1 Print number of removed instructions 2011-10-21 21:35:35 +02:00
de4dot
2ff8a0ea7a Remove old cflow deobfuscator code 2011-10-21 20:35:13 +02:00
de4dot
d14f52660d Remove old comments 2011-10-21 20:19:51 +02:00
de4dot
cdd92d1415 Add fix for old DF 2011-10-21 20:14:25 +02:00
de4dot
a594b11254 Remember to add this as first arg if HasThis is set 2011-10-21 19:32:37 +02:00
de4dot
8c2f26bfcb Replace stloc + ldloc with dup + stloc only if it's a bool local 2011-10-21 18:53:36 +02:00
de4dot
4b3c52c44f Truncate values when emulating stloc/starg 2011-10-21 18:45:59 +02:00
de4dot
c1290ec3ee Should be instance variables 2011-10-21 18:05:24 +02:00
de4dot
2bba9e688a Remove more dead code and useless stores 2011-10-21 18:02:58 +02:00
de4dot
58af131485 Add code to remove dup + pop 2011-10-20 12:29:19 +02:00
de4dot
8e83bc22f2 Update isBranchBlock() method 2011-10-20 05:43:01 +02:00
de4dot
9df4a6c9d2 Undo dup fix 2011-10-20 04:50:58 +02:00
de4dot
948d5c1744 Only use the DNR inline method hack if it's a static method 2011-10-20 03:34:05 +02:00