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

 eXeL@B —› Основной форум —› Взлом dotNET программ
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 49 . 50 . >>
Посл.ответ Сообщение

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

Создано: 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 - Очень навороченый декомпилер, побробности --> ТУТ <--.
Рег-данные:
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.

Статьи с хабры:
Защита .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.090
Статус: Участник

Создано: 02 января 2011 16:10
· Личное сообщение · #2

sendersu
попробуй правой кнопочкой на метод нажать.

-----
zzz




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 02 января 2011 22:44
· Личное сообщение · #3

ага, все нашлось, вот ведь, век живи - век учись
CFF не такой уж и простой как мне казалось
как говорил один знакомый - "комбайн вертикального взлета"




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

Создано: 06 января 2011 15:02
· Личное сообщение · #4

Ещё одна статья на хабре по теме появилась:
Реверс-инжиниринг обфусцированной сборки .NET

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


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

Ранг: 5.0 (гость), 1thx
Активность: 0.010
Статус: Участник

Создано: 06 января 2011 23:41
· Личное сообщение · #5

ТС, как там с паролем? можно же наверно отправлять данные на сервак и получать хеши?..
какой то хеш появляется в реестре после логина в GNA
Code:
  1. HKEY_CURRENT_USER\Software\GGS\GNA
  2. hash=""





Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
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.270.03
Статус: Модератор

Создано: 11 января 2011 01:53 · Поправил: sendersu
· Личное сообщение · #7

.NET Reflector 7 Beta1 (7.0.0.268)

что нового (аглицкий)
http://www.simple-talk.com/community/blogs/bart/archive/2011/01/10/982 58.aspx

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


Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 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.270.03
Статус: Модератор

Создано: 12 января 2011 00:31 · Поправил: sendersu
· Личное сообщение · #9

zeppe1in
пробовал собирать (VS2008SP1) -> нету главного окошка с дизасмом
у всех так?
P.S. недавно пробегали исх. старого 6.0 - так там все заиграло с полпинка




Ранг: 127.3 (ветеран), 44thx
Активность: 0.090
Статус: Участник

Создано: 12 января 2011 01:23
· Личное сообщение · #10

sendersu
2008 студия. всё работает без проблем.

-----
zzz




Ранг: 47.8 (посетитель), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 13 января 2011 15:12
· Личное сообщение · #11

Кто-нибудь знает как используя Mono.Cecil (без Reflection) получить metadata token метода в стандартном формате 0x0600XXXX ?



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

Создано: 13 января 2011 20:33
· Личное сообщение · #12

Tyrus пишет:
Кто-нибудь знает как используя Mono.Cecil (без Reflection) получить metadata token метода в стандартном формате 0x0600XXXX ?


Как-нибудь так наверное
Code:
  1. AssemblyDefinition asm = AssemblyFactory.GetAssembly("sample.exe");
  2. foreach(TypeDefinition type in asm.MainModule.Types)
  3. {
  4.          foreach(MethodDefinition def in type.Methods)
  5.          {
  6.                  Console.Write("{0} - 0x0600{1:D4}\n", def.Name, def.MetadataToken.RID);
  7.          }       
  8. }




Ранг: 47.8 (посетитель), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 13 января 2011 21:06 · Поправил: Tyrus
· Личное сообщение · #13

Нет. В этом RID все время чушь какая-то. Я уже пробовал.
в токене 0x0600XXXX - 06 это номер таблицы Methods в хипе "~", а XXXX - порядковый номер строки метода в таблице методов. В Reflection это получается легко, но он не универсален и часто не видит некоторые защищенные классы и методы в отличие от Mono.Cecil. Вот и думаю, может в Mono.Cecil есть какие-то функции по получению этого токена средствами фреймворка. Не хочется вручную по всем таблицам хипа "~" топать до таблицы Methods. Или может быть у кого-то есть готовый код разбора таблиц сборки по полочкам?



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 13 января 2011 22:06
· Личное сообщение · #14

Tyrus

String.Format("Token: 0x{0:x08} ", methodDef.MetadataToken.ToUInt32());
?



Ранг: 47.8 (посетитель), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 13 января 2011 22:39
· Личное сообщение · #15

sendersu
Kaimi
Спасибо.
Все, дошло. Просто в дебаге ворд, а не дворд - это и смутило.



Ранг: 47.8 (посетитель), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 01 февраля 2011 10:53 · Поправил: Tyrus
· Личное сообщение · #16

Tyrus
Кто-нибудь знает как в C# сорцы декомпиленый проект сбрасывать кроме Dis# ?
Может есть какой плагин для Reflector'а чтобы весь проект сохранять мог в сорцы?
После Dis# дорабатывать ппц сколько приходится для удачной компиляции большого проекта.

Вопрос по рефлектору снят. Нашел кнопу экспорта



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

Создано: 01 февраля 2011 11:04 · Поправил: uncleua
· Личное сообщение · #17

