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