|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.09.2015, 17:18 | #1 |
Регистрация: 02.09.2012
Сообщений: 8
|
image address
Привет, форум!
Подскажите безграмотному, как определить адрес куска данных (области кода) в ехе файле и того же куска данных в памяти процесса созданного этим exe. например делаю так Код:
Дальше ищу такой же блок данных в exe файле будем считать вручную просто перебором и сравнением байт в Data1 получаю некую позицию мемористрима Offs2, теперь если выполнить Код:
но получается что Offs2 меньше Offs1 на 3072байта. Собственно вопрос, что это за дельта? Как зная адрес куска кода в памяти процесса найти тот же кусок в exe файле? |
24.09.2015, 17:27 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Ты хочешь узнать где физически находится начало функции Test?
I'm learning to live...
|
|
24.09.2015, 17:36 | #3 |
Регистрация: 02.09.2012
Сообщений: 8
|
да. к примеру
образ exe файла с жесткого диска проецируется в виртуальное адресное пространство процесса так? значит зная адрес начала этого образа в памяти процесса я смогу найти что хочу. Начало образа вроде как Pointer(Hinstance) Последний раз редактировалось Stilet; 24.09.2015 в 17:42. |
24.09.2015, 17:44 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
24.09.2015, 17:46 | #5 |
Регистрация: 02.09.2012
Сообщений: 8
|
вот вот с этого места поподробнее )))
|
24.09.2015, 18:41 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А чего тут подробнее?
Найти спецификацю типа http://cs.usu.edu.ru/docs/pe/ почитать как устроен РЕ и применить прочитанное.
I'm learning to live...
|
24.09.2015, 19:13 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
А еще учесть, что не все страницы могут быть в памяти одновременно.
|
24.09.2015, 19:31 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
03.10.2015, 13:12 | #9 |
Регистрация: 02.09.2012
Сообщений: 8
|
наконец то нашлось время вернуться к своей задаче
в общем все получилось просто как и думал Код:
http://saveimg.ru/show-image.php?id=...f93eafbd5d213a Последний раз редактировалось A.N.D.R.E.W; 03.10.2015 в 13:19. |
20.10.2015, 19:29 | #10 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
A.N.D.R.E.W
Про PE заголовки и всю эту лабуду на Exelab.ru расскажут подробно. Они там эксперты в этой области. Если нужно проецировать кусок кода в память, то я делал такую штуку года 2 назад. В Гугле полно примеров, CopyMemory никто не юзает. Правильнее выделять память через VirtualAlloc и туда проецировать бинарник свой. Последний раз редактировалось calypso; 20.10.2015 в 19:32. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Access violation at address XXXXXX in module 'YYYYYY'. Read of address ZZZZZZ' | nik-kang | Помощь студентам | 0 | 18.06.2012 22:22 |
Access violation at address 004733C4 in module 'loginin.exe'. Read of address 00000048' | pavellyba | Общие вопросы Delphi | 2 | 18.08.2011 10:32 |
Access violation at address 00447E73 in modul Project.exe. Read of address 00000057. | ArtGrek | Общие вопросы Delphi | 40 | 12.03.2011 22:03 |
Access violation at address 00478D0E in module 'Project1.exe'. Write of address 00000000 | fondreykus-1 | Общие вопросы Delphi | 5 | 27.01.2010 14:25 |
Ошибка: "Access violation at address 00454F01 in module 'Project1.exe'. Read of address 00000000. | Fen1x | Общие вопросы Delphi | 8 | 13.10.2007 20:13 |