Commit Graph

42 Commits

Author SHA1 Message Date
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
de4dot
948d5c1744 Only use the DNR inline method hack if it's a static method 2011-10-20 03:34:05 +02:00
de4dot
c3d6e25ad7 Add instructions that clear the stack 2011-10-20 01:43:33 +02:00
de4dot
debc4b346a Nops are removed 2011-10-20 00:47:38 +02:00
de4dot
28f95d386e Fix problem with dup, and don't include nops 2011-10-20 00:36:30 +02:00
de4dot
d7c61c65fe Remove pop instrs and code that pushes the value 2011-10-19 15:49:19 +02:00
de4dot
f519d6f6d8 Update switch cflow deob code to handle more cases 2011-10-19 09:13:27 +02:00
de4dot
7fe71a963a Add inline bool method hack for DNR 2011-10-19 01:53:42 +02:00
de4dot
80acf1d59f Add switch cflow deobfuscator 2011-10-18 23:31:50 +02:00
de4dot
f374308d1e Emulate instrs only if last instr is bcc/switch 2011-10-18 08:28:23 +02:00
de4dot
98936364f7 Add code to emulate switch and ldelem 2011-10-18 08:17:21 +02:00
de4dot
de8e63d140 Emulate more instructions 2011-10-17 21:34:00 +02:00
de4dot
122878a094 Update div and rem emu code 2011-10-17 20:19:17 +02:00
de4dot
778bc7e940 Fix some copy paste errors. Update add/sub emu code 2011-10-17 09:06:46 +02:00
de4dot
d34184f811 Return 0 if we emulate x - x 2011-10-17 07:55:06 +02:00
de4dot
fdd3c119f5 Make sure the unknown bool is pushed 2011-10-17 07:51:20 +02:00
de4dot
718cdb0487 Add validMask field to Int32/64Value 2011-10-17 07:28:53 +02:00
de4dot
05065d6ac7 Start work on new cflow deobfuscator 2011-10-17 00:22:22 +02:00