Исходник NativeManager (Библиотека для управления виртуальной памятью) C#

Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
Есть проблема, когда я вызываю метод CallFunction, который описан в гитхабе, то его не удаётся найти. Как можно это решить?
Ошибка CS1061 "MemoryManager" не содержит определения "CallFunction", и не удалось найти доступный метод расширения "CallFunction", принимающий тип "MemoryManager" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Привет! Я тебе через несколько часов напишу в лс способно использования класса Executro. Причина отсутствия callFunction в том, что я посчитал её неудобной, более правильная реализация состоит в том, что надо использовать несколько классов для вызова функции по адресу, или один класс, но тогда без использования аргументов
 
Новичок
Статус
Оффлайн
Регистрация
3 Июн 2021
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Привет! Я тебе через несколько часов напишу в лс способно использования класса Executro. Причина отсутствия callFunction в том, что я посчитал её неудобной, более правильная реализация состоит в том, что надо использовать несколько классов для вызова функции по адресу, или один класс, но тогда без использования аргументов
Хорошо, буду ждать
 
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
[04.06.2021]
1)Обновил библиотеку на Nuget и GitHub
2)Сделал WIKI для библиотеки
Wiki еще написана не полностью, но уже есть страница, где расписано несколько примеров для использования определенных классов
Так же в библиотеке, которая загружена на NUGET сделал описание функций для более удобной работы с либой
 
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
[14.06.2021]
1)Обновил библиотеку на NUGET
  • Исправил критическую ошибку при определении максимального адреса модуля в приложении.
2)Исправил ошибки, выполнил оптимизацию кода
 
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
[14.07.2022]
1) Обновил библиотеку на NUGET
2)Удалены ненужные интерфейсы
3)Форматирование кода
4)Исправление мелких ошибок

Если кто то пользуется библиотекой, то прошу отписываться по всем найденным багам для их устранения
 
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
377
Реакции[?]
78
Поинты[?]
11K
Автору нужно обновить документации на гитхабе. Они давно устарели, а он не обновляет. Либо самому разбираться, либо старый билд искать, либо юзать альтернативные библиотеки а-ля memory.dll
У меня была такая проблема, но на форуме нашёл тему, где чел указал версию библиотеки, по которой написана документация
 
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
У меня была такая проблема, но на форуме нашёл тему, где чел указал версию библиотеки, по которой написана документация
Если еще пользуешься библиотекой, то документация будет обновлена полностью через 2 часа, так что можно использовать более новые версии библиотеки
 
Пользователь
Статус
Оффлайн
Регистрация
16 Мар 2021
Сообщения
377
Реакции[?]
78
Поинты[?]
11K
Если еще пользуешься библиотекой, то документация будет обновлена полностью через 2 часа, так что можно использовать более новые версии библиотеки
Когда-нибудь обновлю инжектор (вопроса нет)
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
[16.07.2022]
1)Добавлен метод для вызова исключений определенного типа с подробным описанием информации памяти по адресу, в котором было вызвано исключение
2)Изменен тип параметров некоторых функций, где указывается размер, на uint
3)Добавлены методы-расширения для инициализации Allocator и Executor
 
Начинающий
Статус
Оффлайн
Регистрация
21 Июл 2022
Сообщения
3
Реакции[?]
1
Поинты[?]
0
Всему YouGame привет! Сегодня вам хочу дать ссылку на библиотеку, которая помогает изменять виртуальную память стороннего процесса.
Как по мне, то в ней есть все, что нужно для управления памятью процесса. Но если вам чего то не хватает, то пишите, постараюсь добавить.

Ссылка на GitHub:
Пожалуйста, авторизуйтесь для просмотра ссылки.


Ссылка на NUGET: Скрытое содержимое

Ссылка на WIKI: Скрытое содержимое

Понимаю, что есть много таких либ, но вдруг вам зайдет именно моя)
Удачи всем в программировании!
А библиотека только для 32 бит процессов? Хочу софт на доту написать, а дота 64x процесс.
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
[14.12.2022]
1)Обновил библиотеку на Nuget и GitHub (Текущая версия 1.5.1.25)
2)Был почищен код

Так же прошу отписываться по поводу найденных ошибок, которые мешают в работе с библиотекой
 
artifact.pw
Пользователь
Статус
Оффлайн
Регистрация
25 Авг 2017
Сообщения
77
Реакции[?]
67
Поинты[?]
1K
1672818557710.png

Запись и чтение из памяти - перформанс критический участок.
Ты можешь это оптимизировать.

Во-первых: Боксинг быстрее полного маршала, соответственно для простых типов ты можешь делать так:
1672819466991.png

Во-вторых: В .Net6 есть удобные классы MemoryMarshal и Unsafe, используй их.
Во-третьих: Для лайнинга используй AggressiveInlining
При правильном использовании - это дает оптимизацию и в некоторых случая всего одну инструкцию при работе с типами:
Целый метод превратился в одну инструкцию lea

1672819648316.png

Вопрос: нафиг эти костыли, если есть Process.NET? (Посмотри исходники, кстати, очень полезно)

P.S
Заклинаю тебя богами, хватит именовать классы Manager, Helper, Utlis и т.д. Эти общие слова означают, что твоя инкапсуляция в дерьме.
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
1 Апр 2020
Сообщения
91
Реакции[?]
105
Поинты[?]
0
Посмотреть вложение 234065

Запись и чтение из памяти - перформанс критический участок.
Ты можешь это оптимизировать.

Во-первых: Боксинг быстрее полного маршала, соответственно для простых типов ты можешь делать так:
Посмотреть вложение 234068

Во-вторых: В .Net6 есть удобные классы MemoryMarshal и Unsafe, используй их.
Во-третьих: Для лайнинга используй AggressiveInlining
При правильном использовании - это дает оптимизацию и в некоторых случая всего одну инструкцию при работе с типами:
Целый метод превратился в одну инструкцию lea

Посмотреть вложение 234069

Вопрос: нафиг эти костыли, если есть Process.NET? (Посмотри исходники, кстати, очень полезно)

P.S
Заклинаю тебя богами, хватит именовать классы Manager, Helper, Utlis и т.д. Эти общие слова означают, что твоя инкапсуляция в дерьме.
Библиотека пишется под Net.Standard 2.0. Потому что net.framework еще никто не отменял, и многие люди продолжают писать именно на нем.
По поводу именования: Я не умею придумывать имена)))

Спасибо, что упомянул про AgressiveInlining! Я использовал его, но не везде, нужно будет провести пару тестов на этой библиотеке, что бы выявить участки, где он будет особо полезен

А так же упомяну про Process.Net и свою библиотеку:
1) Библиотека писалась для себя, так что для меня было важно написать что то свое, чем использовать чужое(Так ведь все делают, когда практикуются). Так же писал и автор библиотеки Process.NET - это его практика в программировании и написание того, что ему не хватает.
Так же и мне, я написал тоже самое, но так как мне это удобно, со своей реализацией и абстракциями для работы с памятью стороннего процесса
2) В Process.Net используются те же самые вещи, что использую и я, но написано это иначе, так что я не увидел особой разницы.
 
Сверху Снизу