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

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


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

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

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

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


Ранг: 1992.4 (!!!!)
Статус: Модератор
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


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

Создано: 5 апреля 2019 22:54 · Поправил: vitalik9 New!
Цитата · Личное сообщение · #2

попробовал
AppFuscatorUnpacker
AppFuscatorStringsDecryptor
нечего не изменилось
http://prntscr.com/n832wt

Добавлено спустя 32 минуты
Protection id вроде пишет
[!] [.net scan core] dotNetReactor detected!
но de4dot не снимает защиту
и ошибок не выдает

Добавлено спустя 16 часов 43 минуты
помогите снять защиту пожалуйста
https://yadi.sk/d/befytBl6XxEkmw
или напишите какая защита стоит

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

Создано: 6 апреля 2019 16:16 New!
Цитата · Личное сообщение · #3

Есть файл, обработан Skater.NET. Пробовал деобфускатором снять защиту, но не получилось, знаний мало. Может кто подскажет план действия и укажет какими прогами пользоваться. Заранее благодарен.

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

Создано: 6 апреля 2019 22:08 New!
Цитата · Личное сообщение · #4

vitalik9
https://exelab.ru/f/index.php?action=vthread&forum=2&topic=24716
avr5219
DnSpy

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



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

Создано: 6 апреля 2019 22:52 New!
Цитата · Личное сообщение · #5

Mishar_Hacker
Не туда ты их отправил (у Виталика вообще бот для автоматизации бизнеса)... Тут в --> поиск специалистов<--

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


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

Создано: 14 июня 2019 14:49 · Поправил: Sirota77 New!
Цитата · Личное сообщение · #6

Приветствую всех обитателей форума.
Хочу попросить помощи в борьбе с обфускатором Agile.net. Честно говоря не представляю с какой стороны к этой задаче подойти.
Я раньше вытаскивал данные из .net приложения модифицируя код и подключая его библиотеку к своей программе, но теперь применён обфускатор и я обломался
Прошу подсказать в каком направлении действовать.
вот сам файл h_ps://dropmefiles.com/cG9bQ
Спасибо.
зы: de4dot падает с исключением "Only 32-bit dynamic methods decryption is supported"

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

Создано: 14 июня 2019 17:06 New!
Цитата · Личное сообщение · #7

смотри сырки дедота по поиску "Only 32-bit dynamic methods decryption is supported"

Ранг: 42.7 (посетитель)
Статус: Участник

Создано: 15 июня 2019 00:55 New!
Цитата · Личное сообщение · #8

