Сейчас на форуме: UniSoft, _MBK_, laslo, bartolomeo (+7 невидимых) |
eXeL@B —› Программирование —› Dump программы и проблемы с ReadProcessMemory... |
Посл.ответ | Сообщение |
|
Создано: 05 июля 2011 21:35 · Поправил: Модератор · Личное сообщение · #1 Уважаемые форумчане добавил в свою программу (что то типо таск менеджер) такую опцию: dump вирт памятии процесса исходник в ссылке. Но проблема в том что когда открываю только что созданный exe- шник вывдодятся сообщения с крестом "запрос ReadProcessMemory или WriteProcessMemory был выполнен частично" а VirtualQueryEx тоже читает память частично только COMMIT регионы. Как запустить этот exe-шник и что надо делать для этого. Заранее спасибо. ReadProcessMemory вызивается в функции CreateDump(), в конце файла. От модератора: Пользуйся кнопкой "Правка", не создавай сообщения подряд. a15a_05.07.2011_EXELAB.rU.tgz - Proc List 2Dlg.cpp |
|
Создано: 06 июля 2011 11:59 · Личное сообщение · #2 |
|
Создано: 06 июля 2011 16:59 · Личное сообщение · #3 Что надо делать что бы дамп запустилось, и что это за ошибка "запрос ReadProcessMemory или WriteProcessMemory был выполнен частично" вот листинг получения дампа Code:
|
|
Создано: 06 июля 2011 18:26 · Поправил: tempread · Личное сообщение · #4 graviton9 пишет: Что надо делать что бы дамп запустилось Перед тем как программно это делать самому, прочти теорию,и сделай хотя бы один раз с помощью существующих инструментов. Запакуй любой экзешник пакером upx, и распакуй вручную - статей по ручной распаковке upx много. Поймешь методику - тогда делай то же самое програмно,уже сам будешь понимать какой порядк действий нужен,что бы "дамп запустилось". |
|
Создано: 06 июля 2011 19:38 · Поправил: graviton9 · Личное сообщение · #5 tempread --------[t][/t]Согласен, даже более того я делал dump файлов PETools и LordPe тулзами, много раз распоковал, проходил по курсу Нарвахи, теперь надо что то свое вот написал. Делая дамп моей программой даже ребуилдил PEtools -ом все ровно не открывается. Просто я хочу наверняка знать "запрос ReadProcessMemory или WriteProcessMemory был выполнен частично" это ошибка следствие невернего PE заголовка или что-то я не учел в своем коде то есть код надо дописать. Да совсем забыл Какие мануалы и статьи посоветуйте на эту тему ? спасибо |
|
Создано: 06 июля 2011 19:45 · Личное сообщение · #6 |
|
Создано: 06 июля 2011 20:19 · Личное сообщение · #7 От неверного размера секций он скорее всего будет не win32-файл, так пожалуется загрузчик. А такая ошибка скорее от корявых директорий, импорта, в частности. А вообще лучше бы выложил файл оригинальный и дампленый. З.Ы. И в общем случае в чистом виде дамп вообще работать и не должен, читай любую статью по распаковке, где надо ещё восстанавливать как минимум импорт. Иногда релоки и что-нибудь ещё. |
|
Создано: 06 июля 2011 20:53 · Поправил: graviton9 · Личное сообщение · #8 |
|
Создано: 06 июля 2011 20:55 · Личное сообщение · #9 |
|
Создано: 06 июля 2011 21:33 · Личное сообщение · #10 |
|
Создано: 07 июля 2011 08:25 · Личное сообщение · #11 Вот что сделал. Открыл LordPE->ПеЕдитор обычный exe-шник а потом compare с дампом- там не совпадает только один параметр filesize. Как это исправить ? Вот скрин 69db_07.07.2011_EXELAB.rU.tgz - Безымянный.JPG |
|
Создано: 07 июля 2011 09:21 · Личное сообщение · #12 |
|
Создано: 07 июля 2011 09:56 · Поправил: PE_Kill · Личное сообщение · #13 |
|
Создано: 07 июля 2011 10:29 · Личное сообщение · #14 Archer пишет: У тебя косяк в том, что все RAW параметры надо сравнять с Virtual в заголовках секций. graviton9 В Pe tools есть опция DumpFixer. Вот тут: пример реализации, смотрите, наслаждайтесь. ----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: graviton9 |
|
Создано: 07 июля 2011 13:26 · Личное сообщение · #15 |
|
Создано: 07 июля 2011 13:30 · Личное сообщение · #16 graviton9 Но оговорюсь, что сдампленные файлы будут работать (гарантированно) только в том случае, если вы дампите на ОЕР или рядом, для незапакованных - на ЕР, но не вижу в этом смысла, если нету всяких антидампов, которые надо восстанавливать... Короче, ещё много всяких если, но если всё соблюдать, то это работает. ----- Stuck to the plan, always think that we would stand up, never ran. |
|
Создано: 07 июля 2011 15:52 · Поправил: graviton9 · Личное сообщение · #17 ARCHANGEL---"сдампленные файлы будут работать (гарантированно) только в том случае, если вы дампите на ОЕР или рядом" но ведь это можно знать наверняка только в том случае эсли процесс (прогрмма) загружен в отладчик, то есть если взять какой нить процесс который не загружен в отладчик не возможно сказать где находится регистер eip его первичнoго потока оно может находится где угодно но не в oep. Значит ли это что надо загрузить программу в отладчик стоять на original ep потом уж сдампить то есть делать дамп своей программой !(не плагином отладчика !) ? |
|
Создано: 07 июля 2011 16:12 · Личное сообщение · #18 |
|
Создано: 07 июля 2011 16:19 · Поправил: graviton9 · Личное сообщение · #19 |
|
Создано: 07 июля 2011 17:05 · Личное сообщение · #20 |
|
Создано: 08 июля 2011 06:18 · Поправил: ARCHANGEL · Личное сообщение · #21 |
|
Создано: 08 июля 2011 07:30 · Личное сообщение · #22 |
|
Создано: 08 июля 2011 08:21 · Личное сообщение · #23 |
eXeL@B —› Программирование —› Dump программы и проблемы с ReadProcessMemory... |
Эта тема закрыта. Ответы больше не принимаются. |