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

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


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

-

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

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

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

Создано: 20 июля 2018 10:23
· Личное сообщение · #2

kid пишет:
пишу девиртуализатор для последней версии ВМ CliSecure.

И как успехи?



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

Создано: 21 июля 2018 10:56
· Личное сообщение · #3

Lambda пишет:
Привет! Подскажите пожалуйста, чем обработана утилита.

http://rgho.st/private/6smMtQqDS/cf6bd083a674aeeb9bebfca4529ca159

Модификация ConfuserEx.

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

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

Создано: 26 июля 2018 17:18
· Личное сообщение · #4

Привет, патчу дллку, под dnSpy запускаю, все работает как надо, если просто прогу, то берется откуда-то старая версия, в GAC такой dll я не нашел, откуда он ее затягивает?




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 26 июля 2018 17:24
· Личное сообщение · #5

Gmc пишет:
в GAC такой dll я не нашел, откуда он ее затягивает?

Наверное ответ в проге, которую ты не показал. Из ресурсов или с сети, что на ум разработчику взбрело.

-----
2 оттенка серого





Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 26 июля 2018 17:25
· Личное сообщение · #6

Обновился Reflector v10.0.7.774.

-----
Don_t hate the cracker - hate the code.


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

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

Создано: 26 июля 2018 17:37
· Личное сообщение · #7

f13nd пишет:
Наверное ответ в проге, которую ты не показал. Из ресурсов или с сети, что на ум разработчику взбрело.


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




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 26 июля 2018 17:46 · Поправил: f13nd
· Личное сообщение · #8

Gmc пишет:
т.е. детектит дебагер?

может кс файла проверяет, я же не знаю. А GAC'ом ты не prefetch называешь? Может стоит prefetch отключить?

-----
2 оттенка серого




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

Создано: 26 июля 2018 17:53 · Поправил: Gmc
· Личное сообщение · #9

f13nd пишет:
может кс файла проверяет, я же не знаю. А GAC'ом ты не prefetch называешь? Может стоит prefetch отключить?


C:\Windows\Microsoft.NET\assembly\ тут смотрю GAC32 GAC64
Похоже он проверяет цифровую подпись, но откуда оригинал не понятно.
Prefetch зачистил, не помогло

Думал это баг просто, даже не подумал что это часть защиты может быть... Дебаг значит дальше...



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

Создано: 27 июля 2018 10:56
· Личное сообщение · #10

Gmc пишет:
откуда он ее затягивает?

для уверенности что откуда подгружается мо жно процмоном глянуть



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

Создано: 27 июля 2018 11:41
· Личное сообщение · #11

sendersu пишет:
для уверенности что откуда подгружается мо жно процмоном глянуть

Да, нашел C:\Windows\assembly\NativeImages_v4.0..., оттуда затягивает



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

Создано: 27 июля 2018 12:18
· Личное сообщение · #12

Gmc
а что патчится? путь вроде не жаковский



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

Создано: 27 июля 2018 13:26
· Личное сообщение · #13

sendersu пишет:
а что патчится? путь вроде не жаковский

dll просто, она там создает копию Имядлл.ni.dll и запускает ее, если цифровая подпись не верная, насколько я понял



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

Создано: 27 июля 2018 21:51
· Личное сообщение · #14

Подскажите, есть или функция на которую можно поставить хук, чтобы отследить загрузку dotNet dll (по аналогии с LoadLibrary для нативных)? Нужно пропатчить лоадером dll которые подгружаются в процессе.

И еще вопрос почему getJit может не обрабатывать некоторые методы или классы? Использую подмену getJit на свою функцию, чтобы отследить некоторые методы по имени - столкнулся с проблемой, что через нее не получается отследить некоторые методы в классе или даже целые классы, хотя они 100% выполняются.



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

Создано: 29 июля 2018 16:32
· Личное сообщение · #15

Нубский вопрос, чем можно патч сделать для .NET
Есть прога которая уже долгое время не меняет методы где проверяется лицензия, хочу не **ся каждый раз с скайем а просто сделать патчер.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 29 июля 2018 17:03
· Личное сообщение · #16

sashka2002 пишет:
Нубский вопрос, чем можно патч сделать для .NET

Тем же чем обычно патчи делают. Либо возьми конструкцию, которую будешь патчить, захвати туда побольше характерного чего-нибудь, сделай AND-маску, в которой оставь опкоды и характерные константы какие-нибудь, этой маской обруби то, что изначально взял. По этим двум маскам всегда можно будет в файле найти где патчить, алгоритм детский.

-----
2 оттенка серого




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

Создано: 29 июля 2018 22:52
· Личное сообщение · #17

Тем же чем обычно патчи делают.
Про это и был вопрос, мне нужно сам патчер сделать.
Гугл пока ничего толкового не дал, гуглю дальше.
Патчить буду .NET приложение.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 29 июля 2018 22:57
· Личное сообщение · #18

sashka2002 пишет:
Гугл пока ничего толкового не дал, гуглю дальше. Патчить буду .NET приложение.

как скажешь

-----
2 оттенка серого





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 30 июля 2018 01:33
· Личное сообщение · #19

sashka2002
Collaborative RCE Tool Library

-----
EnJoy!




Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 30 июля 2018 07:13
· Личное сообщение · #20

sashka2002, тебе же f13nd все доступно описал. Если алгоритм регистрации не меняется, то опкоды будут +- одинаковые, делай поиск последовательности по маске, хоть в том же DUP'e и радуйся)



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

Создано: 30 июля 2018 16:51
· Личное сообщение · #21

sashka2002 пишет:
чем можно патч сделать для .NET


Можно dnSpy прямо патчить, он позволяет даже код перекомпилить.
Еще вот этим я пользуюсь
https://exelab.ru/f/action=vthread&forum=3&topic=22494



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

Создано: 30 июля 2018 21:36 · Поправил: sashka2002
· Личное сообщение · #22

я и пользуюсь dnspy для патчинга, но надоело его запускать и искать\менять вхождения для каждой версии проги. Думаю есть какой-то генератор патчей. Ты ему задаёшь функции и какую строчку заменить, он сам меняет, без того что бы открывать днспай и т.д.
DUP-ом пытался, но он не смог сравнить файлы.
Добавлю что ".net Patcher v0.7 by whoknows" вообще говорит мне что файлы не .NET. КАК так я не пойму, я ведь их редактировал и знаю точно что это .NET файлы.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 30 июля 2018 21:57
· Личное сообщение · #23

sashka2002 пишет:
Думаю есть какой-то генератор патчей.

Патчей с декомпилером и компилером на борту.

-----
2 оттенка серого




Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 30 июля 2018 22:34
· Личное сообщение · #24

f13nd пишет:
с декомпилером и компилером на борту

Щикарно, дайте две!

Тебе же уже предложили проверить на возможность использовать сигнатурную маску, если этот метод подходит, то вопрос автоматически решен




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

Создано: 30 июля 2018 23:51 · Поправил: 4kusNick
· Личное сообщение · #25

sashka2002
Потому что править надо аккуратно.
dnSpy при сохранении изменений предлагает пересобрать файл, и естественно отличий от оригинала в таком случае будут слишком много.

Потому правьте как можно меньше опкодов и не пересобирайте файл при сохранении.
Я небольшие правки обычно в ByteMe делаю, без пересборки. В dnSpy кстати даже не пробовал проверять - можно ли напрямую в сборку внести патч не перестраивая ее.

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

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





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 31 июля 2018 00:41
· Личное сообщение · #26

--> JustDecompile <--
--> JustAssembly <--

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





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

Создано: 31 июля 2018 06:32
· Личное сообщение · #27

4kusNick пишет:
можно ли напрямую в сборку внести патч не перестраивая ее.

Да, можно..
Выделяешь код нужный, пкм -> Показать инструкции в Hex-редакторе.. Поправил, сохранил, перегрузил все сборки, проверил..

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

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

Создано: 31 июля 2018 11:25
· Личное сообщение · #28

sefkrd пишет:
4kusNick пишет:
можно ли напрямую в сборку внести патч не перестраивая ее.
а ILSpector никто не пробовал?))))
http://i.prntscr.com/3nEJkV6JRWWrjyFcvOx2kw.png

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


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

Создано: 31 июля 2018 12:39
· Личное сообщение · #29

Medsft пишет:
а ILSpector никто не пробовал?))))

Пробовал, но как я выше отмечал, для мелких правок пользуюсь ByteMe - он шустрый и лайтовый, то что мне надо.
Для серьезных дел и анализа кода - dnSpy, ILSpector, там обычно правкой пары опкодов не обходится потому там этот функционал для меня не критичен.

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




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

Создано: 01 августа 2018 09:26 · Поправил: Medsft
· Личное сообщение · #30

sefkrd пишет:
4kusNick пишет:
можно ли напрямую в сборку внести патч не перестраивая ее.
а это не пробовал ?))))))))
http://prntscr.com/kd7qsd

P/S решил попиариться

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


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

Создано: 01 августа 2018 18:16
· Личное сообщение · #31

Medsft пишет:
а это не пробовал ?))))))))

Нет, хватает ByteMe для патчей, по-крайней мере мне пока хватало.
Для серьезных дел - dnSpy, ILSpector

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



<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 15 . 16 . >>
 eXeL@B —› Основной форум —› Взлом .NET (part 2)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати