О хранении Dll файлов в памяти.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

О хранении Dll файлов в памяти.

Сообщение AngryCat 10 июн 2019, 11:49

Обнаружил интересную вещь. Если запустить игру на unity, то сразу после загрузки игры, мы можем удалить AssemblyCsHarp.dll и ничего не изменится. Выходит, что код dll, хранится где-то в памяти. И тут возникает вопрос. Где? Можно ли его как-то изменить? Если мне не изменяет память, то программа CheatEngine, как раз вмешивается в выполняемый код и может менять значения переменных, прямо в реалтайме! Чисто в научно-познавательных целях, мне интересно, как это происходит.
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: О хранении Dll файлов в памяти.

Сообщение 1max1 10 июн 2019, 11:58

http://rgho.st/7MGhBNRFD
Здесь про крэкинг, память, работа с отладчиком и т.д. Очень много ассеблера...
Если коротко, то ответ на твой вопрос:
Выходит, что код dll, хранится где-то в памяти. И тут возникает вопрос. Где?

В операционке.
Можно ли его как-то изменить?

Естественно) Почитай про указатели.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: О хранении Dll файлов в памяти.

Сообщение AngryCat 10 июн 2019, 14:17

Спасибо, обязательно прочту!
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: О хранении Dll файлов в памяти.

Сообщение Saltant 10 июн 2019, 14:31

AngryCat писал(а):Обнаружил интересную вещь ... Чисто в научно-познавательных целях, мне интересно, как это происходит.

Не задумывайся о хуках, эта информация испортит твой детский наивный разум.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: О хранении Dll файлов в памяти.

Сообщение AngryCat 10 июн 2019, 15:27

Saltant писал(а):
AngryCat писал(а):Обнаружил интересную вещь ... Чисто в научно-познавательных целях, мне интересно, как это происходит.

Не задумывайся о хуках, эта информация испортит твой детский наивный разум.

Говоришь так, будто ты всю жизнь только этим и занимался :)
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: О хранении Dll файлов в памяти.

Сообщение Jarico 10 июн 2019, 21:22

Saltant писал(а):
AngryCat писал(а):Обнаружил интересную вещь ... Чисто в научно-познавательных целях, мне интересно, как это происходит.

Не задумывайся о хуках, эта информация испортит твой детский наивный разум.


ну хз... В период 14-16 лет учился ломать игры.. Теперь делаю читы для игр и работаю с юнити :)) :)) :))
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: О хранении Dll файлов в памяти.

Сообщение Saltant 10 июн 2019, 21:51

На читах много не заработать, там монополии много, не дают работать нормально, душат. А переходить на черную сторону и зарабатывать репу для доступа в нижние уровни подполья определенных кругов, не у всех яик хватит, менты тоже не просто так капусту свою едят.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: О хранении Dll файлов в памяти.

Сообщение AngryCat 10 июн 2019, 22:41

Saltant писал(а):На читах много не заработать, там монополии много, не дают работать нормально, душат. А переходить на черную сторону и зарабатывать репу для доступа в нижние уровни подполья определенных кругов, не у всех яик хватит, менты тоже не просто так капусту свою едят.

На раст читы по 20 к стоят... При этом на каждом классике хотя бы по одному да есть...
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: О хранении Dll файлов в памяти.

Сообщение Saltant 10 июн 2019, 23:22

AngryCat писал(а):
Saltant писал(а):На читах много не заработать, там монополии много, не дают работать нормально, душат. А переходить на черную сторону и зарабатывать репу для доступа в нижние уровни подполья определенных кругов, не у всех яик хватит, менты тоже не просто так капусту свою едят.

На раст читы по 20 к стоят... При этом на каждом классике хотя бы по одному да есть...

Щас бы в расте читы покупать чтоб недельку-две поиграть до очередного вайпа :D проще админу задонатить шоб тебе нарисовал пиксели какие нить. Читы мне кажется только в ММОРПГ можно хорошо продавать, ну как читы, ботов всяких как обычно, шоб избежать очередного нон-стоп дроча и играть только в удовольствие, а в остальное время бот шпилит.
З.Ы да и 20к за чит... сколько у тебя их в месяц купят ну 5, ну 10, = 100-200к рублей, и это я даж по максималочке наверно взял. А сколько у тебя купят того же бота для ММО? пускай и по 300р в месяц... Про вредоносные программы под заказ я вообще молчу, там иногда довольно космические суммы предлагают, но опять же, это скользкая тема как и сама дорожка.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: О хранении Dll файлов в памяти.

Сообщение AngryCat 10 июн 2019, 23:33

Saltant писал(а): сколько у тебя их в месяц купят ну 5, ну 10, = 100-200к рублей,

Всего-то... Пассивный доход в 100 - 200 к в месяц, просто за регулярное обновление чита. Не так уж и плохо.
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: О хранении Dll файлов в памяти.

Сообщение Saltant 10 июн 2019, 23:56

Я всего лишь сделал сравнение, даже приблизительное, чит раст как ты мог понять занимает самую последнюю строчку про прибыльности.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2234
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: О хранении Dll файлов в памяти.

Сообщение Dewa1s 11 июн 2019, 05:00

AngryCat писал(а):
Saltant писал(а): сколько у тебя их в месяц купят ну 5, ну 10, = 100-200к рублей,

Всего-то... Пассивный доход в 100 - 200 к в месяц, просто за регулярное обновление чита. Не так уж и плохо.

регулярное обновление чита - уже не пассивный доход.
Аватара пользователя
Dewa1s
Старожил
 
Сообщения: 564
Зарегистрирован: 26 дек 2011, 02:12

Re: О хранении Dll файлов в памяти.

Сообщение Jarico 11 июн 2019, 09:16

AngryCat писал(а):Выходит, что код dll, хранится где-то в памяти. И тут возникает вопрос. Где? Можно ли его как-то изменить?


Я тут покопался в компе и нашёл свой mono-injector старый... Assembly-CSharp.dll целиком хранится в памяти и его можно достать

Кусок кода которым можно либо вытащить сборку либо запустить в ней метод
Синтаксис:
Используется csharp
private IntPtr GetImageFromAssembly(IntPtr assembly)
        {
            return Execute(Exports["mono_assembly_get_image"], assembly);//получаем указатель на сборку
        }

        private IntPtr GetClassFromName(IntPtr image, string @namespace, string @class)
        {
            return Execute(Exports["mono_class_from_name"], image,//по указателю сборки
                _memory.AllocateAndWrite(Encoding.UTF8.GetBytes(@namespace)),//в пространстве имён
                _memory.AllocateAndWrite(Encoding.UTF8.GetBytes(@class)));//получаем класс
        }

        private IntPtr GetMethodFromName(IntPtr @class, string method)
        {
            return Execute(Exports["mono_class_get_method_from_name"], @class,//в классе
                _memory.AllocateAndWrite(Encoding.UTF8.GetBytes(method)), IntPtr.Zero);//получаем метод
        }

        private bool RuntimeInvoke(IntPtr method)
        {
            return (int)Execute(Exports["mono_runtime_invoke"], method, IntPtr.Zero,//по указателю метода вызываем его с помощью MonoBehaviour.Invoke("")
                IntPtr.Zero, IntPtr.Zero) == 0;
        }
 



Статья на Habrahabr: https://habr.com/ru/post/345356/


Защититься можно повесив на регион памяти

Статья на Habrahabr: https://habr.com/ru/post/186334/
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: О хранении Dll файлов в памяти.

Сообщение AngryCat 11 июн 2019, 21:16

1max1 писал(а):http://rgho.st/7MGhBNRFD
Здесь про крэкинг, память, работа с отладчиком и т.д. Очень много ассеблера...
Если коротко, то ответ на твой вопрос:
Выходит, что код dll, хранится где-то в памяти. И тут возникает вопрос. Где?

В операционке.
Можно ли его как-то изменить?

Естественно) Почитай про указатели.

почитал то, что ты мне скинул. Многое не ясно) Поломать простенькую программку с ключами от fant0ma я смог, но как быть с юнити проектами??
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: О хранении Dll файлов в памяти.

Сообщение 1max1 11 июн 2019, 21:42

Многое не ясно)

Пффф, а ты думал всё так просто?
как быть с юнити проектами??

Зависит от того, что именно ты хочешь сделать.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 27