С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
31 / 31 / 2
Регистрация: 06.08.2012
Сообщений: 155

Адресация и поиск переменной/функции

05.03.2013, 15:35. Показов 1280. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Возникла такая задача.
Есть какой-то .exe файл (х64).
В иде я нашел переменную и её значение.
Через артмани я нашел адрес этой переменной.
Я читаю её через ReadProcessMemory().
Однако, если перезапустить этот .exe файл, то все адреса меняются и я не могу снова прочитать значение переменной.

---

Какое может быть решение?
Один мой знакомый высказал идею через .dll находить в процессе адрес переменной и там же с ней оперировать(изменять, вызывать и тому подобное).
Однако опять вопрос - а как мне обратиться к этой переменной, не зная точного адреса? (имеется название, точное).

P.S. Работаю в vs 2012.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2013, 15:35
Ответы с готовыми решениями:

Получить доступ к переменной класса при наличии такого же имени переменной в функции
Например, есть приватная переменная clientName в классе. Также есть точно такая же переменная в конструкторе этого класса. И мне нужно...

Вызов функции внутри другой функции с передачей локальной переменной по ссылке
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include <iostream> using std::cout; void f(const int...

Поиск одной переменной под другой
Добрые день, сразу прошу извинить за неопределенное название темы!! Вопрос такой: человек вводит число 42.0 например, а под этим...

8
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
05.03.2013, 15:53
Цитата Сообщение от spyeye Посмотреть сообщение
Какое может быть решение?
Искать указатель на эту переменную.
0
31 / 31 / 2
Регистрация: 06.08.2012
Сообщений: 155
05.03.2013, 15:55  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
Искать указатель на эту переменную.
Как искать указатель?

Переменная вида:
C++
1
char buf[] = "...";
Откуда тут возьмется указатель?
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
05.03.2013, 16:05
buf фактически будет указателем.
0
31 / 31 / 2
Регистрация: 06.08.2012
Сообщений: 155
05.03.2013, 16:07  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
buf фактически будет указателем.
Ну допустим это указатель. Только я все-равно не понимаю, как к нему обращаться внутри процесса.
0
 Аватар для kazak
3601 / 2742 / 355
Регистрация: 11.03.2009
Сообщений: 6,300
05.03.2013, 16:23
С начала определиться где buf находиться, buf уже будет содержать адрес данных.
0
31 / 31 / 2
Регистрация: 06.08.2012
Сообщений: 155
05.03.2013, 16:25  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
С начала определиться где buf находиться, buf уже будет содержать адрес данных.
хе-хе, мой вопрос как бы и заключается в том, что я не знаю как найти, где находится buf в процессе.

Ида выдает один адрес, при запуске он меняется на какой-то другой.

Собственно как отловить переменную в процессе, зная её имя, но не зная адрес?
0
840 / 347 / 67
Регистрация: 20.11.2012
Сообщений: 809
05.03.2013, 16:45
Цитата Сообщение от spyeye Посмотреть сообщение
Собственно как отловить переменную в процессе, зная её имя, но не зная адрес?
Имя? Программа с отладочными символами чтоль?
Ищи функцию, которая эту память buf выделяет. Если выделяется на стеке, то нужно знать адрес вершины стека в момент захода в функцию и смещение от начала кадра - это и есть адрес. Если память выделяется динамически, то искать функции new, malloc, heapalloc, virtualalloc и т.п. и перехватывать возвращаемый указатель.
0
31 / 31 / 2
Регистрация: 06.08.2012
Сообщений: 155
05.03.2013, 19:19  [ТС]
Цитата Сообщение от WhiteP Посмотреть сообщение
Имя? Программа с отладочными символами чтоль?
Именно так. Других вариантов нету?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.03.2013, 19:19
Помогаю со студенческими работами здесь

Поиск информации в переменной типа std::wstring
Этот код определяет видеокартку которая на компе стоит но данныен выводит в незнакомом мне виде немого преобразовать вывод в стринг Как...

Поиск значения переменной в текстовом файле на сервере
Здравствуйте. Есть переменная в которую заносится строка. На сайт залит txt файл вида: Строка 1 Строка 2 Строка 3 Нужно...

Вычислить значение функции (значение переменной Х передается в качестве параметра функции)
Написать функцию, которая возвращает вычисленное значение функции. Значение переменной Х передается в качестве параметра функции.

a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b
даны произвольные числа a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b.

Переменной B присвоить первую десятичную цифру переменной A, а переменной С вторую цифру переменной А
Помогите, у меня есть число A = 16,и переменные B и C. Как переменной B присвоить первую цифру переменной A, а переменной С второе число...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru