Commit Graph

  • 42e7583659 Unload loaded modules when renaming is over de4dot 2011-11-03 18:55:14 +0100
  • 98cdcf9ca5 Only protect *Invoke methods. Rename and remove a variable de4dot 2011-11-03 18:53:58 +0100
  • 555ca393e2 No need to check for typedef since it's checked elsewhere de4dot 2011-11-03 18:52:21 +0100
  • cd7e617ab7 Add updated cecil submodule de4dot 2011-11-03 18:51:20 +0100
  • 3dd8649859 Merge branch 'master' into dnr de4dot 2011-11-03 07:11:10 +0100
  • f351a09564 Update symbol renamer to load referenced assemblies. de4dot 2011-11-03 06:43:33 +0100
  • 96d086ba2b Merge branch 'master' into dnr de4dot 2011-11-02 05:58:12 +0100
  • 2a967dc699 Call onTypesRenamed() a little later and update throw message with token de4dot 2011-11-02 05:57:10 +0100
  • c918c8e964 Merge branch 'master' into dnr de4dot 2011-11-02 04:57:13 +0100
  • 78960c759c Rebuild dictionaries when types have been renamed de4dot 2011-11-02 04:54:54 +0100
  • b8879e74e6 Merge branch 'master' into dnr de4dot 2011-11-02 04:26:12 +0100
  • ccff408a00 Update code so it can rename duplicate member references de4dot 2011-11-02 04:24:22 +0100
  • 8b780a4696 Add ScopeAndTokenKey. Make sure other keys are immutable. de4dot 2011-11-02 04:14:59 +0100
  • 3db7a0fedf Add updates cecil submodule de4dot 2011-11-02 02:55:36 +0100
  • c177c2ff42 Don't print message since the code is now much faster de4dot 2011-11-02 02:39:53 +0100
  • e3b767adcc Don't create dest dirs if we're just detecting obfuscators de4dot 2011-11-02 02:38:20 +0100
  • 2ddf6b00de Return an empty list instead of null de4dot 2011-11-02 02:28:51 +0100
  • 8ff2115083 Remove unused methods, and inline method used only by SA code de4dot 2011-11-02 02:25:45 +0100
  • ade1720d32 Use type cache to look up types (huge speedup in DNR code) de4dot 2011-11-02 02:25:07 +0100
  • f342a481a9 Update Conv_XX emulation. Default case should push unknown int32/64. de4dot 2011-11-02 01:19:18 +0100
  • 1938a1c497 Undo what VS did de4dot 2011-11-01 18:56:44 +0100
  • 6a07ee5b5e It's generic code so move it to common parent dir de4dot 2011-11-01 18:48:52 +0100
  • 7bdea53134 Check op for null and update detection code de4dot 2011-11-01 18:47:26 +0100
  • 6f4447aa98 It's generic code so move it to common parent dir de4dot 2011-11-01 18:46:59 +0100
  • cc8e220281 Also use ldfld/ldflda to detect arg types de4dot 2011-11-01 15:53:51 +0100
  • c354ded987 Add code to restore ldtoken instructions de4dot 2011-11-01 15:17:26 +0100
  • 4d5c625c78 Add updated cecil submodule de4dot 2011-11-01 15:16:15 +0100
  • 5170e62e21 Add code to remove inlined methods and option to disable it de4dot 2011-11-01 14:23:30 +0100
  • e7ceb50382 Add CanInlineMethods to IDeobfuscator de4dot 2011-11-01 14:19:53 +0100
  • 2fcd13000b Add option to disable method inlining de4dot 2011-11-01 14:18:29 +0100
  • ce8e53976e Add updated cecil submodule de4dot 2011-11-01 02:34:04 +0100
  • 8faf7389ad Restore method return types de4dot 2011-11-01 02:22:05 +0100
  • bfb83b7482 Add updates cecil submodule de4dot 2011-11-01 02:19:19 +0100
  • 2e2eafdb57 Add code to restore methods' arg types de4dot 2011-10-31 23:58:19 +0100
  • 651072e2d4 Add methods to get ParameterDefinition de4dot 2011-10-31 23:56:02 +0100
  • ed625e256d Restore field types and add option to disable it de4dot 2011-10-31 19:41:38 +0100
  • 0ac072cf7b Add class to restore field types. It should work most of the time. de4dot 2011-10-31 19:40:57 +0100
  • b530c1a313 Add isSystemObject() method de4dot 2011-10-31 19:39:00 +0100
  • 1eedf7cb3e Update if expr. It was wrong de4dot 2011-10-31 19:38:36 +0100
  • cbf37e8732 Move getLocalVar() and add getArgType() de4dot 2011-10-31 19:37:26 +0100
  • 5185dc8364 Throw if PInvokeInfo is null. The type was probably removed. de4dot 2011-10-31 00:18:11 +0100
  • 6b04c23036 Update decrypter and version detecter code de4dot 2011-10-31 00:09:38 +0100
  • 11781b2875 Check for null methods de4dot 2011-10-31 00:08:38 +0100
  • 35005a1a51 getStringDecrypterMethods() now adds all string decrypter methods de4dot 2011-10-30 19:28:13 +0100
  • 0ddbe16349 Update DNR version number detection code de4dot 2011-10-30 06:15:52 +0100
  • 7505f6096f Clear deobfuscation flags when reloading module de4dot 2011-10-30 06:14:22 +0100
  • 2ede24598d Detect DNR version de4dot 2011-10-29 20:28:29 +0200
  • efe98949b1 Minor updates de4dot 2011-10-29 20:26:59 +0200
  • 37a64f77f2 Index should be set to instruction before we broke out of the loop de4dot 2011-10-29 20:25:41 +0200
  • b57c93eae4 Update DNR methods decrypter code de4dot 2011-10-29 03:39:32 +0200
  • 040410d7ce Methods decrypter method could be null de4dot 2011-10-29 03:39:08 +0200
  • def4072bc5 Move array finder code to a new ArrayFinder class de4dot 2011-10-29 03:38:09 +0200
  • 0a8d772c22 Decrypt methods sent to the JITter de4dot 2011-10-29 02:27:34 +0200
  • c4d6ba9ae9 Some minor updates de4dot 2011-10-29 02:25:31 +0200
  • 3b87ab1294 Update getDecryptedModule() so it can return dumped methods de4dot 2011-10-29 02:23:48 +0200
  • a6dcd03d26 Allow passing dumped methods to reload() de4dot 2011-10-29 02:22:36 +0200
  • 0e70d020b4 Add .NET metadata reader (ported from C++) de4dot 2011-10-29 02:20:44 +0200
  • 89f90d3e75 Make sure publicKeyToken.Length > 0 de4dot 2011-10-28 01:44:15 +0200
  • 699ac4378d Support older string decrypter method and detect older methods decrypter de4dot 2011-10-28 01:33:05 +0200
  • eb002895e1 Don't throw if we can't find all method args in the same block de4dot 2011-10-28 01:28:08 +0200
  • deda2d5d60 Handle case where try handler block is before try block de4dot 2011-10-28 01:27:00 +0200
  • 09178a6e95 Update methods decrypter and string decrypter de4dot 2011-10-27 22:25:44 +0200
  • 39dbf5d9b2 Ignore call if we can't get all args de4dot 2011-10-27 22:22:52 +0200
  • 9c83c22469 Add .NET header and a method to more safely write to a .NET PE image de4dot 2011-10-27 22:21:45 +0200
  • 61b1f7a06a Ignore invalid metadata tokens in code de4dot 2011-10-27 15:57:33 +0200
  • 9c253e7864 Add updated cecil submodule de4dot 2011-10-27 15:52:58 +0200
  • 5357b4f73c Update code to handle 4.1 obfuscated assemblies de4dot 2011-10-27 02:08:30 +0200
  • 93d4ac1c9d Update type name de4dot 2011-10-27 02:07:33 +0200
  • 41356b2d30 Check for methods with no body de4dot 2011-10-27 02:07:06 +0200
  • ceca5718ba Remove encrypted resources and call to methods decrypter de4dot 2011-10-26 23:00:01 +0200
  • dfb73f222f Add options to disable decryption of methods and bools de4dot 2011-10-26 22:24:31 +0200
  • 63ab61fb12 Deobfuscate cflow again if a bool was decrypted de4dot 2011-10-26 22:16:51 +0200
  • bd7a6763a6 Return number of method calls that were replaced de4dot 2011-10-26 22:06:48 +0200
  • 28b73d36ed It's a flags enum so should use unique bits de4dot 2011-10-26 22:00:32 +0200
  • db7edc2a72 Add BoolValueInliner class de4dot 2011-10-26 21:05:35 +0200
  • 0c0093ff76 Add createLdci4() method de4dot 2011-10-26 21:01:38 +0200
  • 59863bf8b4 Refactor string decrypter to generic return value inliner class de4dot 2011-10-26 20:41:50 +0200
  • e4f2af221a Add BooleanDecrypter class de4dot 2011-10-26 20:23:45 +0200
  • f37a46a02b Decrypt strings de4dot 2011-10-26 19:49:25 +0200
  • 03a8372319 Add readInt32() and readBytes() methods de4dot 2011-10-26 19:41:23 +0200
  • 6bde8b8b20 Decrypt some DNR 4.0 non-native obfuscated assemblies de4dot 2011-10-26 14:40:55 +0200
  • 1fbe902ed1 Always call detect(), and support reloading decrypted files de4dot 2011-10-26 14:32:50 +0200
  • 3f7b1237b4 Don't call GetDirectoryName() if name is "" (loaded from byte[]) de4dot 2011-10-26 14:32:10 +0200
  • 4f315fd65a Add reload() method when the file has been decrypted de4dot 2011-10-26 14:30:47 +0200
  • 1eaa245618 Should ignore .cctor methods since .ctor is never static de4dot 2011-10-26 14:29:57 +0200
  • bfa0fa14c0 Add decrypt methods to IDeobfuscator. Change some method sigs. de4dot 2011-10-26 14:29:12 +0200
  • 794b9dfd77 Add PE image reader/writer code de4dot 2011-10-26 14:20:38 +0200
  • 349ebc4e72 Make InstructionEmulator class public de4dot 2011-10-26 14:17:33 +0200
  • 685c5ba79c Add code to detect methods decrypter method de4dot 2011-10-25 08:27:36 +0200
  • 6bb6f0930d Remember to create DNR's info class de4dot 2011-10-24 19:51:04 +0200
  • e92c2ce97b Use available method, and get rid of useless code de4dot 2011-10-24 19:45:31 +0200
  • cb5589ee28 Add skeleton DNR file de4dot 2011-10-24 19:44:49 +0200
  • 129da2e7f9 Set version 1.1.3 de4dot 2011-10-24 15:48:19 +0200
  • d9012fbbd3 Make sure we don't get stuck in an infinite loop de4dot 2011-10-24 15:12:32 +0200
  • 4d5d1b9089 Inline short methods (for DNR) de4dot 2011-10-24 12:45:20 +0200
  • 46309f2f78 New version: 1.1.2 de4dot 2011-10-23 22:09:27 +0200
  • 4f02f84d84 Fix problem when resources aren't encrypted or compressed de4dot 2011-10-23 22:03:38 +0200
  • 779d1a8a31 Update version to 1.1.1 de4dot 2011-10-23 20:13:25 +0200
  • b2ac811875 ParameterDefinition.Index is 1-based or 0-based de4dot 2011-10-23 20:12:10 +0200
  • bf00ccca2b Some minor updates de4dot 2011-10-23 17:23:33 +0200