Commit Graph

80 Commits

Author SHA1 Message Date
de4dot
4eb3b63a8a brtrue/brfalse now checks whether it's a non-null value 2012-08-04 12:04:07 +02:00
de4dot
19e8879d45 Emulate ldftn, ldsflda, ldtoken, ldvirtftn and ldflda 2012-08-04 12:03:12 +02:00
de4dot
fdd42859b3 Add a new ObjectValue value class 2012-08-04 12:02:40 +02:00
de4dot
94b21490da Add code to truncate r4/r8 values 2012-07-30 19:06:31 +02:00
de4dot
efef6cd297 Update switch cflow deobfuscator 2012-07-25 01:45:57 +02:00
de4dot
ad6c6401b9 Support VS2008 2012-07-07 07:16:55 +02:00
de4dot
17cee8fe45 Move code to a new BranchEmulator class 2012-06-11 21:19:36 +02:00
de4dot
2a7a134300 Make a field protected and compare method to inline as a reference 2012-05-29 19:07:58 +02:00
de4dot
e221fc7f52 Add property to tell whether to execute it or not 2012-05-03 05:34:12 +02:00
de4dot
83e8fac8ea Add CachedCflowDeobfuscator class 2012-05-02 13:49:12 +02:00
de4dot
6f807f2484 Refactor 2012-05-02 10:45:18 +02:00
de4dot
61bb3abdee Add method to return stack size and not truncate locals/args 2012-05-02 10:44:34 +02:00
de4dot
83b14da5c8 Refactor: create common cflow deob iface 2012-04-29 23:51:04 +02:00
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