|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 21, 2003 13:41:50 Можно ли узнать какие параметры имеют фунции в определенной dll? Т.е. можно ли востановить inc файл? В таблице импорта можно посмотреть символьные имена функций, а как посмотреть их аргументы, я не знаю. Рома |
|
|
Дата: Июн 21, 2003 17:59:13 Посмотри где вызывается интересующая тебя функция push - ы увидиш какие параметры передаются. |
|
|
Дата: Июн 21, 2003 20:57:27 Можно ли узнать какие параметры имеют фунции в определенной dll? IDA даёт примерное кол-во и даже назначение параметров. |
|
|
Дата: Июн 22, 2003 02:03:59 Посмотри где вызывается интересующая тебя функция push - ы увидиш какие параметры передаются Вся проблема в том, что уменя есть только сама dll, а *.exe нету. Есть ли в таком случае возможность получить параметры? IDA даёт примерное кол-во и даже назначение параметров. К сожалению у меня нет IDA. Рома |
|
|
Дата: Июн 22, 2003 06:15:40 К сожалению у меня нет IDA. В чём проблема-то скачай и тогда будет! |
|
|
Дата: Июн 22, 2003 08:47:16 Скачай Много качать :(( |
|
|
Дата: Июн 23, 2003 17:29:20 количество параметров : отдезассемблируй и в конце функции стоит ret х где х-количество байт возвращаемых ... просто раздели их на 4 а вот назначение етих параметров я сам немогу узнать например у SetAdapterIpAdress |
|
|
Дата: Июн 24, 2003 05:20:04 Не понял, как это? У меня в конце стоит retn. И вообще какая связь между передаваемыми в функцию параметрами и возвращаемым значением? |
|
|
Дата: Июн 24, 2003 05:37:55 Ну сгенери себе inc файл, при помощи утилит из пакета masm32, как это делается написано в разделе "Компиляторы"->"Как создать invoke'абельную библиотеку". |
|
|
Дата: Июн 24, 2003 07:28:51 roma У меня в конце стоит retn Просто retn или retn imm16? imm16 -- это не возвращаемое значение а зарезервированное кол-во байт в стеке. Например (из HIEW): C21000 retrn 00010 означает что в стеке было зарезервировано 10h байт, т.е. 4 двойных слова. Тогда логично предположить, что ф-ция имеет 4 параметра. Правда, есть и исключения... |
|
|
Дата: Июн 24, 2003 12:38:01 Asterix Не вышло твоим способом, esp перед вызовом функции и после вызова =const. Quantum Нет, там стоял retn. Короче единственный способ - дизасмить программу, использующую эту dll. Мне повезло - я нашел эту прогу. Оказалось - есть два параметра: константа (не знаю зачем она вообще нужна) и указатель на строку с именем исполняемого файла, OEP которого надо найти. Я исследовал Genoep.dll, а именно функцию GetOEP. Кстати она не всегда возвращает правильный OEP. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.070 |