Сейчас на форуме: -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


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

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

Net Patcher хороший тул, но днспай юзабельней, ИМХО..



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

Создано: 02 августа 2018 10:52
· Личное сообщение · #3

sefkrd пишет:
Net Patcher хороший тул, но днспай юзабельней, ИМХО..


dnSpy удаляет цифровую подпись при патче, а это не всегда нужно



Ранг: 19.9 (новичок), 31thx
Активность: 0.030.01
Статус: Участник

Создано: 02 августа 2018 11:46
· Личное сообщение · #4

например команда URET делает патчи (патчеры) для .NET приложений ... иногда даже генерики... знач таки есть тулза для таких целей.



Ранг: 10.0 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 03 августа 2018 08:24
· Личное сообщение · #5

evggrig
))
В иде смотришь-копируешь опкоды,в dup вставляешь




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

Создано: 04 августа 2018 09:27
· Личное сообщение · #6

evggrig пишет:
знач таки есть тулза для таких целей

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

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




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

Создано: 04 августа 2018 14:22
· Личное сообщение · #7

Вы че перенапряглись)))) NET Patcher делает байтовый патчинг с возможностью сохранения и последующего распространения таблицы патча и ВСЕ)))) какая Ида, какой dbSpy ... подходы разные.



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

Создано: 08 августа 2018 21:50
· Личное сообщение · #8

Скиньте кто актуальный NET Patcher




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

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

Medsft пишет:
с возможностью сохранения и последующего распространения таблицы патча и ВСЕ

В этой таблице патча сигнатура или смещение? Просто от этого зависит ВСЕ там будет или еще не ВСЕ.

sashka2002 пишет:
Скиньте кто актуальный NET Patcher

Не-не-не-не-не, ты же ищешь прогу где имя метода надо вбить и заменяемую строчку, так?

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




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

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

f13nd пишет:
В этой таблице патча сигнатура или смещение?
смещение + old value + new value. По-моему классика.




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

Создано: 09 августа 2018 08:53
· Личное сообщение · #11

Medsft пишет:
смещение + old value + new value. По-моему классика

пассажир хочет чтоб патч на всех последующих сборках работал

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




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

Создано: 09 августа 2018 09:00
· Личное сообщение · #12

f13nd пишет:
пассажир хочет
- )))) что дороже.
Но если серьезно я реализую это на сигнатурах с помощью metadatareadera от Bogdan, тот что использует Codecracker в своих поделках



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

Создано: 09 августа 2018 15:51
· Личное сообщение · #13

накачал утилит на .NETv2.0.50727 на win xp, без net framework при старте ошибка при инициализации приложения 0xc0000135 знаю решается установкой framework ,но
в импорте то одна dll
mscoree.dll 2.0.50727.42 скинул её в папку толку нет
Вопрос как без полного пакета запускать? ,лень мне забивать винт ненужным мусором)
у кого какие мысли ?




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

Создано: 09 августа 2018 17:29
· Личное сообщение · #14

SDK пишет:
mscoree.dll 2.0.50727.42 скинул её в папку толку нет

Дотнетов всех форм и расцветок может быть установлено сколько угодно, мскорея.длл одна, в систем32 лежит. Как думаешь, почему ее подмена не помогла?

SDK пишет:
лень мне забивать винт ненужным мусором)

А ты средствами нтфс этот мусор сожми

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




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

Создано: 09 августа 2018 17:40 · Поправил: SDK
· Личное сообщение · #15

f13nd пишет:
мскорея.длл одна, в систем32 лежит
Сам Придумал или Кто Научил?
ты будешь удивлён но я перед тем как проверить экспорт и качнуть mscoree.dll
проверил папку на наличее mscoree.dll там нет)) Ибо Microsoft .NET Runtime Execution Engine
и в форточках её нет без пакета который бывает ставится в всяких сборках,но не в стоковой))
теперь без шуток ставлю я допустим этот мусорный net framework запускаю утилиту как мне засунуть все используемые dll
в экспорт ? и спасёт ли это отца русской демократии как думаете?




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

