При загрузке блокнота или Ворда в память и редактировании документа, текст и все остальное находится в памяти процесса, вопрос, как это оттуда вытащить? или произвести анализ информации(любой) в памяти процесса? Что можно почитать и какие функции надо применять? ReadProcessMemory это то? если кому не жалко может кто какие нибудь исходники скинет?
да, совсем забыл.. Второй параметр ReadProcessMemory, он чему должен быть равен и откуда его достать?
lpBaseAddress - начало области чтения (адрес от куда ты хочешь начать читать память). Вообще не плохо бы подучить матчасть и самому "потыкаться". Раньше интернет был в диковинку, и ничего, люди учились сами по себе.
Ну для блокнота не проблема понять текст, с которым он работает. А в Ворде будет сложнее, хотя если текстовый документ, то не проблема. Не понятен смысл вопроса - вбиваешь в поисковик ReadProcessMemory или "Чтение памяти процесса" и получишь и описание и исходники. Думаю и на сайте в статьях это есть и топики наверняка были.
Это я второй раз на счет VBA повторяю, т.к. видимо не поняли. Дело в том что несколько открытых документов в действительности отображаются на память одного процесса winword и + есть стандартные средства работы с текстом, встроенные в VBA......
RET Изначально вопрос про память и это подчеркнуто. В блокноте вообще никаких скриптов нет. Другое дело, что проблема вовсе не в ReadProcessMemory , а в том, чтобы найти с ее помощью текст. Вот таких API нет. Автор думал, что есть API для определения, где текст лежит. АГА - СЕЙЧАС. Он не про смысл параметров спрашивал, а про их "реальные" значения. Про VBA ему вообще бесполезно говорить.
самого когда-то подобный вопрос интересовал, нужно каким-то образом определить нужные участки памяти процесса - сразу отбросить ненужные участки это imagebase + sizeofimage, each_dllloadadress + imagesizedll, и через ReadProcessMemory большими кусками читать адресное пространство процесса, или внедрить в процесс модуль который будет сканировать в рамках уже одного виртуального пространства память, что должно быть быстрее голого ReadProcessMemory.
зачем привязываться к какому-то конкретному софту... автору прямой путь сюда http://msdn.microsoft.com/en-us/library/aa366902%28VS.85%29.aspx и сюда http://msdn.microsoft.com/en-us/library/aa366775%28VS.85%29.aspx сканиться память на предмет используемых участков памяти , далее нужно выбирать страницы с аттрибутами PAGE_READWRITE и уже их читать и анализировать
drem1lin Для блокнота GetWindowLongA(0) и два раза раскройте ссылку, это будет линк на текст на текстбоксе в юникоде. karabas_barabas Можно адресное пространство переключить на целевое, аттачнувшись к процессу из ядра. Тогда пользовательскую память можно юзать непосредственно её чтением средствами камня, но это в ядре.