|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 10, 2004 12:34:38 Есть программа, вернее секция с кодом. Все winapi функции в ней заменены на call [мусор]. Есть также смещения на эти функции(rva) и имена функций. Проблема в том, что имена функций хранятся в порядке их вызова в программе. Как восстановить таблицу импорта. (подозреваю, что вопрос элементарный, но до меня что-то не доходит :() |
|
|
Дата: Сен 10, 2004 17:03:25 что-то я плохо понял вопрос.. [мусор] это что такое ? совсем мусор ? 0xABCDEFGH :) ? и имена ф-ций и rva - это про API ? |
|
|
Дата: Сен 10, 2004 18:39:37 мусор - абсолютно произвольные байты. протектор по смещениям забивает их переходниками. Т. е. было call [D15B1213], стало call [00B61234], на 00B61234 лежит частично эмулируемая winapi функция. Собственно вопрос - как, зная смещения на call [мусор] и имена winapi функций восстановить IAT, чтобы потом скормить её imprek'у. |
|
|
Дата: Сен 10, 2004 22:03:11 ozzman Лучше попросить протектор забивать корректные адреса API функций вместо "мусора" ;-) ЗЫ: О каком протекторе идёт речь? |
|
|
Дата: Сен 10, 2004 23:07:56 наверно он про арму и её иат илиминатион... |
|
|
Дата: Сен 11, 2004 06:56:00 Asterix толку то от этого, прога будет работать только на моей машине. Протектор - aspr 1.31. |
|
|
Дата: Сен 11, 2004 07:22:20 ozzman > толку то от этого, прога будет работать только на моей машине. Толк в этом определенно есть ;-) ImpRec'у приятней кушать целую таблицу импорта, без мусора, ну там не определятся лишь нескольких функций, их тебе придётся указать ImpRec'у вручную. |
|
|
Дата: Сен 11, 2004 10:25:36 > толку то от этого, прога будет работать только на моей машине Почему ? там же нужно заставить аспр создавать иат и записывать jmp/call [iat]. потом скормить эту иат импреку и всё будет работать на любом компе... |
|
|
Дата: Сен 11, 2004 22:15:39 Asterix >Лучше попросить протектор забивать корректные адреса API функций вместо "мусора" ;-) То есть было call [01234567] станет call [77b31234] - это будет работать только на моей машине(или на другой с winxp sp2). >Толк в этом определенно есть ;-) ImpRec'у приятней кушать целую таблицу импорта, без мусора, ну там не определятся лишь нескольких функций, их тебе придётся указать ImpRec'у вручную. Последовательность действий мне известна. Вопрос именно в создании IAT. Повторяю вопрос: как, зная смещения на call [мусор] и имена winapi функций восстановить IAT, чтобы потом скормить её imprek'у. Вобщем, в IAT вроде итак адреса функций идут в порядке их вызова в проге, а в зааспротекченной проге нескольно адресов идут в порядке их вызова, а следующий адрес оказывается совсем не там, где должен быть. Вобщем, объяснение довольно нутаное получилось. Неплохо было бы, если бы ответил человек, работавший с восстановлением импорта в аспре 1.31 |
|
|
Дата: Сен 17, 2004 19:59:04 Используй Софтайс, бумагу и ручку. Если прога небольшая за пару часов восстановиш. |
|
|
Дата: Сен 17, 2004 22:09:19 zzzyab этот путь мне также известен, но это как-то не по дзенски :( |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.166 |