· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› Параметры функции

Посл.отвђт Сообщен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