Дамп программы

Тема в разделе "WASM.BEGINNERS", создана пользователем kosfz, 22 авг 2006.

  1. kosfz

    kosfz New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2006
    Сообщения:
    45
    Адрес:
    Russia
    Подскажите, пожалуйста, правильно ли я делаю. Последовательность действий такая: CreateProcess или OpenProcess, WaitForInputIdle, ReadProcessMemory, WriteFile(пишу в файл, то что считал). Читаю с ImageBase по ImageBase+SizeOfImage.
     
  2. yuzvir

    yuzvir New Member

    Публикаций:
    0
    Регистрация:
    20 май 2005
    Сообщения:
    97
    SizeOfImage в памяти можно подменить, лучше вместо нее использовать VirtualQueryEx
     
  3. kosfz

    kosfz New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2006
    Сообщения:
    45
    Адрес:
    Russia
    yuzvir
    Спасибо. А так-то все правильно? Дело в том, что я сдампил программу с такой последовательностью и сравнил с дампом, который получил с помощью PE Tools. Разница в следующем: разница в File Offset, Разные First Bytes. Что же все таки не так?
     
  4. kosfz

    kosfz New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2006
    Сообщения:
    45
    Адрес:
    Russia
    При попытке запустить, то, что сдампил, появляется следующее сообщение :"Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично." Подскажите из-за чего это может быть.
     
  5. Rustem

    Rustem New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    429
    Адрес:
    Russia
    Смотри импорт у сдампленной программы.
     
  6. kosfz

    kosfz New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2006
    Сообщения:
    45
    Адрес:
    Russia
    Давайте забудем про сдампленную программу. Я запустил процесс, читаю его с пом. ReadProcessMemory и то , что прочитал, сохраняю в prog.exe, после я запускаю prog.exe и она выдает следующее:"Запрос ReadProcessMemory или WriteProcessMemory был выполнен только частично." Ошибок не возникало. Что не так? Подскажите, очень хочу разобраться. Всяк по-моему уже пробовал. Заранее спасибо.
     
  7. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Разные регионы памяти. Посмотри сначала в OllyDbg карту памяти процесса.
     
  8. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    kosfz
    А ты учитываешь, что смещения секций в файле и в образе различаются ? В файле они выравнены на 512 байт, а в образе на 4К. Поэтому чтобы дамп нормально загружался нужно по крайней мере привести в соответствие смещения и размеры секций с соотв.параметрами SizeOfRawData и PointerToRawData в заголовке PE