eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+4 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› Опять .net (part 2)
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
Посл.ответ Сообщение


Ранг: 1964.0 (!!!!)
Статус: Модератор
retired

Создано: 12 сентября 2017 12:06 New!
Цитата · Личное сообщение · #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/index.php?action=vthread&forum=1&topic=16650&page=-1

-

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

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


Ранг: 288.4 (наставник)
Статус: Участник

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

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


Ранг: 747.9 (! !)
Статус: Участник
bytecode!

Создано: 19 января 2018 12:24 · Поправил: 4kusNick New!
Цитата · Личное сообщение · #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 компилить и обычные виндовые билды, так что тема становится все актуальней.

Ранг: 288.4 (наставник)
Статус: Участник

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

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


Ранг: 747.9 (! !)
Статус: Участник
bytecode!

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

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

Ранг: 16.0 (новичок)
Статус: Участник

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

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

Ранг: 288.4 (наставник)
Статус: Участник

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

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

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

Ранг: 16.0 (новичок)
Статус: Участник

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

Medsft пишет:
Megadumperom

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

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

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

Ранг: 288.4 (наставник)
Статус: Участник

Создано: 23 января 2018 11:10 · Поправил: Medsft New!
Цитата · Личное сообщение · #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 минут
Они под фемидой

Ранг: 16.0 (новичок)
Статус: Участник

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

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

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

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

Ранг: 288.4 (наставник)
Статус: Участник

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

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

Ранг: 16.0 (новичок)
Статус: Участник

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

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

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

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

Ранг: 69.2 (постоянный)
Статус: Участник

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

del

Ранг: 288.4 (наставник)
Статус: Участник

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

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

Ранг: 271.6 (наставник)
Статус: Модератор
CrackLab

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

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

Ранг: 16.0 (новичок)
Статус: Участник

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

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

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

Ранг: 6.8 (гость)
Статус: Участник

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

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

Ранг: 16.0 (новичок)
Статус: Участник

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

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

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

Ранг: 16.9 (новичок)
Статус: Участник

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

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


Ранг: 307.7 (мудрец)
Статус: Участник

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

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

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


Ранг: 226.5 (наставник)
Статус: Участник

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

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

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


Ранг: 73.2 (постоянный)
Статус: Участник

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

mysterio
Угораешь..


Ранг: 307.7 (мудрец)
Статус: Участник

Создано: 26 февраля 2018 20:00 New!
Цитата · Личное сообщение · #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.

Ранг: 70.0 (постоянный)
Статус: Участник

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

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

Ранг: 73.2 (постоянный)
Статус: Участник

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

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

Ранг: 70.0 (постоянный)
Статус: Участник

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

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

Ранг: 73.2 (постоянный)
Статус: Участник

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

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

Ранг: 70.0 (постоянный)
Статус: Участник

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

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

Ранг: 1.5 (гость)
Статус: Участник

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

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

Ранг: 70.0 (постоянный)
Статус: Участник

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

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

Ранг: 70.0 (постоянный)
Статус: Участник

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

А какой прогой можно сделать трассировку с логом последовательности вызова методов и их параметры с возвращаемыми значениями чтобы в логе были ?
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
 eXeL@B —› Основной форум —› Опять .net (part 2)

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS