Сейчас на форуме: (+4 невидимых)

 eXeL@B —› Вопросы новичков —› проблемы с дампом DLL
Посл.ответ Сообщение

Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 мая 2006 10:25
· Личное сообщение · #1

Добрый день.
В который раз уже сталкиваюсь с проблемой при работе с дампом DLL файлов. Достаточное колличество перечитал ифнормации и с фашего форума и разных сайтов. В чем заключаеться проблема :
1) Дампы все грабятся из памяти с значительно ьбольшими размерами чем в оригинале (если ДЛЛ запаковано то понятно, но такое происходит и с ДЛЛ модулями не сжатыми). Разброс например может составлят 2мб не сжатая длл, дамп ее под 70 мб.
2) Проблема номер 2а. www.team-x.ru/xforum/index.html?act=Print&client=html&f=39&t=2177 по этому линку написано как при помощи ImpRec востанваливать таблицу импорта. Это все работает нормально если ДЛЛ за собо не подтягивает еще 5к. Пробывал резать куском до оригинального размера, подгонять под размер оригинало, понятное дело толку 0.
Прошу подсказать чайнику в чем могут быть грабли, и кто как решал такие проблемы на своем пути.
Буду очень благодарен и смогу изложить более детально или ответить на конкретные вопросы если ктото проявит свою заинтересованость.
Общение может быть немного "тугим" потому буду рад общением посредству ПМ.



Ранг: 46.5 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 10 мая 2006 10:31
· Личное сообщение · #2

Здесь похоже на то что при дампе длл, эта длл-ка включает в себя системные процессы, отсюда и такой большой размер.



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 мая 2006 10:39 · Поправил: CryoChild
· Личное сообщение · #3

Просматриваю вручную 95% пустышка. Под конец вроде как таблица импорта проглядывается (не уверен) та которую надо править после правки OEP.
А что по второму вопросу скажете, почему не показывает нормально импорт.
Для примера можно посмотреть файл engine.dll из клиентсой части к игре ЛайнЭйдж2



Ранг: 46.5 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 10 мая 2006 14:29
· Личное сообщение · #4

CryoChild
Может выложишь длл-ку? Хотелось бы посмотреть на неё.



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 10 мая 2006 21:55
· Личное сообщение · #5

Выкладываю 2а архива
1) main - основная DLLка (~1,5 Mb)
= www.mytempdir.com/656462
2) Needed_files - DLL которые она подтягивает (вдруг понядобятся) (~300 Kb)
= www.mytempdir.com/656475
Да забыл сказать дампы получаються одинаковый как при дампинге из приложения (не вижу смысла вкладывать 1 гиг клиента, можно скачать с любого сервера игра), так и при использовании LOADDLL из пакета ollydbg.
Повторюсь, у кого Вдруг возникнет желание помоч ) буду рад получить ПМ.



Ранг: 46.5 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 10 мая 2006 22:21 · Поправил: crazyalex
· Личное сообщение · #6

[deleted]



Ранг: 46.5 (посетитель)
Активность: 0.070
Статус: Участник

Создано: 10 мая 2006 22:45
· Личное сообщение · #7

А ты посмотри она при дампе включает в себя Kernel32, User32, Advapi32, WSock32, Core и другие длл



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 мая 2006 00:49
· Личное сообщение · #8

Ну а как тогда быть ?
помогите ньюби.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 11 мая 2006 09:42
· Личное сообщение · #9

crazyalex пишет:
А ты посмотри она при дампе включает в себя Kernel32, User32, Advapi32, WSock32, Core и другие длл

Не включает. Там секция .data почти 70 Мб. А вот как бороться - не знаю Наверное надо просто терпеть.



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 мая 2006 10:01
· Личное сообщение · #10

На тему терпеть не понял
2 tundra37 У тебя получилось ее потом нормально после дампа поднять ?



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 11 мая 2006 18:47
· Личное сообщение · #11

в дампе не может быть ничего лишнего, дамп всегда равен ImageSize которое дампер
читает либо из заголовка ДЛЛ в памяти либо из заголовка ДЛЛ на диске, в зависимости
от настроек дампера
Можно попробовать применить PEOptimizer для уменьшения размера, либо пожать ДЛЛ



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 12 мая 2006 10:25
· Личное сообщение · #12

CryoChild пишет:
tundra37 У тебя получилось ее потом нормально после дампа поднять ?

Зачем ее поднимать, если она и так нормальная ?! Ситуация там такая : секция .data в DLL занимает всего 500 кило, но .idata грузится со сдвигом на 70 Мб. Не знаю, что думают по этому поводу гуру, но почему бы не переставить секции ( дата поставить в хвост) и подредактировать адреса - может Imprec перестанет дурить.



Ранг: 1.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 мая 2006 00:41
· Личное сообщение · #13

ОКе
Так и попробуем сделать самостоятельно



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 13 мая 2006 08:34
· Личное сообщение · #14

tundra37 пишет:
дата поставить в хвост

Это конечно хорошо, но адреса данных сдвинутся и тогда ,наверное,надо править секцию .text, если там есть абсолютные ссылки. Все-таки надо, либо попробовать другие утилиты для правки импорта, либо ручками.


 eXeL@B —› Вопросы новичков —› проблемы с дампом DLL
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати