1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. Violent
    Здравствуйте, в процессе ничегонеделанья у меня возникла "гениальная" мысль поэксперементировать не с байтами в файле, а со значениями аж в памяти процесса. Исходные данные: - некий процесс (не будем ходить далеко да около, процесс, естественно, связан с одним из игровых демонов PW) - желание получить (вывести на экран) значение по определенному BaseAdress из процесса - желание заменить это значение на какое-либо свое - ОС Ubuntu 12.04/Ubuntu 10.04 Мои наработки: - неким чудом я смог прочитать значение из памяти [IMG] - не меньшим чудом мне удалось заместо прочитанного записать другое значение [IMG] Проблемы, которые возникли по ходу дела: - имелись 2 сервера: 1. грубо говоря "рабочий" сервер с онлайном, состоящим из меня и меня (Ubuntu 12.04) 2. "теоретический" сервер, который существует только для создания нужного мне процесса (Ubuntu 10.04) - проблем с чтением данных из процесса особо не возникало (gdb - хороший помощник) - началось веселье, когда я менял значение на свое: процесс (на "рабочем" сервере) через некоторый период времени отправлял меня в долгое путешествие в гуголЪ, чтобы я искал ответ, почему процесс не выходит из состояния трассировки, хотя команда продолжать нормальное выполнение была ему дана - на "теоретическом" сервере такой проблемы не возникло, все хорошо читается и записывается, не вызывая проблем Мои предположения по поводу "зависания" процесса: - в PW как-то хитропопо реализована проверка на изменение данных в процессе (при чем данные проверяются тогда, когда процесс заставляют выполнять какие-либо действия извне - игроки), что после этого он крашится - естественно, радиус кривизны моих рук Ах да, всю эту байду я накалякал с помощью системного вызова ptrace() Прошу направить меня в нужное русло, дабы я мог продолжать терроризировать гуголЪ в поисках ответов, потому что на данный момент у меня кончились даже вопросы.
    Автор темы: Violent, 19 окт 2013, ответов - 2, в разделе: C/C++
  2. Violent
  3. Violent
  4. Violent