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

 eXeL@B —› Основной форум —› Взлом .NET (part 2)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 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

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

Создано: 19 января 2018 09:04
· Личное сообщение · #2

freudz пишет:
Залил сюда:
спасибо конечно за труд. А у тебя работает ? У меня нет. Проверить легко. Запускаешь таргет с твоей dll и делаешь megadumperom слепок, если папка dumps пустая значит чтото не так.




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

Создано: 19 января 2018 12:24 · Поправил: 4kusNick
· Личное сообщение · #3

Пара инструментов в помощь IL2CPP реверсеру:

Il2CppInspector - Extract types, methods, properties and fields from Unity IL2CPP binaries.
Il2CppDumper - Get types, methods, fields and so on from Unity Il2Cpp binary file.

Il2CppDumper умеет из метадаты и бинаря генерить dll со структурой неймспейсов, классов и проч что иногда полезно и удобно, особенно если код не был обфусцирован:
https://www.youtube.com/watch?v=0MglfTWFAGs

Начиная с 2018.1, Unity теперь умеет в IL2CPP компилить и обычные виндовые билды, так что тема становится все актуальней.

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




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

Создано: 19 января 2018 14:37
· Личное сообщение · #4

4kusNick пишет:
Пара инструментов в помощь IL2CPP реверсеру:
даа постарел народ)))) уже ручки трясутся, уже домой после работы тянет а не по бабам, уже лень по форуму тему про unity искать)))) тем более что когда-то сам ее начал))))




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

Создано: 20 января 2018 01:01 · Поправил: 4kusNick
· Личное сообщение · #5

Medsft
Тут все перемешалось и в этой теме Unity проекты обсуждаются куда активней чем в той ибо не все кто ковыряет игры и видит IL сборки пытается разобраться что там за движок это и не ищет профильную ветку а постит сюда свои вопросы.
Да, IL2CPP специфику мне стоило туда закинуть, я продублирую раз это вообще кому-то еще тут важно.
Сюда я уже по инерции кинул, т.к. эта ветка живая в отличие от той и сам эту мониторю в последнее время.
И да, после работы я никогда не ходил по бабам =)

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




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

Создано: 23 января 2018 07:51
· Личное сообщение · #6

Второй день туплю, пните кто нибудь в нужном направлении.
Беру образ процесса, леплю к нему заголовок EXEмодуля, подправляю размер .text, RVA до дотнетовских метаданных - вроде все нормально, CFF explorer считает файл корректным, все таблицы, обьекты, методы видит, IDA и прочие декомпиляторы, вроде тоже видят, да не совсем. Файл все равно не является корректным EXE приложением, IDA спотыкается на половине методов (bad method flags, bad method length), в итоге, половины кода какбэ нет вообще. Куда надо рыть, чтобы (в идеале) получить запускаемый модуль или (хотя бы, как минимум) весь декомпилирующийся код из него?



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

Создано: 23 января 2018 09:30 · Поправил: Medsft
· Личное сообщение · #7

_MBK_ пишет:
Беру образ процесса, леплю к нему заголовок EXEмодуля, подправляю размер .text, RVA до дотнетовских метаданных
- Простых путей не ищем? Megadumperom с последующим universal fixerom уже не штырит?

_MBK_ пишет:
bad method flags, bad method length
- а это ты заголовки взял от старого exe и прикрутил к новому



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

Создано: 23 января 2018 09:51
· Личное сообщение · #8

Medsft пишет:
Megadumperom

Последняя фима им не дампится
Medsft пишет:
последующим universal fixerom

Пробовал и так - фиксер от полученного файла так офигевает,что с воплями делает себе сеппуку.
При определенной установке опций просто фиксит так, что рабочего кода не остается вообще, а мне надо как раз максимально его вытащить.
Medsft пишет:
а это ты заголовки взял от старого exe и прикрутил к новому

Заголовки методов же все в метадате



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

Создано: 23 января 2018 11:10 · Поправил: Medsft
· Личное сообщение · #9

_MBK_ пишет:
Последняя фима им не дампится
снимите ее кто нибудь нормально а? Пожалуйста) (одна гребаная dll), а так как ты делаешь херня получается.

Medsft пишет:
Заголовки методов же все в метадате
а метадата от старого же exe

Добавлено спустя 4 минуты
AgileDotNetRT.dll 6.4.0.29 - h__p://rgho.st/7sZc5MNy2

Добавлено спустя 5 минут
AgileDotNetRT.dll 6.5.0.2. - залейте кто нибудь оригинальную поправлю сообщение

Добавлено спустя 5 минут
Они под фемидой



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

Создано: 23 января 2018 11:28
· Личное сообщение · #10

Medsft пишет:
снимите ее кто нибудь нормально а? Пожалуйста) (одна гребаная dll), а так как ты делаешь херня получается.

Поподробнее, можно? Не пойму, чем поможет эта DLL и что я делаю неправильно?
Medsft пишет:
а метадата от старого же exe

Почему от старого? Метадата внутри образа вполне похожа на живую сигнатура BSJB все таблицы на месте, CFF explorer видит все методы, объекты и классы, а вот декомпиляторам почему то половина методов не нравится. Код в дампе тоже весь вроде есть, ЧЯДНТ? Подозреваю, я туплю где то на ровном месте и надо поправить еще какие-то RVA чтобы стало здорово, но что?



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

Создано: 23 января 2018 18:01
· Личное сообщение · #11

мне что от самого начала объяснять? почитай про jit.... я могу перехватить его и написать в methodinfo все по нулям, и только я один буду знать правильные значения и когда ко мне прилетит он в мой CompileMethod там я значения воостановлю
снимай фемиду и только после этого получишь правильный дамп



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

Создано: 23 января 2018 18:31
· Личное сообщение · #12

Medsft пишет:
мне что от самого начала объяснять? почитай про jit.... я могу перехватить его и написать в methodinfo все по нулям

C начала не надо, я может и чайник, но (надеюсь) толковый
Так что, новая фима умеет такое проделывать с дотнетом? Пока что я добился того, что IDA перестала ругаться на половину методов, но некоторых (похоже как, самых нужных) я все равно не вижу, смещения в таблице левые, поэтому вполне вероятно что и так.
Medsft пишет:
снимай фемиду

Неясно, которая задача проще - снять темиду или дамп восстановить. А все таки по поводу приложенной DLLки - как именно она может помочь процессу?



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

Создано: 24 января 2018 02:43 · Поправил: Dart Raiden
· Личное сообщение · #13

del



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

Создано: 24 января 2018 10:01
· Личное сообщение · #14

_MBK_ пишет:
как именно она может помочь процессу?
ничем она твою сборку не защищает, она защищает agiledotnetRT и + антидамп ... и все но именно изза этого не работает dedot.



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 24 января 2018 13:21
· Личное сообщение · #15

Medsft а с чего ты решил что _MBK_ Agile DotNet смотрит? Не вижу про её упоминание.



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

Создано: 25 января 2018 07:59 · Поправил: _MBK_
· Личное сообщение · #16

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

Всвязи с этим возник такой вопрос - хочу подменить в DLL IL метод на свой нативный, заменяю флажок 0 на 85 - виртуальная машина рушится, а управление не передает. Как правильно делать и возможен ли такой путь в принципе?



Ранг: 10.0 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 26 января 2018 10:14
· Личное сообщение · #17

_MBK_
Так дайте ссылку на файл,не форум гадалок же.



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

Создано: 26 января 2018 10:35
· Личное сообщение · #18

igorcauret пишет:
Так дайте ссылку на файл,не форум гадалок же.

На самом деле,вопрос чисто теоретический без привязки к какому то конкретному файлу.
Есть готовая скомпилированная дотнетовская DLL, в ней некий метод A, имеющий тело по некоемому адресу RVA и ImplFlags=0
Можно ли переопределить его на нативный (ImplFlags=1) и записать в тело исполняемый код?



