Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка

  • Видео
  • О видео
  • Скачать
  • Поделиться

Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка

#DevJungles #dotnet #ityoutubers Telegram канал Dev Jungles - https://t.me/DevJungles Поддержать канал можно: - Спонсорством на YouTube - Переводом на карту или пополнением банки монобанка: Dev Jungles YouTube Channel Fund https://send.monobank.ua/jar/7iAP3sZkm9 Номер карты банки: 5375 4112 0230 1466 - Или криптой: BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy ETH - 0x2903f63ba9009732272e91a299053b9d7b623216 USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216 USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2 DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655 AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216 Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd Описание: Доброго времени суток тебе, странник! Добро пожаловать в Dev Jungles Stories! Сегодня буду рассказывать про то, как CLR загружает и выполняет код в памяти, будем смотреть ассемблерные листинги, и даже сможем сделать override для sealed метода. Как вам такое? Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка. А еще эти трюки пригодятся, для того что бы написать плагин к какой-то программе, которая вообще-то не предусматривает написание плагинов. Вы знаете как можно замокать статический метод? Наверняка скажите, что Moq или NSubstiture это умеют, но как это работает под капотом? А что делать если в системной библиотеке оказалась проблема: где найти рычажки, что бы влезть в это и исправить? {'parent':'W4TeToJe8gI'} А еще вам сюда, если вам по зарез как нужно пропатчить что-нибудь от чего у вас нет исходников! Расскажу как это можно сделать! Будем ковыряться и в листингам памяти и в ASM, посмотрим как JIT раскладывает методы в оперативной памяти. Что ж, не будем долго тянуть, вперед! Полная версия тут: https://www.youtube.com/watch?v=W4TeToJe8gI Тайм-коды: 00:00 - Тизер 00:41 - Как ovveridе-ить метод в sealed классах 04:31 - GetFunctionPointer и для чего он нужен 05:26 - Принудительный Jitting методов 06:27 - void* - что ты такое? 07:22 - Добавляем unsafe 08:50 - Объяснение как заоверрайдить метод в sealed классе 13:48 - Проверка override 15:10 - Как сделать ovveride и сохранить возможность вызова базового метода 19:47 - Хакнули систему 20:14 - Библиотека Lib.Harmony 23:45 - Для чего это вообще нужно 25:05 - Пример использования Lib.Harmony 30:30 - Почему этот стрим нельзя показывать вашим менеджерам 32:13 - Как получить все ссылки на объект 38:14 - Кто разработал Harmony 43:17 - Когда это все использовалось на практике
4, 632   |   2 год. назад  |   233 - 0
 

Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка

Скачайте изображение (превью) выбрав качество


320x180 480x360 640x480 1280x720

#DevJungles #dotnet #ityoutubers

Telegram канал Dev Jungles -
Поддержать канал можно:
- Спонсорством на YouTube
- Переводом на карту или пополнением банки монобанка:
Dev Jungles YouTube Channel Fund


Номер карты банки:
5375 4112 0230 1466

- Или криптой:
BTC - 18C3jsFYwviN5FvzpAt4uMWRfUeVKvdWxy
ETH - 0x2903f63ba9009732272e91a299053b9d7b623216

USDT on ERC20 - 0x2903f63ba9009732272e91a299053b9d7b623216
USDT on TRC20 - TSmS5RzQKbWdxZkoM2oRo9HK8FYBaq744T

LTC - LN3CkrnvZLZTXDUhqTy1gUKMVpLjEPA4G2

DOGE - DPwon439jf3axVSBwyuXso6z7CivuJF655
AAVE - 0x2903f63ba9009732272e91a299053b9d7b623216
Waves - 3P8D57Zw7CrqW2o7dHpvZR2UzAzQRFA2kZd

Описание:
Доброго времени суток тебе, странник! Добро пожаловать в Dev Jungles Stories!

Сегодня буду рассказывать про то, как CLR загружает и выполняет код в памяти, будем смотреть ассемблерные листинги, и даже сможем сделать override для sealed метода. Как вам такое?
Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка.
А еще эти трюки пригодятся, для того что бы написать плагин к какой-то программе, которая вообще-то не предусматривает написание плагинов.

Вы знаете как можно замокать статический метод? Наверняка скажите, что Moq или NSubstiture это умеют, но как это работает под капотом?
А что делать если в системной библиотеке оказалась проблема: где найти рычажки, что бы влезть в это и исправить?

{"parent":"W4TeToJe8gI"}

А еще вам сюда, если вам по зарез как нужно пропатчить что-нибудь от чего у вас нет исходников! Расскажу как это можно сделать!
Будем ковыряться и в листингам памяти и в ASM, посмотрим как JIT раскладывает методы в оперативной памяти.
Что ж, не будем долго тянуть, вперед!
Полная версия тут:



Тайм-коды:
00:00 - Тизер
00:41 - Как ovveridе-ить метод в sealed классах
04:31 - GetFunctionPointer и для чего он нужен
05:26 - Принудительный Jitting методов
06:27 - void* - что ты такое?
07:22 - Добавляем unsafe
08:50 - Объяснение как заоверрайдить метод в sealed классе
13:48 - Проверка override
15:10 - Как сделать ovveride и сохранить возможность вызова базового метода
19:47 - Хакнули систему
20:14 - Библиотека Lib.Harmony
23:45 - Для чего это вообще нужно
25:05 - Пример использования Lib.Harmony
30:30 - Почему этот стрим нельзя показывать вашим менеджерам
32:13 - Как получить все ссылки на объект
38:14 - Кто разработал Harmony
43:17 - Когда это все использовалось на практике


Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка

Чтобы скачать видео "Внедряем свой код в любой метод. Даже вместо third party библиотек или даже фреймворка" передвинте ползунок вправо



Покажите вашим друзьям, добавьте в соцсети

Ссылка на страницу с видео:

 

Ссылка HTML на страницу с видео:

 

Код для вставки плеера:


  • Комментарии

Комментарии ФБ


Уважаемые друзья!

Источником всего видеоконтента, в том числе проигрывающегося на страницах ресурса ruslar.me, является сторонний видео ресурс, а именно общедоступный видеохостинг YouTube.com, предоставляющий открытый доступ к своему видеоконтенту (используя открытую и общедоступную технологию video API3 youtube.com)!

Проблемы с авторскими правами

Если вам принадлежат авторские права на данное видео, которое было загружено без вашего согласия на YouTube.com, перейдите на страницу этого видео сайта YouTube.com , нажмите на ссылку под проигрывателем Ещё -> "Пожаловаться" -> "Нарушение моих прав" и в выпадающем меню, выбирите, что именно нарушается и нажмите кнопку "Отправить".



Неприемлемый контент

Чтобы сообщить о неприемлемом видео, перейдите на YouTube, нажмите на ссылку под проигрывателем Ещё -> "Пожаловаться" и выберите в "Сообщить о нарушении" что именно вас не устраивает в этом видео. Подробнее о наших правилах читайте в Условиях использования.