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

 eXeL@B —› Основной форум —› Взлом dotNET программ
<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 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]



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 19 июля 2013 18:58
· Личное сообщение · #2

DenCoder пишет:
Пока инструмент на стадии выбора
я тебе больше скажу на github.com аффтар вообще выкинул debugger из ILSpy.... пользуйте типа мой другой проект SharpDevelop он типа туда встроен и улыбочку гаденькую в конце пририсовал.
Ссыль https://github.com/icsharpcode/ILSpy/commits/master (новость от 16.07.2013)



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

Создано: 19 июля 2013 19:36
· Личное сообщение · #3

Medsft
ILSpy plug-in там есть. Но как его использовать я не нашел.

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





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

Создано: 19 июля 2013 20:23 · Поправил: DenCoder
· Личное сообщение · #4

Medsft пишет:
пользуйте типа мой другой проект SharpDevelop он типа туда встроен и улыбочку гаденькую в конце пририсовал.


debugger.plugin.dll вместе с debugger.core.dll результат двух проектов из SharpDevelop. Их можно компоновать с проектами илспая

Вопрос в другом:
На сегодняшний день использовал относительно нету следующие дебаггеры:
1) Visual Studio 2010 + .NET Reflector 8
2) WinDbg + SOS
3) Mdbg
4) .NET Reflector 8 + plugin deblector
5) ILSpy + ILspy.debugger.plugin
6) Dile
У последних 4х проблема с точным позиционированием IP. Невозможно многопоточный нет-код трассировать по IL-инструкциям, IP прыгает через несколько строк. Хотя Mdbg с деблектором так и пишут, точно или не точно установлен IP.

1ый вариант отладки декомпилит ассембли и генерит символы, чтоб показать код на c#. Но чтобы трассировать его, он его заново компилит и сообщает, что не может ничего сделать - символы не совпадают.
2ой очень очень трудоёмкий, есть возможность остановиться на желаемом методе, работает, но отладка не IL-кода, а скомпилированного в x86(x64) асм код. Или я просто не нашёл, как это сделать. Есть в нём возможность посмотреть IL-код метода, CLRStack, треды, классы и методы, но информации об IP IL-кода нет (или не нашёл).

-----
IZ.RU




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

Создано: 20 июля 2013 02:12
· Личное сообщение · #5

в Dile есть фишка - можно все локальные переменные обьектов глянуть
и таки да - IP скачет как хочет в нем ...
имхо надо генерить .pdb что (почти) не всегда реально...
вон даже Олег (Олли автор) обломался, а одна из задумок его в 2ке была дебажка дот нета....



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

Создано: 22 июля 2013 03:22
· Личное сообщение · #6

ReSharper 8 KeyGen (пропатченный keygen CoRE для 7.x версии)
Приятного кодинга

От модератора: аттачить не нужно! кейген -- http://rghost.ru/47582718

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

Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 22 июля 2013 18:06
· Личное сообщение · #7

iMPROVE .NET it's a deobfuscator for packers that de4dot can't unpack. Current supported packers:

-DotBundle (only main exe and dlls unpacking)
-ExePack.NET
-.NetZ .NET Packer
-Macrobject Obfuscator .NET 2009
-.netshrink

--> Link <--

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

Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 30 июля 2013 18:11
· Личное сообщение · #8

sendersu пишет:
и таки да - IP скачет как хочет в нем ...
угостите ссылкой на многопоточное (приложение минимального веса т.е. не типа проекта visual studio 10 от била) dile поремонтировал а проверить это высказывание не могу.Если можно желательно прям с указателем на метод где данное явление имеет быть..




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

Создано: 30 июля 2013 22:34
· Личное сообщение · #9

iMPROVE .NET Deobfuscator

-DotNet Spin
-DotWall

Добавлено/обновлено 23 hours ago



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

Создано: 05 августа 2013 21:00 · Поправил: Модератор
· Личное сообщение · #10

От модератора: в запросы с этим. и заодно в бан на сутки за слова нехорошие



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

Создано: 13 августа 2013 12:42 · Поправил: Jonny
· Личное сообщение · #11