Ранг: 19.9 (новичок), 31thx
Активность: 0.030.01
Статус: Участник

Создано: 30 января 2018 12:56
· Личное сообщение · #19

Никто не изучал вопрос патчинга надстроек под MS Excell? Уже несколько разных надстроек пробовал запатчить. dll надстройки даже не обфусцирована правда весь проект зашищен стронг неймом
После любых изменений этих dll Excel отказывается с ними работать. Пробовал удалять стронг нейм пробовал переподписать своим ключом... Что именно она проверяет и как обойти эту проверку?
вот пример сабжа http://www.synkronizer.com/scripts/download11.php
ковырять пробовал Synkronizer.dll




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

Создано: 24 февраля 2018 18:41
· Личное сообщение · #20

Reflector обновился v10.0.4.406.

-----
Don_t hate the cracker - hate the code.


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

Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 24 февраля 2018 19:10 · Поправил: TryAga1n
· Личное сообщение · #21

mysterio, обменник с регой это прелестно!)
https://www.sendspace.com/file/1as849

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


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

Создано: 24 февраля 2018 23:55
· Личное сообщение · #22

mysterio
Угораешь..




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

Создано: 26 февраля 2018 20:00
· Личное сообщение · #23

Месяц назад обновился Reflexil v2.2 для ILSpy, JustDecompile и Reflector.
Code:
  1. news:
  2. Preliminary support for JustDecompile.
  3.  
  4. upgrades:
  5. de4Dot/dnlib update. Support for deobfuscating 'Confuser'.
  6. Mono.Cecil 0.10 update.
  7. Don't close Edit/Create instruction dialog on opc/operand inconsistency.
  8. Add editors for all primitive types for constant/custom attributes.
  9. Support for ILSpy 3.x
  10. Automatically compute imports for code injection, from current type members and method calls.
  11.  
  12. bugfixes:
  13. Fix method matching with Reflector.
  14. Fix renaming fields losing constant values.


-----
Don_t hate the cracker - hate the code.




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

Создано: 03 марта 2018 00:05
· Личное сообщение · #24

В net проге куча методов выдаются в таком виде public static byte[] \u0001(byte \u0002, byte[] \u0003), подскажите чем обработать это, чтобы преобразовать в нормальные названия ?
И какой это обфускатор делает так в net ?




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

Создано: 03 марта 2018 00:53
· Личное сообщение · #25

Для снятия обфускатора(обработки) юзай de4dot(выше ссылки давали)..
Похоже на NET Reactor, ConfuserEx



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

Создано: 03 марта 2018 01:03
· Личное сообщение · #26

sefkrd, de4dot как раз использовал, он определил SmartAssembly 6.9.0.114 обфускатор, он только убрал мусорный код типа if(1=2) и сделал код более читаемым, просто хотелось бы еще чем-то все эти \u переименовать в нормальные строки. Оригинал тут ведь утерян ?




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

Создано: 03 марта 2018 01:07
· Личное сообщение · #27

Скинь сабж не обработанный..



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

Создано: 03 марта 2018 01:54
· Личное сообщение · #28

sefkrd, не могу выложить, подскажи лучше проги, туторы под это.



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

Создано: 03 марта 2018 14:08
· Личное сообщение · #29

mazaxaker, забей на это, кстати по дефолту de4dot переименовывает классы и методы, что наоборот может привести к неработоспособности проги, поэтому лучше использовать с параметром --dont-rename, а не читаемость методов анализу несильно мешает



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

Создано: 03 марта 2018 16:36
· Личное сообщение · #30

SwordBack, я хотел переименовать чисто чтобы в винде имена папок и файлов отображались нормально, а то все выглядят как пробелы в именах папок.



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

Создано: 04 марта 2018 19:19
· Личное сообщение · #31

А какой прогой можно сделать трассировку с логом последовательности вызова методов и их параметры с возвращаемыми значениями чтобы в логе были ?


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 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 » Выход » ЛС
   Для печати Для печати