Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
-18 / 0 / 0
Регистрация: 23.06.2014
Сообщений: 29
1

Из неуправляемого кода стороннего приложения, передать в свое приложение массив байт

23.06.2014, 13:18. Показов 1719. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Опишу сначала суть задачи,
1. Требуется из неуправляемого кода стороннего приложения, передавать в мое приложение массив байт, с условием что к исходникам нету доступа.
2. Требуется, передавать обратно массив байт, и вызывать код стороннего приложения, в определенном месте.

Да я понимаю что проще всего сделать на чистом c++ библиотеку и загрузить в память приложения и от туда плясать, но не вариант.

По 1. есть соображения, в коде стороннего приложения выделить память, и писать в нее нужный массив байт, а из c# через winapi через readprocessmemory читать этот массив байт и обрабатывать его, в сторонней программе делать петлю пока допустим не перезапишу из c# writeprocessmemory допустим 00, просаживание по скорости средняя в реализации быстро, может вы подскажете что-то более оптимальное?

2. Тут все намного сложнее, но думаю принцип тот же, через c# winapi Опять же выделить память, записать код цикл который будет проверяться в памяти есть ли массив, создать createremovethread, и через c# writememory писать туда байты, таким образом исключается любое взаимодействие с ++, опять же скорость критична но c# необходим тк программа по обработки данных будет именно в нем, жду ваших предложений.

Кому интересно зачем вся эта хрень, в любой игре данные шифруются, я хочу брать и записывать данные напрямую в обход шифрации, прямо в ядро онлайн игры, и все это автоматизировать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2014, 13:18
Ответы с готовыми решениями:

Из стороннего приложения открыть свое
Добрый день, как добавить свое приложение в "Открыть с помощью", например яндекс навигатор можно...

Отловить запуск стороннего процесса и запустить свое приложение
Всем доброго времени суток. Можно ли как-то вызвать программу при запуске другой? Т.е, например,...

Как открыть ссылку из стороннего приложения через свое?
В общем интересует механизм "open as" или "открыть с помощью". Подскажите пожалуйста, можно ли...

Как передать строку в окно стороннего приложения
Всем привет, опять же делаю "биндер" для команд в игре, но по сути у меня есть только идея, а...

6
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
23.06.2014, 13:24 2
ZwHook, на .Net вы все равно ничего не сделаете, кроме костыльных оберток над WinAPI. Все равно весь код будет плюсовый, фактически, от .Net там ничего не останется, 99% операций нужно проводить с WinAPI. Поэтому
Да я понимаю что проще всего сделать на чистом c++ библиотеку и загрузить в память приложения и от туда плясать, но не вариант.
только это и вариант.
0
-18 / 0 / 0
Регистрация: 23.06.2014
Сообщений: 29
23.06.2014, 13:54  [ТС] 3
Я это прекрасно понимаю, даже готов пожертвовать и написать загрузчик на c++ и выводить в него байты и записывать из него, но неужели нету в windows быстрого и простого способа обмениваться данными между .net и native приложениями? я просто не верю в это(
0
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
23.06.2014, 13:56 4
Цитата Сообщение от ZwHook Посмотреть сообщение
но неужели нету в windows быстрого и простого способа обмениваться данными между .net и native приложениями
Реестр, файлы, чем не обмен? А лезть в память друг-друга ненормально и для native-native и для .net-.net.
0
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
23.06.2014, 13:57 5
Лучший ответ Сообщение было отмечено ZwHook как решение

Решение

Цитата Сообщение от ZwHook Посмотреть сообщение
но неужели нету в windows быстрого и простого способа обмениваться данными между .net и native приложениями?
File Mapping
В .NET это реализация MemoryMappedFile.
1
Spawn
23.06.2014, 13:57
  #6

Не по теме:

А в случае с инжектом, кстати, можно и на бан нарваться :) в игрушке Вашей :)

0
-18 / 0 / 0
Регистрация: 23.06.2014
Сообщений: 29
23.06.2014, 14:06  [ТС] 7
То что надо, 1 задачу решает полностью, и управляемый код есть хорошо!
0
23.06.2014, 14:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2014, 14:06
Помогаю со студенческими работами здесь

Возможно ли передать переменные из стороннего приложения в unity3d?
Всем привет. Постараюсь объяснить по-людски, но не обещаю%-). Есть приложение, которое выдает...

Можно ли из стороннего приложения запустить Excel и передать ему макрос для выполнения
Можно ли из стороннего приложения запустить Excel и передать ему макрос для выполнения

Запустить одно свое приложение через другое свое приложение
Здравствуйте. В программе "программа1" запускаю "программа2" через Process.Start("программа1"); ...

При копировании кода в редактор VS из стороннего приложения через буфер обмена русский шрифт искажается
При копировании кода в редактор VS из стороннего приложения через буфер обмена русский шрифт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru