.NET Взлом .NET

Rio

Администратор
Администратор
Сообщения
126
Реакции
134
Утилиты с открытым исходным кодом
dnSpy (Archived)
Update on
v6.1.8 Latest
on Dec 7, 2020


dnSpy is a debugger and .NET assembly editor. You can use it to edit and debug assemblies even if you don't have any source code available.



Main features:
  • Debug .NET and Unity assemblies
  • Edit .NET and Unity assemblies
  • Light and dark themes
https://github.com/dnSpy/dnSpy
ILSpy
Update on
ILSpy 6.2.1 Latest
on Oct 12, 2020


.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!



Features
  • Decompilation to C#
  • Whole-project decompilation (csproj, not sln!)
  • Search for types/methods/properties (substring)
  • Hyperlink-based type/method/property navigation
  • Base/Derived types navigation, history
  • BAML to XAML decompiler
  • Extensible via plugins (MEF)
  • Check out the language support status
https://github.com/icsharpcode/ilspy
Dotnet IL Editor
Update on2014-09-24



Dotnet IL Editor (DILE) allows disassembling and debugging .NET 1.0/1.1/2.0/3.0/3.5/4.0 applications without source code or .pdb files. It can debug even itself or the assemblies of the .NET Framework on IL level.
https://sourceforge.net/projects/dile/
Cecil
Update on
0.11.3 Latest
on Sep 15, 2020

Mono.Cecil is a library to generate and inspect programs and libraries in the ECMA CIL form.
To put it simply, you can use Cecil to:
  • Analyze .NET binaries using a simple and powerful object model, without having to load assemblies to use Reflection.
  • Modify .NET binaries, add new metadata structures and alter the IL code.
Cecil has been around since 2004 and is widely used in the .NET community. If you're using Cecil, or depend on a framework, project, or product using it, please consider sponsoring Cecil.

Read about the Cecil development on the development log.
To discuss Cecil, the best place is the mono-cecil Google Group.
Cecil is a project under the benevolent umbrella of the .NET Foundation.
https://github.com/jbevain/cecil
Reflexil - The .NET Assembly Editor
Update on
Release 2.5 31.12.2019



Reflexil is an assembly editor and runs as a plug-in for Red Gate's Reflector, ILSpy and Telerik's JustDecompile. Reflexil is using Mono.Cecil, written by Jb Evain and is able to manipulate IL code and save the modified assemblies to disk. Reflexil also supports C#/VB.NET code injection.

Homepage: http://reflexil.net
Howto: http://www.codeproject.com/KB/msil/reflexil.aspx

Compatible with:
  • ILSpy
  • Reflector
  • Telerik JustDecompile
Videos:
Download stable releases here: https://github.com/sailro/Reflexil/releases
or nightly releases here: https://sailro.visualstudio.com/Reflexil/_build?definitionId=2&_a=summary&view=runs

https://github.com/sailro/Reflexil/releases
de4dot (Archived)
Update on
Aug 29, 2020


de4dot is an open source (GPLv3) .NET deobfuscator and unpacker written in C#. It will try its best to restore a packed and obfuscated assembly to almost the original assembly. Most of the obfuscation can be completely restored (eg. string encryption), but symbol renaming is impossible to restore since the original names aren't (usually) part of the obfuscated assembly.

It uses dnlib to read and write assemblies so make sure you get it or it won't compile.
Binaries
Get binaries from the build server https://github.com/0xd4d/de4dot/actions.
https://github.com/de4dot/de4dot
BitDiffer
Update on
BitDiffer 1.5.0.4 Latest
on May 5, 2015

BitDiffer is a GUI and Command Line application to compare versions of .NET assemblies.
For the latest executables, go to the Releases Page.

https://github.com/bitdiffer/bitdiffer
Type RefHasher
Update on
TypeRefHasher 1.0.2 Latest
on Nov 11, 2020


CLI tool to compute the TypeRefHash (TRH) for .NET binaries.
https://github.com/GDATASoftwareAG/TypeRefHasher
Simple Assembly Explor (SAE) - Assembler, Disassembler, Deobfuscator, IL editor and more
Update on
SAE v1.14.4 Latest
on May 25, 2015

https://sites.google.com/site/simpledotnet/simple-assembly-explorer
https://github.com/wickyhu/simple-assembly-explorer

Платные утилиты
.Net Reflector
Update on
https://www.red-gate.com/products/dotnet-development/reflector/
VB Decompiler
Update on
https://www.vb-decompiler.org/
ReSharper
Update on
https://www.jetbrains.com/resharper/
JetBrains DotPeak
Update on
https://www.jetbrains.com/decompiler/
Telerik JustDecompile
Update on
https://www.telerik.com/products/decompiler.aspx
ilasm & ildasm
Update on
https://docs.microsoft.com/zh-cn/dotnet/framework/tools/ilasm-exe-il-assembler
https://docs.microsoft.com/zh-cn/dotnet/framework/tools/ildasm -exe-il-disassembler?redirectedfrom=MSDN
CodeReflect
Update April 25, 2013 1.08
https://devextras.com/decompiler/

Статьи в интернете
Защита .NET приложений - Субъективная теоретическая муть с хабры, выдаваемая за обзор обфускаторов(только для фанатов)
https://habr.com/en/post/106262/
Как обмануть NET.Reflector - вот это уже годная статья, в которой рассматривается ручная обфускация в стихах и картинках
https://habr.com/en/post/108955/
Взлом программ для чайников - ну не знаю...прописные истины, но приятно, что все это есть на русском языке и нормально оформлено
https://habr.com/en/post/109117/
Реверс-инжиниринг обфусцированной сборки .NET - один только заголовок чего стоит. По сути статья информативная
https://habr.com/en/post/109689/
Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET
https://habr.com/en/post/108947/
Избавление .NET программы от регистрации на примере BEM
https://habr.com/en/post/111330/
Снимаем дамп объектов с памяти .Net приложения
https://habr.com/en/company/clrium/blog/247447/
String decryption with de4dot
http://lifeinhex.com/string-decryption-with-de4dot/
.NET Internals and Code Injection
https://ntcore.com/files/netint_injection.htm
Assembly Manipulation and C# / VB.NET Code Injection
https://www.codeproject.com/Articles/20565/Assembly-Manipulation-and-C-VB-NET-Code-Injection
String decryption with de4dot

https://lifeinhex.com/string-decryption-with-de4dot/


Деобфускация
NoFuserEx-Reborn
NoFuserEx-Reborn is an open-source deobfuscator for ConfuserEx. License: MIT.
https://github.com/snowdream1985/NoFuserEx-Reborn

Моды утилит


Плагины и дополнения
Сборка Add-in'ов для Reflector - есть много полезных вещей http://www.rsdn.ru/forum/tools/3568228.1.aspx

Сигнатурные анализаторы
.Net ID 1.0.0.3 - определение защиты http://rongchaua.net/Web/Tool/DotNet Id.zip
DNiD by Rue - сигнатурный анализатор http://www.mediafire.com/?gtj38dm60ddcmma

Распаковка, дамп, импорт
.NET Generic Unpacker
This is a program to dump .NET packed applications. Of course no serious .NET protection relies on packing. In fact, this software shows how easily you can unpack a protected assemly. This .NET Generic Unpacker was written in a couple of hours and despite of the fact that it’s very simple, it might turn useful having it: otherwise you have to unpack manually, which is quite easy as well.
https://ntcore.com/?page_id=353
MegaDumper
Update on Sep 16, 2018
Dump native and .NET assemblies
https://github.com/CodeCracker-Tools/MegaDumper
ExtremeDumper - .NET Assembly Dumper
Update

ExtremeDumperLatest
on Aug 27, 2020




https://github.com/wwh1004/ExtremeDumper