Создано: 09 августа 2018 17:55
· Личное сообщение · #16

SDK пишет:
как мне засунуть все dll
в экспорт и спасёт ли это отца русской демократии как думаете?

От того, что ты тупо загрузишь нужные длл mscoree.dll не перестанет от этого пытаться их загружать привычным ей способом. Вообще эта длл судя по экспорту COM-объект, со всеми вытекающими. То есть как минимум всю эту мишуру возможно придется регистрировать как ком-объекты, а они возможно чего-нибудь еще захотят этакого.

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




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

Создано: 09 августа 2018 18:05
· Личное сообщение · #17

эх жаль) я так понял дотнет это виртуальная машина как и ява, java to exe есть а вот dotnet.exe to .exe не бывает еще?




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

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

SDK пишет:
dotnet.exe to .exe не бывает еще?

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

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




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

Создано: 10 августа 2018 01:14
· Личное сообщение · #19

Кто подскажет : http://joxi.ru/4AklQ3sydykkrq
Не могу понят что за херня, exe точно .NET!



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

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

SDK и f13nd порожняка гонять хватит.
SDK гугли DotNetBox от CodeCracker и будет тебе счастье если ставить фреймворки не хочешь.

Добавлено спустя 2 минуты
sashka2002 пишет:
Кто подскажет : http://joxi.ru/4AklQ3sydykkrq
тыб еще оставил на скрине только пару пикселей от экрана... быстрее ответят

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

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

Создано: 10 августа 2018 21:41
· Личное сообщение · #21

sashka2002 пишет:
Не могу понят что за херня, exe точно .NET!


https://exelab.ru/f/action=vthread&forum=1&topic=24863&page=4#16



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

Создано: 11 августа 2018 14:55
· Личное сообщение · #22

Medsft пишет:
тыб еще оставил на скрине только пару пикселей от экрана

К сожалению не могу оглашать прогу которую пролечил. Что сделал, просто указал патченый и оригинальный exe. После "Compare" выдаёт это, что за фигня не понятно. http://joxi.ru/DrlBlahvL0Q72P

sendersu Проги уже нет там удалили с сендфайл.



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

Создано: 12 августа 2018 08:18
· Личное сообщение · #23

прога сия для патчирования дот нет файлов онли
видимо подсунули ей другую категорию (натив например)
вот оно и ругается




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

Создано: 12 августа 2018 09:14
· Личное сообщение · #24

sendersu пишет:
подсунули ей другую

sashka2002 пишет:
exe точно .NET!





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

Создано: 12 августа 2018 09:23 · Поправил: f13nd
· Личное сообщение · #25

Я устал уже объяснять, что этот вариант не подойдет. На картинке видно три поля Dec offset - Old byte - New byte, это замена по смещению. Какая блин разница дотнет - не дотнет, это самый обыкновенный патчер, их много и все не подходят для последующих сборок. Если есть какие-то затруднения с поиском инструмента для патча по сигнатуре, сделай сигнатурный поиск сам. Это очень простая задачка.
Code:
  1. ;ROM:00075326 DD28 11010000b\,00000000b\,\ 11110000b\,00000000b\,\ mov.l #unk_3FFD0, r13
  2. ;ROM:00075328 63D3 01100000b\,00000011b\,\ 11110000b\,00001111b\,\ mov r13, r3
  3. ;ROM:0007532A ED05 11100000b\,00000000b\,\ 11110000b\,00000000b\,\ mov #5, r13
  4. ;ROM:0007532C 6A36 01100000b\,00000110b\,\ 11110000b\,00001111b\,\ mov.l @r3+, r10
  5. ;ROM:0007532E 4D10 01000000b\,00010000b\,\ 11110000b\,11111111b\,\ dt r13
  6. ;ROM:00075330 34A8 00110000b\,00001000b\,\ 11110000b\,00001111b\,\ sub r10, r4
  7. ;ROM:00075332 8BFB 10001011b\,00000000b\,\ 11111111b\,00000000b\,\ bf loc_7532C
  8. ;ROM:00075334 74FB 01110000b\,00000000b\,\ 11110000b\,00000000b\,\ add #-5, r4
  9. ;ROM:00075336 047B 00000000b\,01111011b\,\ 11110000b\,11111111b\,\ rtv/n r4
  10. pushdata pbinShChecksumSkip4Val, db 11010000b\,00000000b\,01100000b\,00000011b\,11100000b\,00000000b\,01100000b\,00000110b\,\
  11.                                    01000000b\,00010000b\,00110000b\,00001000b\,10001011b\,00000000b\,01110000b\,00000000b\,\
  12.                                    00000000b\,01111011b
  13. pushdatanp        db            11110000b\,00000000b\,11110000b\,00001111b\,11110000b\,00000000b\,11110000b\,00001111b\,\
  14.                                    11110000b\,11111111b\,11110000b\,00001111b\,11111111b\,00000000b\,11110000b\,00000000b\,\
  15.                                    11110000b\,11111111b
  16.          stdcall find_signature,esi,[nRomSize],[pbinShChecksumSkip4Val],addr esp + 1*4,pushdata.pbinShChecksumSkip4Val.length
  17. popdata
  18. popdata
  19. ...
  20. proc find_signature pBuffer,nBufferSize,pValuesList,pMaskList,nSignatureSize
  21.          xor eax,eax
  22.          dec eax
  23.          pushad
  24.                  mov ebx,[nSignatureSize]
  25.                  sub [nBufferSize],ebx
  26.                  mov ebx,[pBuffer]
  27.                  add [nBufferSize],ebx
  28.                  mov esi,[pValuesList]
  29.                  mov edi,[pMaskList]
  30.                  .find_next:
  31.                  xor ecx,ecx
  32.                  .if ebx < [nBufferSize]
  33.                         @@:
  34.                         .if ecx < [nSignatureSize]
  35.                               mov al,BYTE[ebx + ecx]
  36.                               and al,BYTE[edi + ecx]
  37.                               .if al = BYTE[esi + ecx]
  38.                                    inc ecx
  39.                                    jmp @B
  40.                               .endif
  41.                               inc ebx
  42.                               jmp .find_next
  43.                         .endif
  44.                  .endif
  45.                  .if ebx < [nBufferSize]
  46.                         sub ebx,[pBuffer]
  47.                         mov DWORD[esp + PUSHAD_FRAME.reg_eax],ebx
  48.                  .endif
  49.          popad
  50.          ret
  51. endp


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




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

Создано: 12 августа 2018 10:32
· Личное сообщение · #26

f13nd пишет:
Я устал
- Я Ухожу...

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


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

Создано: 12 августа 2018 10:49
· Личное сообщение · #27

SDK пишет:
Я устал - Я Ухожу...

Нее, скорей "караул устал" железнякова.

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




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

Создано: 14 августа 2018 10:38 · Поправил: TryAga1n
· Личное сообщение · #28

[del]
разобрался



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

Создано: 17 августа 2018 11:23
· Личное сообщение · #29

Скушно, решил поделиться!
https://dropmefiles.com/hpZn5
в архиве:
-ILSpector (в рекламе не нуждается, последняя паблик версия)
-HiddenSAE (всем знакомый декомпилятор, с измененным именем процесса + модифицированный Cecil + отложенное сохранение при деобфускации)
-dnSpy(одна из последних версий популярного отладчика с измененными иконками для x86 и x64)
-ILSpy (последняя бетка, родитель почти всего что сверху, развивается и поэтому умеет декомпилировать то что не умеют другие)

Пользуемся, с удовольствием.

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

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

Создано: 17 августа 2018 21:02 · Поправил: sashka2002
· Личное сообщение · #30

Решил вопрос



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

Создано: 19 августа 2018 16:54 · Поправил: layerslayer
· Личное сообщение · #31

Может кто помочь деобфусцировать? Раньше использовал de4dot, но автор улучшил защиту.
Если кто сможет, то можете поделиться инструкции как вы это сделали?
--> Файл<--


<< . 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 » Выход » ЛС
   Для печати Для печати