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

 eXeL@B —› Основной форум —› Взлом dotNET программ
<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 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]




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 16 июля 2014 21:03 · Поправил: ZaZa
· Личное сообщение · #2

С распаковкой отлично справляется то, что я указал выше...
У меня нормально запустилось...

-----
One death is a tragedy, one million is a statistic.




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

Создано: 16 июля 2014 21:13
· Личное сообщение · #3

ZaZa пишет:
С распаковкой отлично справляется то, что я указал выше...У меня нормально запустилось...

При этом размер приложения остался таким же как и был. Но пакер теперь как бы не определяется да, а я вот взял другое приложение, которые тоже упаковано netz, и нифига! Этот распаковщик уже ничего не делает с ним, тупо висит и всё.




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 16 июля 2014 21:19
· Личное сообщение · #4

Ссылку?

-----
One death is a tragedy, one million is a statistic.




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

Создано: 16 июля 2014 21:24
· Личное сообщение · #5

ZaZa http://rghost.ru/private/56928908/ba0f532b691cde2825d6662e59f7abc5

Добавлено спустя 6 минут
И всё таки интересно как в Ollydbg то открыть? Там согласно туториалу снятие этого пакера через олли плёвое дело...




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 16 июля 2014 21:40 · Поправил: ZaZa
· Личное сообщение · #6

А проблема тут в том, что этот анпак надо бы доработать...
Он ищет только один ресурс: с именем "A6C24BF5-3690-4982-887E-11E1B159B249", а их там больше...
Глянем завтра...

У меня на Win7 все грузится хорошо и по туториалу все находится...
Жалко, конечно, что это все-таки чит оказался...

А вот и анпак: --> Un.NETZ <--

-----
One death is a tragedy, one million is a statistic.




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

Создано: 17 июля 2014 08:52
· Личное сообщение · #7

ZaZa дак ты открыл в Ollydbg? Каким образом?




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 17 июля 2014 10:09 · Поправил: ZaZa
· Личное сообщение · #8

Я же говорил как: запустил и все... Никаких танцев с бубном...
Видимо у тебя какие-то проблемы, либо с OllyDbg и его плагинами, либо с ОС.

-----
One death is a tragedy, one million is a statistic.




Ранг: 134.1 (ветеран), 246thx
Активность: 0.220.1
Статус: Участник
realist

Создано: 17 июля 2014 10:34
· Личное сообщение · #9

--> Reflexil V.1.8 <--

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

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

Создано: 17 июля 2014 10:41
· Личное сообщение · #10

ZaZa, хм... Ну хоть твоя версия анпакера у меня справилась без проблем с задачей. Спасибо!

Добавлено спустя 4 часа 19 минут
ZaZa пишет:
Видимо у тебя какие-то проблемы, либо с OllyDbg и его плагинами, либо с ОС.

А не мог бы поделится своей своей OllyDbg? Простой запакуй папку в архив вместе с дебаггером и всё что к нему там лежит, включая конфиг. Я попробую твоим сделать по туториалу, мне дико любопытно найти причину почему у меня Olly отказывается открывать .NET.



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

Создано: 20 июля 2014 21:28
· Личное сообщение · #11

Здравствуйте.
Шапку обновлять планируется?
Там добавить тот же "Reflexil V.1.8" с описанием, обновить ссылку и версию для "ILSpy 2.2" и т.д., в страницах ранее много нового.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 20 июля 2014 22:45
· Личное сообщение · #12

Alinator3500
Ну так и займись этим, сделай пост с подборкой и описанием, а кто-нибудь из модераторов перенесет в шапку



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

Создано: 21 июля 2014 16:38 · Поправил: Alinator3500
· Личное сообщение · #13

Plugin:
Reflexil V.1.8 --> Link <--
Это удобный плагин, разработанный в помощь девелоперам, работающим с Reflector.
Особенности программы «Reflexil»:
1. С помощью Mono.Cecil, Reflexil имеет возможность манипулировать кодом IL
2. Разработана специально для ассемблер-редакторов
3. Сохранение измененных сборок на диск
Reflector.NetCryptoScanner v1.0.0.1 Add-In --> Link <--
Сканер криптографических алгоритмов в сборке.

NoFuser_v1.1 --> Link <--
Деобфускатор для защиты Confuser.
ILSpy 2.2 --> Link <--
ILSpy — open source альтернатива .NET Reflector.
de4dot 3.1.41592 --> Link <--
.Net деобфускатор.
.net detector --> Link <--
Детектор защиты .NET
ByteME --> Link <--
Утилита для бинарного патчинга
kao de4dot --> Link <--
Модифицированная версия знаменитого деобфускатора.
.NET Obfuscation Checker --> Link <--
Детектор деобфускатороф для .NET

Editors tools - source code C# --> Link <--
AssemblyReconstructor
ByteArrayInitializer
FrameworkChanger
HonorableNetPatcher
ModuleToAssembly
ModuleToAssembly_Mono
ReferencedVersionChanger
ResourceCopy
ResourceManager
StringAdder
Unpackers tools - source code C# --> Link <--
AssemblyLoad
Confuser_Methods_Decryptor
ConfuserDelegateKiller
ConfuserStringDecryptor
ExceptionLogger
MegaDumper
Reactor_Decryptor
Resource_Decryptor
Simple_MSIL_Decryptor
StaticDecompressor
Universal_Fixer
Deobfuscators - source code C# --> Link <--
NR_Bad_Net_Opcode_Remover
SimpleNameDeobfuscator
StringDecryptor
StrongName tools - source code C# --> Link <--
Assembly_Resigner
Minimum_Resign_Calculator
PKT_AssemblyRef_Replacer
StrongName_Killer
StrongNameVerifier

Реверс-инжиниринг NET-приложений. Часть первая: Введение --> Link <--
Реверс-инжиниринг NET-приложений. Часть вторая: Введение в Byte Patching --> Link <--
Реверс-инжиниринг NET-приложений. Часть третья: Продвинутые методы Byte Patching --> Link <--
Реверс-инжиниринг NET-приложений. Часть четвертая: Введение в циклическую разработку --> Link <--
Реверс-инжиниринг NET-приложений. Часть пятая: Продвинутые методы циклической разработки --> Link <--

Редко, но иногда нравится приводить коллекцию в порядок.

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

Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 21 июля 2014 16:42 · Поправил: Vovan666
· Личное сообщение · #14

Alinator3500
Не используй тэг ASM
Plagin->Plugins
UPD
Не хватает какого-нибудь простого описания для этого, ибо все это можно так же положить в архив с названием >Net Tools 2014.rar



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

Создано: 14 сентября 2014 00:47
· Личное сообщение · #15

upd:
jetBrains dotPeek 1.2 .net decompiler
http://www.jetbrains.com/decompiler/whatsnew/

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

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

Создано: 18 сентября 2014 14:48
· Личное сообщение · #16

Решил порадовать Вас очередным подарком из коллекции "Мои инструменты"
http://www.mediafire.com/download/pcz8adwast31w8q/ILSpy_2201708_mod_Medsft.zip
Последняя версия ILSpy подвергнутая некоторым изменениям:
- CompileInDebugMode
- usedOldMonoCecilVersion
- disable AutoUpdate function
- add method to view HideMembersName (only for C++ string protection teсhnology)

Если Вы не знаете для чего в декомпиляторе использована старая версия Mono.Cecil - этот билд Вам не нужен!!!


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

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

Создано: 19 сентября 2014 01:00
· Личное сообщение · #17

Medsft
http://prntscr.com/4o3cgr
падает на чистой сборке по ПКМ "Strings Viewer".....

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

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

Создано: 19 сентября 2014 12:56
· Личное сообщение · #18

sendersu пишет:
падает на чистой сборке по ПКМ "Strings Viewer".....
сорри файл по ссылке обновлен
Просьба перечитать.
Плагин был не под данную версию декомпилятора



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

Создано: 22 сентября 2014 17:59
· Личное сообщение · #19

А может кто напомнить утилиты для PatchOnLoad для managed приложений?
Надо запатчить RSA-pubkey без нарушения целостности.

-----
старый пень





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 23 сентября 2014 17:26 · Поправил: Maximus
· Личное сообщение · #20

r_e я бы сделал proxydll, которая слету бы меняла ключ.

Ко всем вопрос, кто нить видел исходники на дельфи, которые патчат слету .net сборку методом перехвата функции getJit ???

На С++ много примеров, на дельфи что-то не нашел

-----
StarForce и Themida ацтой!




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

Создано: 23 сентября 2014 19:32
· Личное сообщение · #21

Maximus
В каком смысле прокси-длл? Там жеж strong nameы везде. Я думал может лоадер можно какой прикрутить, чтоб он в нужной длл при ее подгрузке по сигнатуре подменил ключ.

-----
старый пень




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

Создано: 23 сентября 2014 20:18
· Личное сообщение · #22