Может так?
http://img140.imageshack.us/img140/3777/13123q.jpg



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 01 февраля 2011 11:41
· Личное сообщение · #18

uncleua
краткость - сестра таланта

Tyrus
если файл обфуцирован - надо сначала деобфуцировать, иначе голову сломите



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

Создано: 01 февраля 2011 12:29
· Личное сообщение · #19

Tyrus пишет:
Вопрос по рефлектору снят. Нашел кнопу экспорта

А Чем хуже(лучше) Плуг FileGenerator ?



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 01 февраля 2011 14:11
· Личное сообщение · #20

Tyra пишет:
А Чем хуже(лучше) Плуг FileGenerator ?

если вы о SAE -> File Disassembler, то суть такова, что SAE делает експорт через Reflector (тоесть ето то же что и экспорт в рефлекторе)



Ранг: 47.8 (посетитель), 16thx
Активность: 0.020.01
Статус: Участник

Создано: 01 февраля 2011 14:42
· Личное сообщение · #21

sendersu
по деобфускации это все понятно
просто не нравится мне как Dis# исходники выдает, точнее компилятору не нравится
а вот сорцы Reflector'а вполне его устраивают



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

Создано: 01 февраля 2011 15:02
· Личное сообщение · #22

sendersu пишет:
если вы о SAE -> File Disassembler

Нет ! Имею ввиду Пруг для Рефлектора под названием FileGenerator !
Вопрос к Тому, что ниразу Не пробовал Export. Jlc.lf и Вопрос Вырос.
Tyrus пишет:
просто не нравится мне как Dis# исходники выдает, точнее компилятору не нравится

Эта Прога Очень кривенькие Сыррки выдает. Иногда встречалось, что функция по другому апрписывается, относительно Рефлектора. Стараюсь Dis# не пользоваться !




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 02 февраля 2011 08:53
· Личное сообщение · #23

первый раз серьёзно связался с NET. снял обфускатор с помощью SAE, отладил. подобрал ключ для своего компа, всё круто) но прога чекает ключ дополнительно на сервере. запрос перехватил, подменил ответ, проканало. решил пропатчить в проге 1 переход, но не тут то было) после патча функция перестаёт корректно отрабатывать, т.е. как я понимаю при его вызове/компиляции софт чекает целостность. если так, то как это можно обойти? разобрать и создать софт обратно, тоже не выходит, ilasm потстоянно на ресурсы ругается.

-----
[nice coder and reverser]




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 02 февраля 2011 10:26
· Личное сообщение · #24

Hellspawn
сборка что патчится - подписана?
у вас есть исх код или нет?
как ругаеться ilasm?




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 02 февраля 2011 10:33
· Личное сообщение · #25

да стронг нэйм удалял, ноль эмоций. ругаются не помню как точно, дома файлы. но что то вроде
resource "тут куча спец символов" not found. упирается всё в имя ресурса. пробовал экпортировать и в /UTF8 и /UNICODE, не помогает.

-----
[nice coder and reverser]




Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 02 февраля 2011 10:57 · Поправил: sendersu
· Личное сообщение · #26

Hellspawn
тоесть в имени ресурса - китайщина?
тогда рекомендую сделать SAE->Deobfuscate
он переназивает все и рес. в том числе

желательно линку, файл, чтоб ознокомиться




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 02 февраля 2011 11:08
· Личное сообщение · #27

sendersu
сделал первым делом, иначе как бы я норм отлаживал это всё. SAE переименовал всё кроме этого одного ресурса да вечером залью. как дома буду)

-----
[nice coder and reverser]




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

Создано: 02 февраля 2011 11:56
· Личное сообщение · #28

Hellspawn пишет:
после патча функция перестаёт корректно отрабатывать

Что Именно и На что Меняли ?!
Допустим Если в простой проге jz(jnz и т.д.) можно менять на простой jmp(при надобности), то в Шарпе это не проканает, треба патчить методом обратного перехода ! т.е. jnz <-> jz и т.д !




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 02 февраля 2011 12:06
· Личное сообщение · #29

Tyra патчил как угодно, brfalse -> brtrue метод после этого не вызывается, проверял в отладчике

-----
[nice coder and reverser]




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

Создано: 02 февраля 2011 13:29 · Поправил: Kaimi
· Личное сообщение · #30

при его вызове/компиляции софт чекает целостность. если так, то как это можно обойти?
Например, не трогать сам файл, а сделать лоадер для софта



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

Создано: 02 февраля 2011 13:54
· Личное сообщение · #31

Hellspawn пишет:
метод после этого не вызывается, проверял в отладчике

А чем обфусцирован файл ? Некоторые обфускаторы серьезно подписывают файл и кроме как внешними методами (типа лодыря) не победить. Или ФайрВолом накрывай, чтоб в сеть не ломилась !


<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 49 . 50 . >>
 eXeL@B —› Основной форум —› Взлом dotNET программ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати