Commit Graph

75 Commits

Author SHA1 Message Date
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
de4dot
f79b12d4f3 Make sure blocks are laid out in a verifiable order 2011-10-20 02:58:30 +02:00
de4dot
865cfb9536 Get rid of the useless list 2011-10-20 02:45:55 +02:00
de4dot
c8500b4f33 Remove unused local variables 2011-10-20 02:38:44 +02:00
de4dot
c3d6e25ad7 Add instructions that clear the stack 2011-10-20 01:43:33 +02:00