r_e пишет:
В каком смысле прокси-длл?

Инжектируется в процесс dll'ка (на .net) и она садитсья на метод загрузки и патчит всё слёту.



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

Создано: 23 сентября 2014 22:44
· Личное сообщение · #23

vovanre
Где почитать про "садитсья на метод загрузки"?

-----
старый пень





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 23 сентября 2014 23:27 · Поправил: Maximus
· Личное сообщение · #24

r_e proxydll это dll, которую винда подгружает в любом случае. К примеру почти всегда приложение подгружает библиотечку msimg32.dll. Винда (не зависимо от версии) сначала ищет эту библу в папке программы, а только потом в системной папке. Ты можешь сделать свою msimg32.dll, которая будет лежать в папке программы, и которую подгрузит сама винда, когда будет загружать программу. Во время подгрузки ты можешь пропатчить целевую dll и подгрузить реальную msimg32.dll

Как пример у нас есть тема:
https://exelab.ru/f/action=vthread&forum=6&topic=12120
http://www.codeproject.com/Articles/16541/Create-your-Proxy-DLLs-automatically

Или так можно поискать:
https://www.google.ru/#newwindow=1&q=%D0%9A%D0%B0%D0%BA+%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C+Proxy+Dll

И такой способ лучше чем лоадер, потому что не надо править ярлыки. Подложил dll и вот прога и сломана.

>Там жеж strong nameы везде
Ты же по сигнатуре будешь патчить, какая разница чего там. Или я чего то не понимаю?

-----
StarForce и Themida ацтой!




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

Создано: 23 сентября 2014 23:42
· Личное сообщение · #25

Maximus
Тьфу ты. Я думал это что-то .нет специфичное. Вован же писал что дллка на .нет
А так какая разница инжектить ли системную (подменой) или принудительно заинжектить свою длл лоадером (CreateRemoteThread) на старте?
Вобщем, вопрос не в инжекте, а в том куда в .нет процессе цепляться чтобы отловить подгрузку зависимых сборок?

-----
старый пень





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 24 сентября 2014 01:25
· Личное сообщение · #26

r_e дык подгрузи нужную dll сам после инжекта, вот тут написано что обычный LoadLibrary работает на .Net dll
https://exelab.ru/f/action=vthread&forum=1&topic=16650&page=23#9

-----
StarForce и Themida ацтой!




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

Создано: 24 сентября 2014 02:53
· Личное сообщение · #27

Maximus
Что-то я туплю. Тоесть, в принципе, я могу лодырем запустить процесс в суспенде, он подгрузит зависимости и тут я его и пропатчу. Так?

А такая схема будет работать (например, если ДЛЛ подгружается динамически)?
1. Лоадер стартует процесс в суспенде и инжектит мою ДЛЛ стандартно
2. Моя ДЛЛ грузит целевую ДЛЛ и патчит
3. Процесс при попытке подгрузить целевую ДЛЛ просто получает ее уже пропатченный образ (система просто увеличивает счетчик рефов)

-----
старый пень





Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 24 сентября 2014 09:45 · Поправил: Maximus
· Личное сообщение · #28

Ну я не вижу причин что бы это не работало. В крайнем случае можно перехватить _CorExeMain (если процесс не получится в суспенд отправить или зугрузить нужную dll) и все равно пропатчить.

-----
StarForce и Themida ацтой!


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

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

Создано: 24 сентября 2014 13:59
· Личное сообщение · #29

r_e и Maximus вы о чем вообще? У вас же задача как я понял подгрузить dllку в домен которая имеет неправильный strongname? Тогда причем здесь онлайн патчинг dllки? Вам надо нее а системные dll патчить.
Это как вариант...

А просто снести по всему проекту strongname судьба? или на public key есть кастомные проверки?

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

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

Создано: 24 сентября 2014 14:16
· Личное сообщение · #30

Medsft
Задача: запатчить несколько байт не нарушая проверку strongname - тоесть "на лету".
Хотя, твой вариант "снести по всему проекту подписи" тоже годится.

-----
старый пень




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

Создано: 24 сентября 2014 14:57 · Поправил: Medsft
· Личное сообщение · #31

r_e пишет:
Задача: запатчить несколько байт не нарушая проверку strongname - тоесть "на лету"
научишься пиши))) только в личку.
Я имею ввиду патчинг strongname


<< 1 ... 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 . 35 . 36 . 37 ... 49 . 50 . >>
 eXeL@B —› Основной форум —› Взлом dotNET программ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати