Commit Graph

67 Commits

Author SHA1 Message Date
de4dot
da1d649ef4 Make sure no generic methods are inlined 2012-02-25 06:33:38 +01:00
de4dot
5bcb0e51c1 Move code to new checkSameMethods() method 2012-02-03 14:21:58 +01:00
de4dot
d4b5744894 Add a paramIndex parameter 2012-02-03 09:42:55 +01:00
de4dot
01a893a799 Make canInline() virtual and move some logic there 2012-02-02 10:38:56 +01:00
de4dot
96c13fb05e Cache values to get 30% speed up with some files (DNR) 2012-01-27 03:10:37 +01:00
de4dot
dce16e9f12 Remove useless code 2012-01-27 01:03:41 +01:00
de4dot
887ee7c9e8 Fix method signature 2012-01-27 01:02:17 +01:00
de4dot
cac39b8a01 Don't use cecil coll iterator for speed 2012-01-27 00:16:23 +01:00
de4dot
91cc161a9d Create instances of common constants 2012-01-26 23:57:37 +01:00
de4dot
ec45974605 Speed up getUnknownValue() method. 16-17% execution time -> ~6% 2012-01-26 22:22:24 +01:00
de4dot
5704e90423 Allow inlining value type methods 2012-01-25 12:19:45 +01:00
de4dot
8c946bfd34 Add peek() method 2012-01-22 19:33:20 +01:00
de4dot
2dadd773ec Use ParameterDefinition.Sequence 2012-01-21 20:31:47 +01:00
de4dot
3c85b3f964 Fix toBoolean() 2012-01-21 20:04:13 +01:00
de4dot
f65adc81d8 Inline block if it's a conditional switch branch 2012-01-21 19:57:04 +01:00
de4dot
6a5ddba022 Move methods to base class 2012-01-21 19:55:37 +01:00
de4dot
f3f8975f01 If instance explicit, 'this' is 1st param 2012-01-20 19:30:40 +01:00
de4dot
c28b575f7a Add MethodCallInliner prop to cflow deob class 2012-01-11 06:44:44 +01:00
de4dot
17327902c3 Refactor method call inliner code 2012-01-11 04:38:02 +01:00
de4dot
0d0a40376d Update copyright years 2012-01-09 23:02:47 +01:00
de4dot
12b327bef3 Add constant folding 2012-01-09 01:25:25 +01:00
de4dot
061f793f68 Add public local/arg set methods 2012-01-08 22:39:52 +01:00
de4dot
1e21845448 Make method public 2012-01-08 22:39:20 +01:00
de4dot
d61e2b6d72 Update code to handle another case 2012-01-02 14:24:08 +01:00
de4dot
eb4a38163d Add emulate() method 2012-01-02 14:23:10 +01:00
de4dot
221dcc3cc9 Don't inline method if ldarga is used 2011-12-28 16:40:03 +01:00
de4dot
ffbceae488 Update methods inliner code 2011-12-28 13:28:17 +01:00
de4dot
259ec3455b Rename method 2011-12-25 23:10:17 +01:00
de4dot
c65b76583c Add CflowDeobfuscator 2011-12-20 20:11:05 +01:00
de4dot
1302608470 Move getInstruction() to DotNetUtils.cs 2011-11-09 11:28:09 +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
61b1f7a06a Ignore invalid metadata tokens in code 2011-10-27 15:57:33 +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
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
b2ac811875 ParameterDefinition.Index is 1-based or 0-based 2011-10-23 20:12:10 +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
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