Есть файл распакованный из ConfuserEx (вручную сдампил модуль после Module.cctor()) и обработал de4dot.
Весь код читается, запускается, но на Application.Run(new Form1()) валится в исключение (_message "Не удалось загрузить файл или сборку "System.Graphics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл." string). Не пойму что это за System.Graphics такой?
Может это быть какая то фейковая ссылка?
Еще есть ссылка на System.Forms.
Программа по идее какие то сторонние библиотеки не должна использовать.

https://i.imgur.com/04E0PYw.png

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

Создано: 15 июня 2019 14:20 New!
Цитата · Личное сообщение · #9

Adler
В DnSpy загрузи и проверь где именно отваливается

Ранг: 42.7 (посетитель)
Статус: Участник

Создано: 15 июня 2019 15:46 · Поправил: Adler New!
Цитата · Личное сообщение · #10

<не актуально>

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

Создано: 28 июня 2019 08:38 New!
Цитата · Личное сообщение · #11

есть у кого Kurapica dotNET Tracer 1.1 ?


Ранг: 524.9 (!)
Статус: Участник
_Вечный_Студент_

Создано: 28 июня 2019 08:59 · Поправил: plutos New!
Цитата · Личное сообщение · #12

Nihil enim пишет:
есть у кого Kurapica dotNET Tracer 1.1 ?


--> оно <--?

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

Создано: 13 июля 2019 12:22 New!
Цитата · Личное сообщение · #13

Не знаю, вопрос в тему про IDA или сюда - можно как то заставить IDA показывать в префиксе не смещение относительно сегмента, а реальное смещение в файле? А то при наведении на строку внизу оно показывает оба смещения, но в префиксе почему-то только сегментное и нигде установки как переставить я не нашел. Или какой нибудь другой IL дизассемблер, может, есть, который такое умеет? На крайняк - простой и внятный алгоритм пересчета сегментных смещений в реальные, а то у меня такое ощущение складывается, что для этого собственный дизассемблер писать надо


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

Создано: 13 июля 2019 12:56 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #14

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

_MBK_ пишет:
простой и внятный алгоритм пересчета сегментных смещений в реальные

для ПЕ-формата пересчёт простой: виртуальныйАдрес - виртуальноеСмещениеСекции + физическоеСмещениеСекции

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

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

Создано: 13 июля 2019 13:02 New!
Цитата · Личное сообщение · #15

Для PE естественно все просто. А вот для IL смещение высчитывать для каждого метода весьма нетривиально надо и как то не особо хочется для этого самому парсить таблицы полей и методов при таком богатстве инструментария. Неужели это один я хочу странного?


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

Создано: 13 июля 2019 13:08 · Поправил: -=AkaBOSS=- New!
Цитата · Личное сообщение · #16

_MBK_ пишет:
Неужели это один я хочу странного?

похоже на то.
Есть множество инструментов, гораздо лучше приспособленных для подобных задач, чем IDA

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

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


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

Создано: 13 июля 2019 13:20 New!
Цитата · Личное сообщение · #17

И то верно! Только сейчас обратил внимание, что dnspy при сохранении листинга в префиксе file offset выдает, спасибо! А можно как то настроить, чтобы он сразу весь файл в один листинг декодировал, как IDA?


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

Создано: 13 июля 2019 13:26 New!
Цитата · Личное сообщение · #18

Вот за один листинг не скажу. Мало кому в реальности нужен такой объём неструктурированного кода, поэтому всё разбивается на разные файлы.
Меню "Файл-Экспорт в проект" переработает сборку в кучку исходников

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

Создано: 13 июля 2019 13:32 · Поправил: _MBK_ New!
Цитата · Личное сообщение · #19

Я к тому, что автоматизированно обрабатывать все таки проще один большой файл, чем кучу вложенных папок. Ну да ладно, неудобство на самом деле совсем незначительное

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

Создано: 10 сентября 2019 23:13 New!
Цитата · Личное сообщение · #20

подскажите почему многие mixed mode dll грузятся по два раза по двум разным адресам?
смотрю приложение через Olly, почти все mixed dll загружены дважды.
поставил бряк и там и там, понял в каком модуле исполняется код. но не понятно нужно ли на всякий случай патчить дубль или нет

Ранг: -1.9 (нарушитель)
Статус: Участник

Создано: 11 сентября 2019 06:30 New!
Цитата · Личное сообщение · #21

zds пишет:
патчить
если я не ошибаюсь, патч - физическое изменение файла.... разве можно сделать изменение только в одной виртуальной копии, внесением изменений в файл на диске? или это имеется в виду ВрМем делать - тогда зачем трогать то, чем не пользуются?
П.С. Это мысли вслух.

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

Создано: 11 сентября 2019 08:52 New!
Цитата · Личное сообщение · #22

PEvgen
да, я имел ввиду изменение памяти уже загруженной dll через лоадер
просто мне не понятно почему dll загружается двумя модулями по двум адресам.

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

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

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

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

Создано: 11 сентября 2019 10:08 New!
Цитата · Личное сообщение · #24

_MBK_
в каком смысле зависит от лоадера? я сейчас смотрю без каких-либо лоадеров, просто через Olly
скрин в аттаче
mixed mode dll загружаются по два раза.

приложение ни чем не упаковано, ни чего дампить не надо. просто там куча dll и в каждой второй проверка файлов на подписи и целостность. мне проще сделать лоадер для изменения одного значения в памяти, чем делать патч файла и плюсом еще патчить 5-7 файлов на проверки подписи и целостности.

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

{ Атач доступен только для участников форума } - double_load.png

Ранг: -1.9 (нарушитель)
Статус: Участник

Создано: 11 сентября 2019 12:21 New!
Цитата · Личное сообщение · #25

Высокоинформативный скрин....
Мне, в мою бытность студентом, на этапе обучения программированию (когда я был далек не то что от отладки дизасемблированием, а вообще от программирования), в частности ".НЕТ", попадалась на уши информация о том,
что это имено из-за "дуал мода" библиотеки. Обьяснялось это следующим: выполнение контролируемого и обычного кода происходит в разных местах. Сейчас с НЕТ"ом я есчо не сталкивался, потому не скажу насколько это достоверная инцормация. Вечером придут зубры скажут точнее, или не скажут

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


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

Создано: 11 сентября 2019 14:40 New!
Цитата · Личное сообщение · #26

zds _MBK_ PEvgen- не майтесь хуйней.

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


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

Создано: 11 сентября 2019 21:00 New!
Цитата · Личное сообщение · #27

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

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

Создано: 11 сентября 2019 22:23 · Поправил: zds New!
Цитата · Личное сообщение · #28

_MBK_
ладно, проехали... я видимо не правильно выражаюсь (в терминологии не силен)
да, все работает. ставлю хук LoadLibraryExW, дожидаюсь нужной либы, патчу пару байт и все работает. если тоже самое сделать патчем файла, то эта и другие dll (т.к. проверяют все загруженные модули) начинают сыпаться на VerifyStrongNameSignature, WinVerifyTrust и еще чем-то... так что считаю лоадер здесь более уместным

UPD
кстати, сейчас проверил через Olly v2, там модули не двоятся. видимо баг или особенность v1

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

Создано: 12 сентября 2019 11:49 New!
Цитата · Личное сообщение · #29

zds пишет:
да, все работает. ставлю хук LoadLibraryExW, дожидаюсь нужной либы, патчу пару байт и все работает. если тоже самое сделать патчем файла, то эта и другие dll (т.к. проверяют все загруженные модули) начинают сыпаться на VerifyStrongNameSignature, WinVerifyTrust и еще чем-то... так что считаю лоадер здесь более уместным
погодика-погодика, ты у нас научился обходить проверку цифровой подписи без патчинга апи? Научи меня.

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

Создано: 12 сентября 2019 11:59 New!
Цитата · Личное сообщение · #30

Medsft
Там же написано что он работает уже в контексте апп и патчит после подгрузки нужной длл. В чем проблема-то?

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

Создано: 12 сентября 2019 14:24 New!
Цитата · Личное сообщение · #31

A в том что LoadLibraryExW вызывается прежде чем StrongNameSignatureVerificationEx.

Добавлено спустя 37 минут
Вот раз уж r_e вступился , накатал тест.
zds пожалуйста сделай мне лоадер чтобы менял один байтик в testlibrary.dll и выдавал правильное сообщение о пройденной проверке.Защиты в sample никакой нет, код открыт, просто проверка подписи.
Если запатчишь более одного байта или менее одного байта - экзамен не сдал, а заодно r_e двойку влепим.

{ Атач доступен только для участников форума } - test.zip

Добавлено спустя 38 минут
там есть картинки какой байтик патчить и patch.txt со смещением и что на что.

Добавлено спустя 39 минут
Или мне двойку поставим)
<< 1 ... 9 . 10 . 11 . 12 . 13 . 14 . >>
 eXeL@B —› Основной форум —› Опять .net (part 2)

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

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