ConfuserEx Unpacker 2
https://github.com/hackovh/ConfuserEx-Unpacker-2

.NET Dependency Walker - Analyze and view assembly dependencies on the .NET platform.

https://cracklab.team/index.php?threads/222/


Патчеры
DotNet Patcher v4.6 https://github.com/3DotDev/DotNetPatcher
DNP is an Obfuscator/Packer for .NET applications which use MonoCecil library. It doesn't support WPF app !

Инжекторы


Трасировщики и профайлеры
dotTrace .NET Performance Profiler
https://www.jetbrains.com/profiler/
GlowCode 10.0
http://www.glowcode.com/update.php
ANTS Performance Profiler
https://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

Декрипторы
.NetReactorStringDecryptor A string decryptor for .net reactor 6x
https://github.com/SychicBoy/.NetReactorStringDecryptor

Протекторы и обфускаторы
ConfuserEx - An open-source, free protector for .NET applications
Updated on
ConfuserEx 1.4.1Latest
on Jul 12, 2020


ConfuserEx is a open-source protector for .NET applications. It is the successor of Confuser project.
Features
  • Supports .NET Framework 2.0/3.0/3.5/4.0/4.5/4.6/4.7
  • Symbol renaming (Support WPF/BAML)
  • Protection against debuggers/profilers
  • Protection against memory dumping
  • Protection against tampering (method encryption)
  • Control flow obfuscation
  • Constant/resources encryption
  • Reference hiding proxies
  • Disable decompilers
  • Embedding dependency
  • Compressing output
  • Extensible plugin API
  • Many more are coming!
https://github.com/mkaring/ConfuserEx

Eazfuscator.NET - Eazfuscator.NET is the obfuscator for .NET platform.
https://www.gapotchenko.com/eazfuscator.net/features
https://www.gapotchenko.com/eazfuscator.net/esd/Eazfuscator.NET 2020.4 Setup.msi

Байткод
.Net MyOpCodeTable
Updated on
MyOpCodeTable-v1.6.666Latest
28.12.2020


A Handy Tool to view MSIL Opcodes List, DnSpy Extention and Standalone Application



Installation : Extract dnSpy_MyOpCodeTable.zip to dnSpy/bin folder then click on extension's icon. MyOpCodeTable is multi-threaded and the extensions is opened in completely separate thread.
https://github.com/ymg2006/MyOpCodeTable

Туторы, кракми, кейгенми
C0dr4cK .NET Keygening - Cracking Series
Ubbelol .NET Reversing Series
28 tutors DotNET by New Tiger
NET Tut's Assembly and Tools [old URET TUTS]

1.5 Gb

Для просмотра содержимого вам необходимо Войти в систему.
Документация
--> Microsoft <-- https://www.visualstudio.com/license-terms/ecma-c-common-language-infrastructure-standards/
--> Metadata and File Format <-- http://download.microsoft.com/downl...4-B056-36EC09C4CFC0/Partition_II_Metadata.zip
--> CIL(опкоды с полным пояснениями) <-- http://download.microsoft.com/downl...-4CE4-B056-36EC09C4CFC0/Partition_III_CIL.zip

Редкие исходники


Утилиты из прошлого
Xenocode Fox Code Analyzer- профайлер и дизассемблер http://www.softkey.info/reviews/review6780.php
jitDumper
Gray Wolf
Kurapica dotNET Tracer
iMPROVE .NET Deobfuscator - деобфускатор http://sourceforge.net/projects/improvenetdeobf/
ConfuserDumper http://www.solidfiles.com/d/aa589ef0ba/
ConfuserDelegateKiller http://exelab.ru/f/index.php?action=vthread&forum=1&topic=16650&page=21#12
CodeCrackerTools: ConfuserMethodsDecryptor, ConfuserDelegateKiller, ConfuserStringDecryptor, MegaDumper, etc. http://www23.zippyshare.com/v/50597806/file.html
Universal Fixer 1.0 - fix dumps after dumping them whit Dotnet Dumper or other similiar tools and will also fix nasty things: multiple assembly/module definitions, wrong extends, etc.
 
  • Понравилось
Реакции: RET

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
C0dr4cK .NET Keygening - Cracking Series
Ubbelol .NET Reversing Series
28 tutors DotNET by New Tiger
NET Tut's Assembly and Tools [old URET TUTS]

1.5 Gb
Для просмотра содержимого вам необходимо Войти в систему.
 

mizuki

Посетитель
Новичок
Сообщения
40
Реакции
27
Решарпер не в тему. Лучше заменить на dotPeek. Да и многое остальное не у дел по сравнению с dnSpy + de4dot.
 

TryAga1n

Посетитель
Наставник
Сообщения
26
Реакции
363
Если не ошибаюсь, оригинальный топик был создан в 15 году и шапка из него. Естественно инструменты устарели, поэтому лучше сделайте обновленный список тулзов с ссылками и описанием, чтобы ваши рекомендации имели хоть какой-то смысл
 
  • Понравилось
Реакции: Rio

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
Заменил первый пост, добавил пару утилит, описание с картинками для остальных добавлю как смогу, что-то ещё нужно искать, а трещины уже по мере добавления материала.
 

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
@sendersu,
Трещина - это китайский перевод кряка :LOL: (y), т.е. вместо кряка "трещина", своего рода сленг. История началась кажется с момента, когда китайцы переводили на русский запросы на взлом :D
 

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
ExecuteAssembly - Load/Inject .NET Assemblies https://www.kitploit.com/2021/02/executeassembly-loadinject-net.html
ExecuteAssembly is an alternative of CS execute-assembly, built with C/C++ and it can be used to Load/Inject .NET assemblies by; reusing the host (spawnto) process loaded CLR Modules/AppDomainManager, Stomping Loader/.NET assembly PE DOS headers, Unlinking .NET related modules, bypassing ETW+AMSI, avoiding EDR hooks via NT static syscalls (x64) and hiding imports by dynamically resolving APIs via superfasthash hashing algorithm.

https://github.com/med0x2e/ExecuteAssembly
 

zds

Новичок
Постоянный
Сообщения
6
Реакции
13
Здравствуйте
Есть mixed сборка, с каким-то кастомным обфускатором (во всяком случае de4dot не определяет его). деобфускатор для managed кода писал сам. Но тут вышла новая версия и тут уже присутствует обфускация нативного кода.
вот пример функции в старой и новой сборке

old assembly:
signed int __cdecl sub_1000D5A0(__int64 a2)
{
  int v1; // eax
  _DWORD *v2; // ebx
  int v3; // edi
  int v4; // eax
  double v5; // st7
  signed int result; // eax
  int v7; // [esp-14h] [ebp-28h]
  int v8; // [esp-10h] [ebp-24h]
  int v9; // [esp-Ch] [ebp-20h]

  v1 = sub_1000D3F0(a2, SHIDWORD(a2));
  v2 = (_DWORD *)v1;
  if ( !v1 )
    goto LABEL_4;
  v3 = mktime32(v1 + 72);
  free(v2[27]);
  v9 = v2[28];
  v2[27] = 0;
  free(v9);
  v8 = v2[29];
  v2[28] = 0;
  free(v8);
  v7 = v2[30];
  v2[29] = 0;
  free(v7);
  v2[30] = 0;
  free(v2);
  v4 = time32(0);
  v5 = difftime32(v3, v4);
  if ( v5 >= 0.0 )
    result = (int)j_ceil(v5 / 86400.0);
  else
LABEL_4:
    result = -1;
  return result;
}
new assembly:
int __cdecl sub_1000DB40(__int64 a1)
{
  int v1; // eax
  int v2; // ebx
  int v3; // edi
  double v4; // xmm1_8
  int v5; // ecx
  double v6; // st7
  int v7; // esi
  int v8; // eax
  double v10; // [esp+1Ch] [ebp-Ch]
  int v11; // [esp+24h] [ebp-4h]

  v1 = 0;
  v2 = 0;
  v11 = 0;
  v3 = -1;
  v4 = 0.0;
  v5 = 0xFA952C29;
LABEL_2:
  v10 = v4;
  while ( 2 )
  {
    switch ( v5 )
    {
      case 0xFA952C26:
        v2 = v3;
        v5 = 0xFA952C2A;
        continue;
      case 0xFA952C27:
        v6 = j_ceil(v4 / 86400.0);
        v4 = v10;
        v1 = v11;
        v5 = 0xFA952C26;
        v3 = (int)v6;
        continue;
      case 0xFA952C28:
        v7 = mktime32(v1 + 72);
        sub_1000DAC0(v11);
        v8 = time32(0);
        v4 = difftime32(v7, v8);
        v5 = 0xFA952C27 * (v4 >= 0.0) - 0x56AD3D4 * (v4 < 0.0);
        v1 = v11;
        goto LABEL_2;
      case 0xFA952C29:
        v1 = sub_1000D840(a1, SHIDWORD(a1));
        v4 = v10;
        v11 = v1;
        v5 = 0xFA952C28;
        if ( !v1 )
          v5 = 0xFA952C2B;
        continue;
      case 0xFA952C2A:
        return v2;
      default:
        v3 = -1;
        v5 = 0xFA952C26;
        continue;
    }
  }
}
кто-нибудь сталкивался с таким? может есть примеры деобфускаторов подобного
 

zds

Новичок
Постоянный
Сообщения
6
Реакции
13
С виду похоже на VMP3.5
мало вероятно, что тут vmp. ни каких виртуальных машин, мутаций в файле нет. для лицензирования используется flexnet
и анализаторами тоже vmp не детектится здесь
просто обвускация такая же как часто бывает для il кода, но в нативном такое в первый раз вижу
 

sendersu

Посетитель
Мудрец
Сообщения
47
Реакции
392
у VMP много методов защит
жесткая обфускация иногда получше чем ВМ с ее тормознутостью

и да, все да и когда-то случается впервые в жизни...

1613494185140.png
 
  • Понравилось
Реакции: zds

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
VMP.NET-Kill V2.1 (VMP 1213-1261)
This program help you with unpacking vmprotect

Guys, please read the README on github before you ask questions.
Instructions:
  1. Use tools SMD, for unpacking vmp, or KSDumper
  2. use demutator from wwh
  3. use de4dot
  4. use vmp.net-killer
https://yougame.biz/threads/166893/ - guide on RU lang
https://youtu.be/cMw0B6I5uL0 - video-guide UPDATE


VMPKiller2.1 - DarkBullNull released this on Dec 21, 2020
  • added inlining of hidden Metadata
  • added string decrypting
  • fix restore methods for WinForms .ctor
Assets3
Release.rar 348 KB
Source code(zip)
Source code(tar.gz)

Девиртуализация

devirt.png

@zds, можно попробовать сравнить через свою пустышку.
 

igorca

Гость
Посетитель
Сообщения
3
Реакции
40
KSDumper-win10,x64,не пашет
 

Enigma

Гость
Мудрец
Сообщения
1
Реакции
0
существует ли в dnSpy возможность добавить ссылку на сборку, как в студии например?
 

mak

Соломенные сандалии
Администратор
Сообщения
575
Реакции
314
существует ли в dnSpy возможность добавить ссылку на сборку, как в студии например?
Возможно так: Открыть бинарник -> Edit Method -> Add Assembly Reference (Кнопка в виде папки) -> выбрать сборку.
 

styx

Посетитель
Финалисты турниров
Новичок
Сообщения
13
Реакции
6
de4dot .NET Reactor v6.x Modded by Mobile46

Может кто-то успел заиметь?
 
Последнее редактирование:
Верх Низ