Сейчас на форуме: -Sanchez- (+7 невидимых)

 eXeL@B —› Основной форум —› Взлом dotNET программ
<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 49 . 50 . >>
Посл.ответ Сообщение

Ранг: 60.6 (постоянный), 20thx
Активность: 0.070
Статус: Участник

Создано: 30 августа 2010 22:59 · Поправил: s0l
· Личное сообщение · #1

Со времени создания топика много обсудили, во много м разобрались и много осталось за кадром. Решил подшить выкладываемый софт и линки

Инструменты:

dnSpy - бодрый декомпилятор и отладчик тут беты

Gray Wolf - DE-ObfuScatE / Edit IL(Live) / Add payloads / Edit attributes(public/privet) / Copy strong names signing on EXE/DLL
ReSharper 6.0 Build 2093 Pre-Release - Очень навороченый декомпилер, побробности --> ТУТ <--.
Рег-данные:
Code:
  1. User Name: ReSharper EAP User
  2. License Key: 0-A60kqsqDMPkvPrLC3bz1/jmns4/DAUV6
  3. which is valid until 31 March 2010

Reflector 8.3.3.115 - платный декомпилятор .NET 8.3.0.95 + (дополнение к нему)
Седьмая версия рефлектора - думаю все знают
Сборка Add-in'ов для Reflector - есть много полезных вещей
.Net ID 1.0.0.3 - определение защиты
DNiD by Rue - сигнатурный анализатор
Dotnet IL Editor (DILE)- Opensource дизассемблер и дебаггер
Xenocode Fox Code Analyzer- профайлер и дизассемблер
Reactor Decryptor 1.7 - что то декриптит, но что не понятно(с) zeppe1in
Simple Assembly Explor (SAE) - Assembler, Disassembler, Deobfuscator, IL editor and more...
DotNet Dumper 1.0 - Дампер .net'овских приложений. Подробное описание
Kurapica dotNET Tracer 1.1 - трейсер от известного автора инструментов для .net
ILSpy 1.0.0.481 - Opensource комбайн, на подобие SAE. Подробности тут
dotTrace Performance 4.0.665.4 - Неплохой трейсер для .Net приложений. Умеет делать трейсы не смешивая потоки как KDT. Умеет сравнивать трейсы двух запусков программы
Рег-данные:
Code:
  1. Name: exelab
  2. Serial: OLgDSHG0hJghkLdXYJh1IjM3ytMrqKcn

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.
iMPROVE .NET Deobfuscator - деобфускатор


ConfuserDumper
ConfuserDelegateKiller
CodeCrackerTools: ConfuserMethodsDecryptor, ConfuserDelegateKiller, ConfuserStringDecryptor, MegaDumper, etc.

Статьи с хабры:
Защита .NET приложений - Субъективная теоретическая муть с хабры, выдаваемая за обзор обфускаторов(только для фанатов)
Как обмануть NET.Reflector - вот это уже годная статья, в которой рассматривается ручная обфускация в стихах и картинках
Взлом программ для чайников - ну не знаю...прописные истины, но приятно, что все это есть на русском языке и нормально оформлено
Реверс-инжиниринг обфусцированной сборки .NET - один только заголовок чего стоит. По сути статья информативная
Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET
Избавление .NET программы от регистрации на примере BEM
Снимаем дамп объектов с памяти .Net приложения

Другое:
.NET Reflector v7.0.0.198 (C# Source by wangshy)
[url=http://lifeinhex.com/string-decryption-with-de4dot/]String decryption with de4dot[/url

-

Last edit: 2012-02-17, Links fixed. Jupiter]



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 11 июля 2015 07:59
· Личное сообщение · #2

Xlab0s
не работают они, чото там типа декриптит, но по факту ничего не меняется.

-----
SaNX




Ранг: 39.7 (посетитель), 4thx
Активность: 0.040.01
Статус: Участник

Создано: 11 июля 2015 08:10
· Личное сообщение · #3

https://www.sendspace.com/file/kmgesc
с расшифровкой строк только не разобрался до конца через de4dot



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 11 июля 2015 09:01
· Личное сообщение · #4

Xlab0s
Строки то ладно. Там часть чтоли только анпакнулась.
Полно вызовов типа
Code:
  1. // ns0.GClass22
  2. public static bool smethod_1()
  3. {
  4.    bool result;
  5.    try
  6.    {
  7.        result = ((c)<Module>.Invoke(375))();
  8.    }
  9.    catch
  10.    {
  11.        throw;
  12.    }
  13.    return result;
  14. }

т.е. по сути протектор не снят

-----
SaNX





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 11 июля 2015 14:35
· Личное сообщение · #5

Кто-нибудь уже сталкивался с протом от li0nsar3c00l (Disguiser)?

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 34.1 (посетитель), 118thx
Активность: 0.040.01
Статус: Участник

Создано: 11 июля 2015 19:02
· Личное сообщение · #6

SaNX пишет:
Полно вызовов типа
Code:
// ns0.GClass22
public static bool smethod_1()
{
   bool result;
   try
   {
       result = ((c)<Module>.Invoke(375))();
   }
   catch
   {
       throw;
   }
   return result;
}


Похоже на динамические вызовы ILProtect'a. Попробуйте DynamicTrace [https://forum.tuts4you.com/topic/36998-dynamictrace/] от Coderacker'а и ILProtect Unpacker [https://forum.tuts4you.com/topic/32843-ilprotector-unpacker/] от него же. Правда целиком цель он врядли распакует..



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 11 июля 2015 21:02 · Поправил: SaNX
· Личное сообщение · #7

nick8606 пишет:
DynamicTrace

падает с ошибкой.

такс, я туплю. прога запускается только с ярлыка. Как оно определяет, что запустилось с ярлыка? Декриптор не может анпакнуть, потому что прога не запускается тупо. есть типа дебаг какойнить для нет?

В проге много каких то проверок типа
например
if (GClass23.smethod_3() == 1)
{
return;
}


public static byte smethod_3()
{
byte result = 1;
foreach (ProcessModule processModule in Process.GetCurrentProcess().Modules)
{
if (processModule.ModuleName.ToLower() == GClass4.smethod_5("njNjǝǏljǑƘǎǖǖ")) //"base_g.dll"
{
result = 0;
break;
}
}
return result;
}

Таким макаром и определяется чтоли, с ярлыка запуск или нет?

-----
SaNX





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 12 июля 2015 01:46
· Личное сообщение · #8

SaNX может быть два варианта
1. В ярлыке есть дополнительные параметры
2. В ярлыке указана рабочая папка, не та, где лежит exe файл

-----
StarForce и Themida ацтой!




Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 12 июля 2015 06:22
· Личное сообщение · #9

Maximus пишет:
может быть два варианта

и оба не канают )
еще наблюдение: не запускается из тотала. если из проводника запускать - то нормально и без ярлыка. Вопрос, как распаковать?

-----
SaNX




Ранг: 34.1 (посетитель), 118thx
Активность: 0.040.01
Статус: Участник

Создано: 12 июля 2015 09:06
· Личное сообщение · #10

Может проверяется имя родительского процесса - не кодом выше, а внутренними методами

Переименуй тотал/дебуггер в explorer.exe



Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 12 июля 2015 10:52
· Личное сообщение · #11

nick8606 пишет:
Переименуй тотал/дебуггер в explorer.exe

не помогает

-----
SaNX




Ранг: 456.3 (мудрец), 340thx
Активность: 0.280.02
Статус: Участник
Android Reverser

Создано: 13 июля 2015 06:56
· Личное сообщение · #12

А это что за проверки? на отладчики?
Code:
  1. bool result;
  2.          try
  3.          {
  4.                  while (enumerator.MoveNext())
  5.                  {
  6.                         ProcessModule processModule = (ProcessModule)enumerator.Current;
  7.                         if (processModule.ModuleName.ToLower() == "diasymreader.dll" || processModule.ModuleName.ToLower() == "vs7jit.exe" || processModule.ModuleName.ToLower() == "mcee.dll" || processModule.ModuleName.ToLower() == "jsee.dll" || processModule.ModuleName.ToLower() == "cpde.dll" || processModule.ModuleName.ToLower() == "csm.dll" || processModule.ModuleName.ToLower() == "profilercallback.dll" || processModule.ModuleName.ToLower() == "SbieDll.dll")
  8.                         {
  9.                               result = true;
  10.                               return result;
  11.                         }
  12.                  }
  13.                  return false;
  14.          }
  15.          finally
  16.          {
  17.                  IDisposable disposable = enumerator as IDisposable;
  18.                  if (disposable != null)
  19.                  {
  20.                         disposable.Dispose();
  21.                  }
  22.          }
  23.          return result;


-----
SaNX




Ранг: 4.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 18 июля 2015 08:52
· Личное сообщение · #13

Нужен совет. Есть программа, защищена ILProtector’ом. У производителя присутствует бесплатная версия, в целом ее функционал вполне устраивает, но есть ограничение на одновременный запуск нескольких копий. Предыдущие версии были только платные, и в них я это ограничение успешно отламывал. Но эти самые предыдущие версии доставались мне уже распакованные и со снятой основной защитой. В этой-же версии самостоятельно у меня не получается даже дамп рабочий получить. Мегадампер выдает дамп с битым заголовком и методами, выглядящими как-то так:
Code:
  1. [Conditional("RELEASE")]
  2. private static void CheckAnotherInstance(bool isCommandLineMode)
  3. {
  4.     try
  5.     {
  6.         ((CheckAnotherInstance) Invoke(0xb9))(isCommandLineMode);
  7.     }
  8.     catch
  9.     {
  10.         throw;
  11.     }
  12. }

что, как я понимаю, означает что толку с такого дампа немного.
Я вижу такие варианты дальнейшей работы:
1.Продолжать попытки избавиться от протектора.
2.Начать рыть в сторону патча памяти, так как интересующий меня метод вряд ли изменился с прошлых версий.
3.Исхитриться написать перехватчик GetProcesses.
А теперь вопрос: какой из этих вариантов лучше/быстрее/проще? Или мне лучше вообще прекратить рожать каменный цветок и идти на поклон в два известные топика этого форума?



Ранг: 45.7 (посетитель), 40thx
Активность: 0.030
Статус: Участник

Создано: 18 июля 2015 20:53
· Личное сообщение · #14

BoNi
Там темида/винлиценсе,под ней уже илпротект
Можно сдампить мегадумпером,потом восстановить заголовки вручную или с помощью universalfixer от CodeCrackera
после этого софт запускается и сразу падает,т.к в файле protect32.dll идут проверки на целостность.
Если хотите самостоятельно разобраться с защитой,запакуйте какой нибудь софт ilprotectom"ом,затем ковыряйте его.Также после снятия дампа изучайте protect.dll



Ранг: 4.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 июля 2015 11:25
· Личное сообщение · #15

igorca
а патч памяти или перехват GetProcesses не проще будет написать?




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 20 июля 2015 11:51 · Поправил: Maximus
· Личное сообщение · #16

BoNi .net патчится никак не через перехват GetProcesses
А примерно вот так:
https://exelab.ru/f/action=vthread&forum=1&topic=16650&page=37#25

Правда что-бы патчить, надо еще знать что патчить

-----
StarForce и Themida ацтой!




Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 20 июля 2015 14:37
· Личное сообщение · #17

Вопрос знатокам: хочу переписать кусок на С.

Code:
  1. byte[] Key = new byte[32];
  2. byte[] gbKey = new PasswordDeriveBytes(phrase, null).GetBytes(Key.Length);


есть пароль, для которого необходимо сформировать ключ - phrase, ключевая привязка, используемая для формирования ключане используется (null), в gbKey получаю ключ для шифрования указанной длины.

какие дефолтные параметрамы поставщика служб шифрования (CSP)?
пробовал перебирать функции хеширования, но все дают другую gbKey.

-----
...или ты работаешь хорошо, или ты работаешь много...




Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 21 июля 2015 00:03 · Поправил: arnix
· Личное сообщение · #18

@BfoX

Из MSDN:


This class uses an extension of the PBKDF1 algorithm defined in the PKCS#5 v2.0 standard to derive bytes suitable for use as key material from a password. The standard is documented in IETF RRC 2898.


Это PBKDF1 под соусом MS, подробнее тут.

| Сообщение посчитали полезным: BfoX

Ранг: 4.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 июля 2015 12:27
· Личное сообщение · #19

Maximus
там проверка наличия второй копии идет через GetProcesses
и если код проверки не изменился - я знаю il код этой проверки, надо только смещение найти



Ранг: 397.0 (мудрец), 179thx
Активность: 0.170.1
Статус: Участник

Создано: 22 июля 2015 18:59
· Личное сообщение · #20

arnix

спасибо, портировал на С

-----
...или ты работаешь хорошо, или ты работаешь много...




Ранг: 33.8 (посетитель), 11thx
Активность: 0.020.01
Статус: Участник

Создано: 22 июля 2015 19:29
· Личное сообщение · #21

Alinator3500 пишет:
2) Используем Roslyn для конверсии C# в C++ https://channel9.msdn.com/Events/DevCon/Russia-2015/Use-Roslyn-conversion-in-C--C-

Этописец, простите мой хранцузский.
Сначала было смешно, а потом стало грустно. Всеж нет ничего удивительного в том, что падают спутники ... каков поп, таков и приход (какие "программисты", такие и программы)




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 23 июля 2015 22:43 · Поправил: ajax
· Личное сообщение · #22

--> DotNet Patcher 4 <--
--> dnSpy 1.1.1.1 <--

-----
От многой мудрости много скорби, и умножающий знание умножает печаль


| Сообщение посчитали полезным: 4kusNick

Ранг: 11.4 (новичок), 29thx
Активность: 0.010
Статус: Участник

Создано: 30 июля 2015 16:19
· Личное сообщение · #23

dotnetProtector v5.5 (pvlog)
ищу tutorial по распаковке, может у кого есть?



Ранг: 45.7 (посетитель), 40thx
Активность: 0.030
Статус: Участник

Создано: 30 июля 2015 23:04
· Личное сообщение · #24

Natik
А можно ссылку на софт,защищённый этим протектором?



Ранг: 11.4 (новичок), 29thx
Активность: 0.010
Статус: Участник

Создано: 31 июля 2015 15:56
· Личное сообщение · #25

в ПМ сбросил
я страндарно, снял дамп, прикрутил модуль embedded.netmodule, подправил флаги файла и ep .net
но что интересно: во всех методах только throw new ApplicationException()
загнал в de4dot. Ничего не изменилось. Наверно dnlib надо править



