Посл.ответ
Сообщение
Ранг: 60.6 (постоянный), 20thxАктивность: 0.07↘ 0 Статус: Участник
Создано: 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 - Очень навороченый декомпилер, побробности
--> ТУТ <-- .
Рег-данные:
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. Умеет сравнивать трейсы двух запусков программы
Рег-данные:
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]
| Сообщение посчитали полезным:
Ранг: 127.3 (ветеран), 44thxАктивность: 0.09↘ 0 Статус: Участник
Создано: 02 января 2011 16:10 · Личное сообщение · #2
sendersu попробуй правой кнопочкой на метод нажать.
----- zzz | Сообщение посчитали полезным:
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 02 января 2011 22:44 · Личное сообщение · #3
ага, все нашлось, вот ведь, век живи - век учись
CFF не такой уж и простой как мне казалось
как говорил один знакомый - "комбайн вертикального взлета"
| Сообщение посчитали полезным:
Ранг: 748.2 (! ! ) , 390thxАктивность: 0.37↘ 0 Статус: Участник bytecode!
Создано: 06 января 2011 15:02 · Личное сообщение · #4
Ранг: 5.0 (гость), 1thxАктивность: 0.01↘ 0 Статус: Участник
Создано: 06 января 2011 23:41 · Личное сообщение · #5
ТС, как там с паролем? можно же наверно отправлять данные на сервак и получать хеши?..
какой то хеш появляется в реестре после логина в GNA
| Сообщение посчитали полезным:
Ранг: 748.2 (! ! ) , 390thxАктивность: 0.37↘ 0 Статус: Участник bytecode!
Создано: 07 января 2011 19:34 · Поправил: 4kusNick · Личное сообщение · #6
Смотрю в шапке линки разместили, наверное туда же можно добавить:
для начала можно посмотреть что есть
тут Чего там нет (наверное стоит это туда добавить тем, кто может):
DNiD by Rue - сигнатурный анализатор
Dotnet IL Editor (DILE) - дизассемблер и дебаггер
SimpleAssemblyExplorer - дизасм, едитор, деобфускатор, профайлер и не только
Xenocode Fox Code Analyzer - профайлер и дизассемблер (не обновляется, но иногда может помочь)
Есть ещё много всякого, но это, наверное, действительно заслуживает того, чтобы быть замеченным.
ADDED Статьи на хабре
Инъекции MSIL кода в стороннюю сборку при помощи Mono.Cecil. Реализация принципов АОП в NET Избавление .NET программы от регистрации на примере BEM
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: sendersu , _ruzmaz_
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 11 января 2011 01:53 · Поправил: sendersu · Личное сообщение · #7
Ранг: 127.3 (ветеран), 44thxАктивность: 0.09↘ 0 Статус: Участник
Создано: 11 января 2011 23:19 · Личное сообщение · #8
.NET Reflector v7.0.0.198 (C# Source by wangshy)
www.multiupload.com/EBCEYWANN0
----- zzz | Сообщение посчитали полезным: yanus0 , Tyrus
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 12 января 2011 00:31 · Поправил: sendersu · Личное сообщение · #9
zeppe1in пробовал собирать (VS2008SP1) -> нету главного окошка с дизасмом
у всех так?
P.S. недавно пробегали исх. старого 6.0 - так там все заиграло с полпинка
| Сообщение посчитали полезным:
Ранг: 127.3 (ветеран), 44thxАктивность: 0.09↘ 0 Статус: Участник
Создано: 12 января 2011 01:23 · Личное сообщение · #10
sendersu 2008 студия. всё работает без проблем.
----- zzz | Сообщение посчитали полезным:
Ранг: 47.8 (посетитель), 16thxАктивность: 0.02↘ 0.01 Статус: Участник
Создано: 13 января 2011 15:12 · Личное сообщение · #11
Кто-нибудь знает как используя Mono.Cecil (без Reflection) получить metadata token метода в стандартном формате 0x0600XXXX ?
| Сообщение посчитали полезным:
Ранг: 60.6 (постоянный), 87thxАктивность: 0.06↘ 0 Статус: Участник
Создано: 13 января 2011 20:33 · Личное сообщение · #12
Tyrus пишет: Кто-нибудь знает как используя Mono.Cecil (без Reflection) получить metadata token метода в стандартном формате 0x0600XXXX ? Как-нибудь так наверное
| Сообщение посчитали полезным:
Ранг: 47.8 (посетитель), 16thxАктивность: 0.02↘ 0.01 Статус: Участник
Создано: 13 января 2011 21:06 · Поправил: Tyrus · Личное сообщение · #13
Нет. В этом RID все время чушь какая-то. Я уже пробовал.
в токене 0x0600XXXX - 06 это номер таблицы Methods в хипе "~", а XXXX - порядковый номер строки метода в таблице методов. В Reflection это получается легко, но он не универсален и часто не видит некоторые защищенные классы и методы в отличие от Mono.Cecil. Вот и думаю, может в Mono.Cecil есть какие-то функции по получению этого токена средствами фреймворка. Не хочется вручную по всем таблицам хипа "~" топать до таблицы Methods. Или может быть у кого-то есть готовый код разбора таблиц сборки по полочкам?
| Сообщение посчитали полезным:
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 13 января 2011 22:06 · Личное сообщение · #14
Tyrus String.Format("Token: 0x{0:x08} ", methodDef.MetadataToken.ToUInt32());
?
| Сообщение посчитали полезным:
Ранг: 47.8 (посетитель), 16thxАктивность: 0.02↘ 0.01 Статус: Участник
Создано: 13 января 2011 22:39 · Личное сообщение · #15
sendersu Kaimi Спасибо.
Все, дошло. Просто в дебаге ворд, а не дворд - это и смутило.
| Сообщение посчитали полезным:
Ранг: 47.8 (посетитель), 16thxАктивность: 0.02↘ 0.01 Статус: Участник
Создано: 01 февраля 2011 10:53 · Поправил: Tyrus · Личное сообщение · #16
Tyrus Кто-нибудь знает как в C# сорцы декомпиленый проект сбрасывать кроме Dis# ?
Может есть какой плагин для Reflector'а чтобы весь проект сохранять мог в сорцы?
После Dis# дорабатывать ппц сколько приходится для удачной компиляции большого проекта.
Вопрос по рефлектору снят. Нашел кнопу экспорта
| Сообщение посчитали полезным:
Ранг: 81.0 (постоянный), 88thxАктивность: 0.07↘ 0.02 Статус: Участник
Создано: 01 февраля 2011 11:04 · Поправил: uncleua · Личное сообщение · #17
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 01 февраля 2011 11:41 · Личное сообщение · #18
uncleua краткость - сестра таланта
Tyrus если файл обфуцирован - надо сначала деобфуцировать, иначе голову сломите
| Сообщение посчитали полезным:
Ранг: 78.7 (постоянный), 43thxАктивность: 0.07↘ 0 Статус: Участник
Создано: 01 февраля 2011 12:29 · Личное сообщение · #19
Tyrus пишет: Вопрос по рефлектору снят. Нашел кнопу экспорта А Чем хуже(лучше) Плуг FileGenerator ?
| Сообщение посчитали полезным:
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 01 февраля 2011 14:11 · Личное сообщение · #20
Tyra пишет: А Чем хуже(лучше) Плуг FileGenerator ? если вы о SAE -> File Disassembler, то суть такова, что SAE делает експорт через Reflector (тоесть ето то же что и экспорт в рефлекторе)
| Сообщение посчитали полезным:
Ранг: 47.8 (посетитель), 16thxАктивность: 0.02↘ 0.01 Статус: Участник
Создано: 01 февраля 2011 14:42 · Личное сообщение · #21
sendersu по деобфускации это все понятно
просто не нравится мне как Dis# исходники выдает, точнее компилятору не нравится
а вот сорцы Reflector'а вполне его устраивают
| Сообщение посчитали полезным:
Ранг: 78.7 (постоянный), 43thxАктивность: 0.07↘ 0 Статус: Участник
Создано: 01 февраля 2011 15:02 · Личное сообщение · #22
sendersu пишет: если вы о SAE -> File Disassembler Нет ! Имею ввиду Пруг для Рефлектора под названием FileGenerator !
Вопрос к Тому, что ниразу Не пробовал Export. Jlc.lf и Вопрос Вырос.
Tyrus пишет: просто не нравится мне как Dis# исходники выдает, точнее компилятору не нравится Эта Прога Очень кривенькие Сыррки выдает. Иногда встречалось, что функция по другому апрписывается, относительно Рефлектора. Стараюсь Dis# не пользоваться !
| Сообщение посчитали полезным:
Ранг: 990.2 (! ! ! ) , 380thxАктивность: 0.68↘ 0 Статус: Модератор Author of DiE
Создано: 02 февраля 2011 08:53 · Личное сообщение · #23
первый раз серьёзно связался с NET. снял обфускатор с помощью SAE, отладил. подобрал ключ для своего компа, всё круто) но прога чекает ключ дополнительно на сервере. запрос перехватил, подменил ответ, проканало. решил пропатчить в проге 1 переход, но не тут то было) после патча функция перестаёт корректно отрабатывать, т.е. как я понимаю при его вызове/компиляции софт чекает целостность. если так, то как это можно обойти? разобрать и создать софт обратно, тоже не выходит, ilasm потстоянно на ресурсы ругается.
----- [nice coder and reverser] | Сообщение посчитали полезным:
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 02 февраля 2011 10:26 · Личное сообщение · #24
Hellspawn сборка что патчится - подписана?
у вас есть исх код или нет?
как ругаеться ilasm?
| Сообщение посчитали полезным:
Ранг: 990.2 (! ! ! ) , 380thxАктивность: 0.68↘ 0 Статус: Модератор Author of DiE
Создано: 02 февраля 2011 10:33 · Личное сообщение · #25
да стронг нэйм удалял, ноль эмоций. ругаются не помню как точно, дома файлы. но что то вроде
resource "тут куча спец символов" not found. упирается всё в имя ресурса. пробовал экпортировать и в /UTF8 и /UNICODE, не помогает.
----- [nice coder and reverser] | Сообщение посчитали полезным:
Ранг: 512.7 (! ), 360thxАктивность: 0.27↘ 0.03 Статус: Модератор
Создано: 02 февраля 2011 10:57 · Поправил: sendersu · Личное сообщение · #26
Hellspawn тоесть в имени ресурса - китайщина?
тогда рекомендую сделать SAE->Deobfuscate
он переназивает все и рес. в том числе
желательно линку, файл, чтоб ознокомиться
| Сообщение посчитали полезным:
Ранг: 990.2 (! ! ! ) , 380thxАктивность: 0.68↘ 0 Статус: Модератор Author of DiE
Создано: 02 февраля 2011 11:08 · Личное сообщение · #27
sendersu сделал первым делом, иначе как бы я норм отлаживал это всё. SAE переименовал всё кроме этого одного ресурса
да вечером залью. как дома буду)
----- [nice coder and reverser] | Сообщение посчитали полезным:
Ранг: 78.7 (постоянный), 43thxАктивность: 0.07↘ 0 Статус: Участник
Создано: 02 февраля 2011 11:56 · Личное сообщение · #28
Hellspawn пишет: после патча функция перестаёт корректно отрабатывать Что Именно и На что Меняли ?!
Допустим Если в простой проге jz(jnz и т.д.) можно менять на простой jmp(при надобности), то в Шарпе это не проканает, треба патчить методом обратного перехода ! т.е. jnz <-> jz и т.д !
| Сообщение посчитали полезным:
Ранг: 990.2 (! ! ! ) , 380thxАктивность: 0.68↘ 0 Статус: Модератор Author of DiE
Создано: 02 февраля 2011 12:06 · Личное сообщение · #29
Tyra патчил как угодно, brfalse -> brtrue метод после этого не вызывается, проверял в отладчике
----- [nice coder and reverser] | Сообщение посчитали полезным:
Ранг: 60.6 (постоянный), 87thxАктивность: 0.06↘ 0 Статус: Участник
Создано: 02 февраля 2011 13:29 · Поправил: Kaimi · Личное сообщение · #30
при его вызове/компиляции софт чекает целостность. если так, то как это можно обойти? Например, не трогать сам файл, а сделать лоадер для софта
| Сообщение посчитали полезным:
Ранг: 78.7 (постоянный), 43thxАктивность: 0.07↘ 0 Статус: Участник
Создано: 02 февраля 2011 13:54 · Личное сообщение · #31
Hellspawn пишет: метод после этого не вызывается, проверял в отладчике А чем обфусцирован файл ? Некоторые обфускаторы серьезно подписывают файл и кроме как внешними методами (типа лодыря) не победить. Или ФайрВолом накрывай, чтоб в сеть не ломилась !
| Сообщение посчитали полезным: