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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2014, 16:30   #1
siviv
 
Регистрация: 23.11.2009
Сообщений: 9
По умолчанию Как пропарсить дамп памяти процесса?

Здравствуйте. Может чтото очевидное спрашиваю, но меня это в тупик поставило. Сделал дамп с помощью функции с этой темы Дамп памяти чужого процесса. Получился он примерно 236 мегабайт. Мне нужно находить в нем текстовые строки. Начал делать как с текстовым файлом, но ничего не выходит. Если строку вот так пробовать в другой файл перекидывать
Код:
var
  text:string;
  F, f2: textfile;
begin
AssignFile(F, 'C:\damp.txt');
AssignFile(F2, 'C:\111.txt');
append(F2);
Reset(F);
 while not Eof(F) do
  begin
    readln(F,text);  
    writeln(F2,text);
  end;
CloseFile(F);
CloseFile(F2);
то перекидывает только 30 строк и тридцатая не полностью (длина 31137, строк 31 судя по notepad++, 31 строка пустая). а у полного дампа судя по тому-же notepad++ длина 247570432 и строк 830367.
Так вот как парсить то, у меня до искомых строк с нужными словами не доходит почему-то. Ограничения чтоли какието есть на длину строки? как тогда обойти их?
siviv вне форума Ответить с цитированием
Старый 11.10.2014, 18:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Дамп это бинарный файл. Нужно считывать не построчно а побайтно. Или поблочно если известен размер искомого, Но тебе ранно этим занматься. Сначала освой функции чтения файла а уже потом будешь такое писать.
Кстати рекомендую TFileStream для работы с файлом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.10.2014, 04:10   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А какие критерии поиска строк в дампе?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.10.2014, 17:40   #4
siviv
 
Регистрация: 23.11.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
А какие критерии поиска строк в дампе?
Да критериев и нет никаких особых. Дамп с игры рыбалки, мне нужно найти название рыбы, например Акула полярная и прочитать следующий за названием вес мирового рекорда. Там просто больше 300 видов рыб и вручную отслеживать изменения весов муторно
siviv вне форума Ответить с цитированием
Старый 12.10.2014, 18:11   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сообщение от siviv Посмотреть сообщение
Да критериев и нет никаких особых. Дамп с игры рыбалки, мне нужно найти название рыбы, например Акула полярная и прочитать следующий за названием вес мирового рекорда. Там просто больше 300 видов рыб и вручную отслеживать изменения весов муторно
Короче, надо искать заданную последовательность байт и, если она будет найдена, прочитать по заданному смещению от найденного адреса число известного размера? Я правильно понял?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.10.2014, 18:36   #6
siviv
 
Регистрация: 23.11.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Короче, надо искать заданную последовательность байт и, если она будет найдена, прочитать по заданному смещению от найденного адреса число известного размера? Я правильно понял?
Примерно так. Искать к примеру слово Ряпушка с пробелом в конце и если следующий символ за пробелом является цифрой то копировать это число до следующего пробела. ну а там сравнивать его с данными которые в таблице exel, больше оно там, меньше или равно ну и тп. если следующий символ не цифра, то искать дальше с этой позиции
siviv вне форума Ответить с цитированием
Старый 12.10.2014, 18:50   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Искать к примеру слово Ряпушка с пробелом в конце и если следующий символ за пробелом является цифрой то копировать это число до следующего пробела.
Дай дамп посмотреть.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.10.2014, 19:04   #8
siviv
 
Регистрация: 23.11.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Дай дамп посмотреть.
закинул на яндекс диск. 236 мегабайт
siviv вне форума Ответить с цитированием
Старый 12.10.2014, 19:12   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
закинул на яндекс диск. 236 мегабайт
Ты знаешь, иногда попадаются такие ситуации, что

Извини, ничего личного. Хрен с ним, что ты не знаешь про существование архиваторов - ладно, это маловероятно, но, всё же, допустимо. Но меня мучает один вопрос: КАКОГО ХРЕНА У ТЕБЯ ДАМП ПАМЯТИ В ТЕКСТОВОМ ВИДЕ????!!!!111
Я его даже качать не стал. Ты издеваешься, да?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 12.10.2014, 19:18   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А я заставил Яндекс разбить его на 8287 страниц.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дамп памяти чужого процесса Crystallon Общие вопросы Delphi 68 01.09.2011 00:50
Дамп процесса Vayrus Win Api 2 04.03.2009 22:37
Дамп процесса Takedown Общие вопросы C/C++ 1 01.08.2008 00:19