Здравствуйте.
Хотел бы узнать, есть в публичном доступе деобфускатор, который бы умел переименовывать одноименные поля и методы.
например ситуация

class T {
short A;
static short A(int A) {}

}


Upd # 1. Попытался использовать iMPROVE .NET , но он вносит ошибки в результирующую сборку и программа не запускается.
Upd #2.
Та же история с kurapica dotnet deobfuscator.
немного поисследовав, выяснил, что ошибка в след.:
в конструкторе класса используется след.
int[] expr_01 = new int[100];
RuntimeHelpers.InitializeArray(expr_01, fieldof(A.A).FieldHandle);
где A.A не переименовывается.



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

Создано: 13 августа 2013 13:26 · Поправил: sendersu
· Личное сообщение · #12

Jonny
SAE?

upd: деобфускатор и сборка что запускается после оного процесса ето две большие разницы
из всего дефуцирующего софта только дедот и то не всегда делает запускабельную



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

Создано: 13 августа 2013 13:42
· Личное сообщение · #13

Да, de4dot хорош. Там у него и библиотека запилена собственная, а не дефолтовый Mono.cecil, который падает на нестандартных сборках. Но у него пока что нет такой функции.

SAE. Попробовал с профилем name only, но имена в выходной сборке не переименовываются.
SAE версии 1.14.2



Ранг: 134.1 (ветеран), 246thx
Активность: 0.220.1
Статус: Участник
realist

Создано: 13 августа 2013 13:48
· Личное сообщение · #14

Jonny
чуть выше вылаживали --> SAE 1.15 <--



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

Создано: 13 августа 2013 13:59
· Личное сообщение · #15

Jaa
скачал SAE 1.5. как я понял, для деобфускации он использует De4dot. В этой сборке он версии 2.0.3, который не имеет этой функции.
--------
Пока что остановился на Improve Net с последующим ручным допиливанием.



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

Создано: 13 августа 2013 14:22
· Личное сообщение · #16

Jonny пишет:
как я понял, для деобфускации он использует De4dot

SAE писал китаец Wicky Hu задолго до того как создали дедот
внем есть много всего -
http://code.google.com/p/simple-assembly-explorer/wiki/Introduction
в том числе и гибкая деобфускация включая поиск по рег-експу названий (тех что надо или не надо деобфуцироать)
дедот к сае прикрутили недавно, и видимо только с целью идентификации протектора

Jonny пишет:
который не имеет этой функции.



какой именно?



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

Создано: 13 августа 2013 14:40 · Поправил: Jonny
· Личное сообщение · #17

В improve net deobf я не нашел способа переименовать имена в выражении fieldof и возможно еще в выражении methodof.

sendersu пишет:
onny пишет:
который не имеет этой функции.


какой именно?


Я не смог застваить его переименовать одноименные поля, методы и вложенные типы в одном и том же классе.И поэтому склонен думать, что данной функции в de4dot нет.

Upd: Как решение - это добавлять номер токена при переименовании. Но для этого нужно пинать разработчика de4dot или самому написать патч. Пока что нет достаточного импульса.



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 13 августа 2013 17:28
· Личное сообщение · #18

Попробуй последним плагином (режим "Mini obfuscator")



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

Создано: 13 августа 2013 18:35 · Поправил: Jonny
· Личное сообщение · #19

Medsft пишет:
Попробуй последним плагином (режим "Mini obfuscator")

Обфускатор не переименовывает вложенные типы и их члены.
также не переименовывает имена в fieldof выражении.

Code:
  1.          IL_0000: ldc.i4 100
  2.          IL_0005: newarr [mscorlib]System.Int32
  3.          IL_000a: dup
  4.          IL_000b: ldtoken field valuetype TypeDef_FTYA2RDZWW/[program.exe]T::A
  5.          IL_0010: call void [mscorlib]System.Runtime.CompilerServices.RuntimeHelpers::InitializeArray(class [mscorlib]System.Array, valuetype [mscorlib]System.RuntimeFieldHandle)


Code:
  1.          int[] expr_01 = new int[100];
  2.          RuntimeHelpers.InitializeArray(expr_01, fieldof(T.A).FieldHandle);
  3.          TypeDef_SG3VDLMY1X.FielDef_USKIGIGYAM = expr_01;


Увы, не совсем подходит для моих целей.



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

Создано: 13 августа 2013 20:32
· Личное сообщение · #20

Jonny
какой у вас тип протектора?
попробуйте задать через ключ дедота по маске

Deobfuscator options:
Type un (Unknown)
--un-name REGEX Valid name regex pattern (^[a-zA-Z_<{$][a-zA-Z_0-9<>{}$.`-]*$)

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

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

Создано: 13 августа 2013 21:34
· Личное сообщение · #21

sendersu пишет:
какой у вас тип протектора?

de4dot определяет как unknown protector.
Проблема только в перегруженном переименовании, например, такое переименование может делать данная защита:
--> Link <--



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

Создано: 14 августа 2013 11:05 · Поправил: Jonny
· Личное сообщение · #22

sendersu пишет:
попробуйте задать через ключ дедота по маске

Помогло.
Всего то нужно было, чтобы проверка имени по маске постоянно возвращала отрицательный результат.
de4dot.exe --un-name "(^[0]*$)" -v -f program.exe -o program_cleaned.exe >log



Ранг: 189.9 (ветеран), 334thx
Активность: 0.30
Статус: Участник

Создано: 14 августа 2013 15:31
· Личное сообщение · #23

iMPROVE .NET 0.1.4

Code:
  1. -Symbol renaming improved: now it only renames invalid and obfuscated names.
  2.  -New clean detection: before detection was bad. Now used some detections from native obfuscators.
  3.  -Added Phoenix Protector (thanks to Mr. eXoDia for saying me about this obfuscator).
  4.  -Clean code (deleted un-useful code and now it's a fast clean).


--> Link <--



Ранг: 330.4 (мудрец), 334thx
Активность: 0.160.17
Статус: Участник
ILSpector Team

Создано: 16 августа 2013 13:28 · Поправил: Medsft
· Личное сообщение · #24

Безусловно лучший писака по Net - Ajay Yadav
ссыль на одну из статей hxxp://resources.infosecinstitute.com/multithreading/ а справо menu "Other Articles by Ajay Yadav" его остальные работы

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

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

Создано: 18 августа 2013 06:48
· Личное сообщение · #25

smartassembly deobfuscator
Есть нормальный
de4dot-2.0.3 криво снимает

Powered by SmartAssembly 6.8.0.121
Вот такая версия



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

Создано: 18 августа 2013 10:23
· Личное сообщение · #26

Mishar_Hacker пишет:
Есть нормальный

Ну раз есть чего хвалиться, выкладывайте!

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

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

Создано: 18 августа 2013 13:36
· Личное сообщение · #27

sendersu
У меня нету чем снять SmartAssembly я у вас спрашиваю есть ли что нибудь?



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

Создано: 18 августа 2013 15:37 · Поправил: sendersu
· Личное сообщение · #28

дамбассембли в топике что говорит, если чего есть исходники

upd
по поводу
Mishar_Hacker пишет:
Powered by SmartAssembly 6.8.0.121


ради интереса запротектил оной- дедот и ухом не моргнул - взял все и дажерабочее плюнул



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

Создано: 25 августа 2013 21:53
· Личное сообщение · #29

кто может слить эту программку?
http://forum.exetools.com/showthread.php?t=15178




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

Создано: 25 августа 2013 22:00
· Личное сообщение · #30

На тутсях же есть

--> Link <--



Ранг: 134.1 (ветеран), 246thx
Активность: 0.220.1
Статус: Участник
realist

Создано: 27 августа 2013 20:38
· Личное сообщение · #31

New:
- Added kill strong name check
- Added Use DinamicILInfo checkbox:
please keep it unckecked as it is by default - this will do the job for most of programs
- if the default options fails ( return 0 decrypted) mark DinamicILInfo


1c6f_27.08.2013_EXELAB.rU.tgz - ConfuserDelegateKiller.zip


<< 1 ... 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 ... 49 . 50 . >>
 eXeL@B —› Основной форум —› Взлом dotNET программ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати