Как получить список всех модулей? C#

Приветствую всех, последние две недели я помогал в  разработке чита для одной из популярных игр на Unity. Но админы использовали «античит» программы для получения всех dll игры, и конечно отображалась и наша dll с читом которая была заинжекчена. Одна из моих задач была обойти античит и скрыть заинжектированную dll. Я хоть и сталкивался в работе с низкоуровневым программированием, но много вещей не понимал, и в результате столкнулся с множеством проблем.

По началу я решил выполнить поиск всех модулей в процессе вот таким образом:

Но он находил все dll за исключением инжектированных.

Перерыв множество статей в поиске решения проблемы, я решил использовать слепок процесса, как говорилось, этим методо можно получить весь список dll спомощью winapi. И я его испытал, готового решения не было, пришлось переписывать код с C++, в результате получилось:

К сожалению он вывел тот список что и первый вариант все стандартные dll, а мне все таких надо было найти dll которая была мною инжектирована.

Я приступил к тестированию античита, да бы понять его принцип работы. И обнаружил что он инжектил свою dll в процесс, и получал по всей видимости список модуле. Однако античит был на Delphi и разобраться с ним полностью мне не удалось. Я так же решил использовать инъекцию для получения всех сборок путем рефлексии. Для этого я написал код под Unity который выводит список всех, модулей, и к моему удивлению, я нашел и свою инжектированную dll. И так я приведу пример получения всех сборок под C# приложение, думаю вам без труда составит его перенести под Unity , я не стал его сюда приводить, слишком он большой.

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

 

 

Обновлено: 26.10.2018 — 13:19

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.