ReadProcessMemory как реализовать на Delphi 7? Перерыл кучу сайтов, но на всех копипаст который или не работает или выдаёт какуюта херню. Дайте исходник у кого есть.
Открываешь MSDN и смотришь параметры ReadProcessMemory а вообще для успешной работы, надо открыть процесс с соответствующими правами, А чтобы открыть процесс с соответствующими правами нужны часто привилегии отладчика.
Один из алгоритмов таков: 1. FindWindow() - находим хендл окна. 2. GetWindowThreadProcessId() - находим PID (ID процесса), передав хендл окна из п.1. 3. OpenProcess() - открываем процесс, передав PID из п.2. 4. ReadProcessMemory() Когда-то писал тренер для игры. Там используется WriteProcessMemory, но заменить на Read не составит труда: Code: ...... var wBuff: byte; wHandle: integer; tHandle, ProcessID, pHandle, temp: cardinal; ...... wHandle := FindWindow(nil, 'Заголовок окна'); if wHandle <> 0 then begin tHandle := GetWindowThreadProcessId(wHandle, @ProcessID); pHandle := OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID); WriteProcessMemory(pHandle, ptr($0043231F), @wBuff, 1, temp); MessageBox(Form1.Handle, 'Ок', 'Ок', 0); CloseHandle(pHandle); end else begin MessageBox(Form1.Handle, 'Ошибка', 'Ошибка, 0); end;
2 Sams если в функцию MessageBox 3 параметром передать NULL , то слово ошибка будет по умолчанию... а так ты потратил аж лишних 10 байт
Gar|k, как я мог столь не рационально использовать такой не мало важный ресурс - как память! 10 байт в ООП, где Делфи по умолчанию запихивает около 300+ кб ненужного кода - это существенное замечание. Всё, пожалуй на этом моя карьера окончена. Пойду писать mov eax,0 вместо xor eax,eax. Печальная судьба А ведь у меня когда-то могло быть светлое будущее! Мои детские мечты разрушены. Mad world.
ReadProcessMemory Delphi 7 Дайте пожалуйста исходник для реализации ReadProcessMemory на Delphi 7 на примере вот этой программы http://zalil.ru/31001131 P.S. Нужно получить число и записать его в Edit или Label. Google не помог
Честно, в твоем примере написать такую прогу - пол беды. Нужно еще найти адрес, по которому хранится число в 1.exe. И не факт, что он не динамический. Так что помогу тебе написать, но только если дашь адрес. Ковыряйся в отладчике сам.
2 Sams, да не это не замечание, просто к слову. ХЗ, в общем в глаз ударило это я в крайнем написал бы так Code: char *text="ошибка"; MessageBoxA(NULL, text, text, MB_OK); В общем я за рациональный обдуманный код, пусть там делфи пхает 300+, главное что бы в голове была идея, как сделать лучше. В ООП это выражается хорошей архитектурой.
Адрис находится при помощи программа Artmoney и Cheat Engeine P.S Он денамический, но мне нужен сам способ реализации на Delphi 7
Оно запихивает это при GUI проектах. На консоли или же на "ручном" создании гуев ты можешь их избежать. А вообще, это реальная проблема дельфи - размер при подключении модулей увеличивается только потому, что там там объявлены глобальные переменные. Если хотя бы юзать статик члены класса, или был бы более умный компоновщик то таких проблем не было бы.
2 GhostOnline в делфи проблема - VCL 1) VCL основана на классах, и по этому при использовании хотябы одной функции класс, ты автоматически будешь тащить все фунции данного класса. 2) VCL форму создаёт динамически, на основе данных в ресурсах. А там ты можешь подправить любую форму (убрать или добавить элементы (если конечно ранее юзался элемент)) и изменить любой параметр для компонента на форме, по этой причине и происходит тот факт что VCL таскает всё с собой, даже если ты это не используешь. 3) код инициализации программы - тоже весит. Хоть и не много но всё же весит, а всё потому что в него встроена работа со строками, а работа по строками (в делфи) предполагает использование собственного (дельфового) менеджера памяти и всех других промежуточных функций для обработки строк. + там же ГСЧ, параметыр командной строки, функции ввода-выхода и прочей хрени (по факту упращенное подобие сишного CRT), но в отличии от Си (где CRT можно отрубить) в делфи придется хорошо пошаманить чтобы выкинуть этот код (в частности рекомпил нескольких файлов + линковска сторонним компилятором и прочая хрень)