Ранг: 46.8 (посетитель), 20thx
Активность: 0.040
Статус: Участник

Создано: 31 июля 2015 20:05
· Личное сообщение · #26

awlost пишет:
Alinator3500 пишет:
2) Используем Roslyn для конверсии C# в C++ https://channel9.msdn.com/Events/DevCon/Russia-2015/Use-Roslyn-conversion-in-C--C-
Этописец, простите мой хранцузский.
Сначала было смешно, а потом стало грустно. Всеж нет ничего удивительного в том, что падают спутники ... каков поп, таков и приход (какие "программисты", такие и программы)


А что не так? Вы программист на C++ и вас расстроило качество автоматически сгенерированного кода версии бета 0.0.8?



Ранг: 57.0 (постоянный), 10thx
Активность: 0.050.08
Статус: Участник

Создано: 12 августа 2015 20:18
· Личное сообщение · #27

подскажите можно как-то получить IsolatedStorageFile чужого приложения?



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 23 августа 2015 17:48
· Личное сообщение · #28

Господа помогите пожалуйста, сам искал и по форуму и в нете, ни чего подходящего не нашел. Нужен отладчик net приложений. Есть il код добытый с помощью ildasm, так вот как можно его запустить под отладку при этом поставив останов в нужном месте? Читал что есть инструкция break, ставлю ее, запускаю ilasm все нормально собирается а при запуске приложения оно падает. Задача: посмотреть что присваивается переменной после выполнения метода. Возможно ли il запустить на выполнение в студии?



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 23 августа 2015 18:52
· Личное сообщение · #29

Отладка есть в ILSpy.Next и в dnSpy.

-----
старый пень





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 23 августа 2015 19:16 · Поправил: DenCoder
· Личное сообщение · #30

FreeEagle
Есть Reflector, есть плагины для него.
Есть на github проект для отладки дотнет-приложений.
Для любителей кучи цифр и букв есть вариант WinDbg + уже забыл, какой плагин для него.

Есть --> Medsft' blog <-- с ILSpy. Но автор куда-то пропал на 2,5 месяца...

Ищите и обрящете!

-----
IZ.RU




Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 августа 2015 01:42 · Поправил: pudge-crack
· Личное сообщение · #31

Ребята , скомпилируйте пожалуйста !
https://github.com/ViRb3/dnEditor
Если есть у кого нибудь , залейте сюда )
Буду очень благодарен


<< 1 ... 36 . 37 . 38 . 39 . 40 . 41 . 42 . 43 . 44 . 45 . 46 ... 49 . 50 . >>
 eXeL@B —› Основной форум —› Взлом dotNET программ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати