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

 eXeL@B —› Основной форум —› Взлом .NET (part 2)
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . >>
Посл.ответ Сообщение


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 12 сентября 2017 12:06
· Личное сообщение · #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.

Документация:
--> Microsoft <--
--> Metadata and File Format <--
--> CIL(опкоды с полным пояснениями) <--

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

Другое:
.NET Reflector v7.0.0.198 (C# Source by wangshy)
String decryption with de4dot

Прошлый топик https://exelab.ru/f/action=vthread&forum=1&topic=16650&page=-1

-

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

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


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

Создано: 15 сентября 2019 01:43 · Поправил: difexacaw
· Личное сообщение · #2

Medsft

> Если пропатчить Image, то проверка не проходит г уверен?

Вам в каком виде показать, картинками или быть может видосик запилить ?

Не собирай больше такие семплы, двойка тебе за плохую защиту. У меня даже звёзды покраснели от этой фигни

-----
vx





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 15 сентября 2019 12:35
· Личное сообщение · #3

Download the entire source code of .NET Framework as a .zip file. The archive includes a solution and project files that can be opened in Visual Studio. This solution will not build because it is missing crucial components such as resources, XAML files, etc. but it will be sufficient to browse the source code inside Visual Studio.

--> Link <--

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 14.5 (новичок)
Активность: 00.01
Статус: Участник

Создано: 23 сентября 2019 08:10
· Личное сообщение · #4

Добрый день.
Подскажите, пожалуйста, чем обфусцирована dll? de4dot и dnid не распознают...
Каким инструментом можно деобфусцировать?
Если вручную - подскажите статью/тутор, с которого начать.
Спасибо.

1ca1_23.09.2019_EXELAB.rU.tgz - dll.7z



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

Создано: 23 сентября 2019 14:37
· Личное сообщение · #5

topmo3
babel obfuscator

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


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

Создано: 23 сентября 2019 20:45 · Поправил: Adler
· Личное сообщение · #6

Помогите, пожалуйста, разобраться с .Net Reactor:

В общем это тестовый экземпляр (форма с двумя кнопками и MessageBox). Достоверно известно, что это .Net Reactor и/или Intellilock (если я правильно понял, то они пересекаются), настройки обфускации не известны. Исходник на C#.
Из нативной обвертки в помощью MegaDumper (пробовал и другими способами, дамп одинаковый получается) извлек .exe, который после окошка "This assembly is protected by an unregistered version of Eziriz's ".NET Reactor"!" валился в исключение.
По этой инструкции добавил ресурс "__" из исходного файла - стал запускаться корректно и работать.
По этому же мануалу все стопорится на пункте (Step 4. Dump methods with ManagedJitter) с сообщением "Selected file is not a managed assembly", хотя 1, 2.

Не понятно как и где распаковываются методы, т.к. и после Module.cctro() методы в dnSpy остаются пустыми


и т.д.

При этом если проходить отладчиком (dnSpy) по шагам вглубь Application.Run(), то они проходят в нигде (нет маркера текущей команды), при этом явно, что что-то происходит при этом. Пробовал бряки ставить на системные функции (MessageBox.Show() и т.д.) они срабатывают, но по выходу их них я попадаю в никуда (нет позиции которая будет выполнена следующей).
Пробовал делать дампы в разные моменты, но все равно там ничего не появляется. Явно, что в Module.cctro() происходят какие-то манипуляции со вложенными ресурсами (их там 3 .Net + 1 нативный "__"), но там черт ногу сломит с этими case. Ни de4dot ни SAE не удалось его привести в читаемый вид.
Гуглил много чего и пробовал тоже не мало, но все без толку.
Нашел еще такой мануал - --> Link <--. По нему вроде похоже на мой случай (методы пустые).
По нему все доходит до сохранения дампа (пришлось использовать fix.exe с tuts4you, что бы в windbg в ошибку не вылетал). Дамп сохраняется в файл, но признаков жизни не подает (пишет, что неверное приложение) и UniversalFixer его не лечит (что-то делает, но безрезультатно). Если открыть в dnSpy, то методы так же остаются пустыми.
de4dot перепробовал штук 10 разных модов, одни в ошибки падают, другие нет, но в итоге толку все равно нет. Даже case в Module.cctro() не фиксят, хотя часть кода и приводят в более понятный вид.
В целом из нагугленного понимаю, что скорее всего надо копать в сторону чего-то вроде JitUnpacker, но в то же время он не дал никакого результата (куча ошибок и в конечном файле так же пустые методы).

Как можно добраться до исходного кода (описание формы, кнопок и т.д.)?
Понял, что это не мой уровень, но хочется все таки понять как это работает, да и бросать после двух вечеров гугления, проб и ошибок как то не хочется. Явно, что где-то что-то упускаю из виду или наступаю на одни и те же грабли.


7824_23.09.2019_EXELAB.rU.tgz - NET_Reactor_Test.7z



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

Создано: 24 сентября 2019 10:05
· Личное сообщение · #7

Adler пишет:
Помогите, пожалуйста, разобраться с .Net Reactor
конкретнее цель данного поста(научится снимать протектор либо снять протектор с цели)?

Добавлено спустя 3 минуты
Если цель снять протектор то de4dot-Support.Reactor5.0-wuhensoft интеллилок не снимется.
Если цель научится то тебе на тутси, там есть мануалы с применением техник использоввания нативвного отладчика так и без




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

Создано: 24 сентября 2019 10:09 · Поправил: Adler
· Личное сообщение · #8

Medsft пишет:
научится снимать протектор

Хочу понять, как его снять самостоятельно.



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

Создано: 24 сентября 2019 10:10
· Личное сообщение · #9

Если задача состоит в том чтобы посмотреть иходный код программы без возможности дадльнейшего запуска то гугли UniversalJitUnpacker

Добавлено спустя 0 минут
а раз ответил то читай тутси и смотри как работает UniversalJitUnpacker




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

Создано: 24 сентября 2019 10:27 · Поправил: Adler
· Личное сообщение · #10

Medsft пишет:
UniversalJitUnpacker

Пробовал через Tool.Loader.CLR40.x86.exe JitUnpacker.dll выдает кучу ошибок и изрядно распухший в итоге .exe, в котором методы так и остались пустыми. Выхлоп (лог) во вложении.
18c6_24.09.2019_EXELAB.rU.tgz - JitUnpacker.txt

С помощью WinDbg пробовал по мануалу, но в конечном дампе так же методы остаются пустыми.

Еще с помощью SendToJitAndSave пробовал, ни через MegaDumper ни через SimpleManagedInjector после нажатия на "Inject" ничего не происходит. ManagedJiter со старту шлет лесом...

Вот и вопрос, что я конкретно делаю не так или что я упускаю. Или может на предварительном этапе я не так что-то сделал. Не понятно почему ManagedJiter шлет с "Selected file is not a managed assembly".

P.S. На tuts4you что-то ничего кроме одной мало информативной темы по JitUnpacker и одной со ссылкой на мануал по распаковке IntelliLock с помощью WinDbg, о которой я писал ранее не нашел.



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

Создано: 24 сентября 2019 12:46
· Личное сообщение · #11

Не похож на нет реактор.Потом посмотрю. найди место где он делает чтото с publictoken надо отключить проверку на целостность




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

Создано: 24 сентября 2019 13:25 · Поправил: Adler
· Личное сообщение · #12

Medsft пишет:
найди место где он делает чтото с publictoken

Это где-то в дебрях Module.cctro() должно быть?

P.S. Из мануала по JitUnpacker не совсем понял смысл этой фразы:
"For example, you can enter "Tool.Loader.CLR40.x86.exe JitUnpacker.dll -f ILDumper.vmp.ultra.exe --preserve-all" to dump method body for vmp. (sorry, it is not jit protection but "Pack the Output File". vmp will make RawAddress of .text section zero then restore data at run time. so we can't use some dumper to dump the assembly. we can easily modify the section headers first then dump.)".
Дамп как то иначе сделать надо или что тут имеется в виду? Что за "vmp"?

Добавлено спустя 7 часов 49 минут
Medsft пишет:
делает чтото с publictoken

GetName().GetPublicKeyToken() это оно? Где оно читается нашел, а дальше там какой-то трындец. Оно размазывается по нескольким массивам, потом 100500 каких то математический операций, а дальше я потерялся...




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

Создано: 26 сентября 2019 12:35 · Поправил: Adler
· Личное сообщение · #13

Через SimpleManagedInjector + SendToJitAndSave под XP (Ни под Win 7 (ни под x32, ни x64) ни под Win 10 x64 это не работает) удалось вытянуть пустые методы, но там сплошная case-каша, которую не удается причесать de4dot`ом (штук 5 разных сборок пробовал)...



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

Создано: 26 сентября 2019 13:49
· Личное сообщение · #14

Adler


000a_26.09.2019_EXELAB.rU.tgz - NET_Reactor_Test-cleanedPC-RET.rar

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


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

Создано: 26 сентября 2019 13:59 · Поправил: Adler
· Личное сообщение · #15

Mishar_Hacker, хм, как и какими средствами это получилось привести в нормальный вид?
Меня интересует не конечный результат, а то как его получить самостоятельно.



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

Создано: 28 сентября 2019 12:17
· Личное сообщение · #16

а не у кого нет версии de4dot, которая чистит switch-case после Dotfuscator`а ?




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

Создано: 28 сентября 2019 12:32
· Личное сообщение · #17

zds, а какой обфускатор?



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

Создано: 28 сентября 2019 13:35
· Личное сообщение · #18

Adler Dotfuscator




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

Создано: 28 сентября 2019 13:49 · Поправил: Adler
· Личное сообщение · #19

zds, а, туплю...
Не сталкивался с ним. Это тот, что вместе с VS идет? Надо будет глянуть...



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

Создано: 30 сентября 2019 08:25
· Личное сообщение · #20

Adler пишет:
Через SimpleManagedInjector + SendToJitAndSave под XP (Ни под Win 7 (ни под x32, ни x64) ни под Win 10 x64 это не работает) удалось вытянуть пустые методы, но там сплошная case-каша, которую не удается причесать de4dot`ом (штук 5 разных сборок пробовал)...
то что ты чесать пытался это непосредственно код реактора и тут свой вариант flow(не тот что применяется для flow таргета) я причесать могу сохранить пока нет(




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

Создано: 30 сентября 2019 08:43
· Личное сообщение · #21

Medsft, Mishar_Hacker заинтриговал и молчит



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

Создано: 30 сентября 2019 08:54 · Поправил: Medsft
· Личное сообщение · #22

Adler пишет:
Mishar_Hacker заинтриговал и молчит
он просто хочет в тебе настоящего программиста воспитать чтобы не пользовался готовыми решениями, а вот я против) чем больше будет людей не умеющих думать а умеющих использовать готовые инструменты, тем выше будет мой ценник на решение не стандартных задач.
Скинул в личку его инструмент))))

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


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

Создано: 30 сентября 2019 16:31 · Поправил: Adler
· Личное сообщение · #23

Я не собираюсь даже при все желании пытаться кому-то составлять конкуренцию, да и вряд ли это получится и глубоко в дебри лезть тоже не хочу, не моё это. Если это можно привести в читаемый вид готовыми решениями, то как? Тем же de4dot можно вот это привести в читаемый вид? Если да, то каким (de4dot 4.9 (PC-RET) с коробки этого не делает) и с какими ключами его запускать? Каких то опций касательно разбора cflow я у него не нашел.
Вот это 4fcf_30.09.2019_EXELAB.rU.tgz - Тест_fixed_jitted.exe еще как то надо перед обработкой de4dot обрабатывать или какие-нибудь с ним манипуляции проводить?

Или я изначально (выше все манипуляции описаны) что-то не так делал?



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

Создано: 30 сентября 2019 22:36
· Личное сообщение · #24

Просто скорми свой test. Exe ему без каких либо предварительных манипуляций




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

Создано: 30 сентября 2019 23:34 · Поправил: Adler
· Личное сообщение · #25

Medsft, ну собственно это первое, что я вообще сделал в самом начале.
Если de4dot 4.9 (PC-RET) подсунуть исходный NET_Reactor_Test.exe, то он распакует нативную часть, разберет частично switch-case, уберет мусор и т.д., но те методы, которые в общем–то и нужны (что я восстанавливал через SimpleManagedInjector + SendToJitAndSave из распакованного), остаются пустыми.
Т.е. получается, что если подсунуть NET_Reactor_Test.exe de4dot`ом, то не распаковываются JIT методы, а если подсунуть уже в распакованном виде, то он ничего не делает.
Вот и вопрос как скрестить верблюда (de4dot) с носорогом (распаковкой JIT)?



Ранг: 1.8 (гость)
Активность: 00.01
Статус: Участник

Создано: 27 октября 2019 19:08
· Личное сообщение · #26

Ребят, подтолкните в нужном направлении: есть некий софт написанный на .NET, имеется отдельный модуль (DLL) накрытый ConfuserEx v1.0.0 в котором зарыт механизм защиты (возвращается результат проверки RSACryptoServiceProvider.VerifyData()). До состояния, в котором можно разобрать код, модуль без проблем доводится анпакерами, но как пропатчить в итоге оригинальную DLL не представляю.
Полученный на выходе модуль при попытке подмены в рабочем каталоге само-собой вываливается с ошибкой (на всякий случай решил проверить :s3. Какой-либо информации по "обезвреживанию" обфусцированных DLL на просторах интернета найти не удалось, чтобы подсмотреть.




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

Создано: 27 октября 2019 19:55
· Личное сообщение · #27

ivano, а пощупать это можно?

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


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

Создано: 15 ноября 2019 13:01
· Личное сообщение · #28

Подскажите, есть ли какие либо способы просмотреть код динамических методов в dnSpy (или где либо еще)?
Созданные защитой методы научился сохранять в динамические сборки, но они сохраняются без других используемых методом объектов, строк и т.п., толку от этого мало.
з.ы. Исследуемая программа - RDPGuard



Ранг: 4.6 (гость), 9thx
Активность: 0.010.02
Статус: Участник

Создано: 15 ноября 2019 20:04
· Личное сообщение · #29

RAMZEZzz, так она вроде уже пролечена. В гугле попадалась версия RdpGuard 4.2.5 + Crack правда без кейгена. Ее то и можно взять как подопытную для анализа и посмотреть, что там и к чему. Скомпилирована вроде в Microsoft Visual C# / Basic .NET с привязкой к Hardware ID




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

Создано: 19 ноября 2019 11:29
· Личное сообщение · #30

stronglogic
Дык я и лечил. В крайней версии (6.3.7) накрутили динамических методов и в каких то из них спрятались доп. проверки. с предыдущей версией сравнивал, но тоже не дало результата - надо декодить динамику.
Ну и вопрос как раз в этом.




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

Создано: 20 ноября 2019 12:26 · Поправил: RAMZEZzz
· Личное сообщение · #31

Там Babel, версию не знаю, но видимо свежая.
Нашел вот такую штуку: DeBabelVM, пришлось поколдовать еще с ней, но в итоге получилось автоматом восстановить все динамические методы!
Вот моя поправленная версия: --> Link <--
Возможно сработает и на других "забабеленных"

af33_20.11.2019_EXELAB.rU.tgz - DeBabel-1.1.zip

| Сообщение посчитали полезным: SReg, topmo3
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . >>
 eXeL@B —› Основной форум —› Взлом .NET (part 2)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати