Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2016, 15:51   #1
hamany
 
Регистрация: 17.05.2015
Сообщений: 3
По умолчанию Указатели в С#

Здравствуйте, у меня есть своя программа, имеет она целочисленное значение и располагается в памяти по определенному адресу, который мне известен. Я могу значение программно изменить, но программа динамически изменяет адрес числа каждый раз после запуска. Как сделать автоматически изменение адреса. Я знаю что делается это с помощью указателей, но не пойму каким образом, изучал java не так давно пересел на C# с указателями запарка. Помогите пожалуйста.
hamany вне форума Ответить с цитированием
Старый 11.11.2016, 16:12   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А в java как?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 11.11.2016, 16:21   #3
hamany
 
Регистрация: 17.05.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А в java как?
В java нет указателей, выложу фрагмет кода

Код:
  unsafe
            {
               

                int* x; // определение указателя
                int add = 0x02354320; // динамический адрес хранящий число
               //которое я изменяю

                x = &add;
                
                // Измененные числа
                byte[] on = { 0x90 };

            
                Test.write_bytes(add, on); //тут замена происходит
}
hamany вне форума Ответить с цитированием
Старый 11.11.2016, 16:33   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

стоп, программа то не часть вас.
указатели вам тут не помогут.

вам надо динамически искать адрес, а не указателями играть.
см ReadProcesseMemory+PInvoke.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 11.11.2016, 16:47   #5
hamany
 
Регистрация: 17.05.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
стоп, программа то не часть вас.
указатели вам тут не помогут.

вам надо динамически искать адрес, а не указателями играть.
см ReadProcesseMemory+PInvoke.
Так я и указываю динамический адрес, программа работает, но после перезапуска адрес меняется и соответственно потом не работает. Тут нужен либо какой то автоматический расчет адреса либо методы не знакомые мне)
hamany вне форума Ответить с цитированием
Старый 11.11.2016, 17:09   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

почитайте тогда про поиск адреса указателя на нужное значение.
самое простое поищите примеры для Cheat Engine.

указатели вам не нужны тут в принципе(внутренние в смысле).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели С++ MarihuanaP Помощь студентам 1 09.02.2010 17:06
указатели Артэс Общие вопросы C/C++ 11 07.02.2010 16:47
Указатели IceBreaker Общие вопросы C/C++ 9 05.02.2010 09:11
Указатели Mighty Помощь студентам 1 24.10.2009 18:01
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39