Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | |
Какую прогу использовать для того чтобы... 10.12.01 05:50 Число просмотров: 1026
Автор: ggg <ggg> Статус: Elderman
|
так по экспорту нельзя определить число параметров
это C++ компиляторы в имена функций добавляют информацию о параметрах и классах
если в экспорте голое имя (как например в kernel32.dll) то число параметров уже не определишь (разве только дизассемблировать)
выход такой можно попробовать:
не вызывать из своих заглушек стандартные функции, а возвращать стек в исходное состояние и делать jmp на адрес стандартной функции
только это надо на асме
иначе компилятор стек извратит
|
<programming>
|
Какую прогу использовать для того чтобы... 10.12.01 05:21
Автор: NeuronVikingIII Статус: Незарегистрированный пользователь
|
.. получить дамп EXEшника в таком формате: __imp__AnyFunc@12 ... левая часть до @12 не важна ... именно важно получить @12 - т.е. число параметров которые используются функцией ...
Спасибо!
|
|
Какую прогу использовать для того чтобы... 10.12.01 05:35
Автор: ggg <ggg> Статус: Elderman
|
> .. получить дамп EXEшника в таком формате: > __imp__AnyFunc@12 ... левая часть до @12 не важна ... > именно важно получить @12 - т.е. число параметров которые > используются функцией ... > Спасибо!
dumpbin из MSVC
в системных длл имена обычно без @
например в kernel32.dll
если не веришь тому что выдают дамперы, то посмотри прогу с www.pestudio.com
:)
она полностью структуру экзешника раскрывает
|
| |
Какую прогу использовать для того чтобы... 10.12.01 05:42
Автор: NeuronVikingIII Статус: Незарегистрированный пользователь
|
> > .. получить дамп EXEшника в таком формате: > > __imp__AnyFunc@12 ... левая часть до @12 не важна ... > > именно важно получить @12 - т.е. число параметров > которые > > используются функцией ... > > Спасибо! > > dumpbin из MSVC > > в системных длл имена обычно без @ > например в kernel32.dll > > если не веришь тому что выдают дамперы, то посмотри прогу с > www.pestudio.com > :) > она полностью структуру экзешника раскрывает
за УРЛ спасибо - посмотрю, а вот dumpbin не показывает число параметров, только имена функций ...
|
| | |
Ну и как в таком случае узнать число параметров?! 10.12.01 05:54
Автор: NeuronVikingIII Статус: Незарегистрированный пользователь
|
Ну и как в таком случае узнать число параметров передаваемых функции?! я имею ввиду если о ней ничего не известно ... ну разве что ДЛЛка имеется :)
|
| | | |
Ну и как в таком случае узнать число параметров?! 10.12.01 10:37
Автор: BioUnit Статус: Незарегистрированный пользователь
|
Я бы предложил воспользоваться IDA
> Ну и как в таком случае узнать число параметров > передаваемых функции?! я имею ввиду если о ней ничего не > известно ... ну разве что ДЛЛка имеется :)
|
| | | | |
Что я и сделал, но... 10.12.01 13:43
Автор: NeuronVikingIII Статус: Незарегистрированный пользователь
|
я смог получить только число параметров и все ... о том какие типы передаются - АХЗ полный!
|
| | | | | |
Что я и сделал, но... 10.12.01 15:13
Автор: BioUnit Статус: Незарегистрированный пользователь
|
О том, каких типов параметры передаются, тебе ни одна прога не скажет.
Здесть приходиться доходить самому, исходя из дизассемблированного кода.
А вообще в API Win32 передаётся только один тип - DWORD.
А что уж там запихано (указатель или числовое значение) можно выяяснить только логически разобравшись в коде.
> я смог получить только число параметров и все ... о том > какие типы передаются - АХЗ полный!
|
| | |
Какую прогу использовать для того чтобы... 10.12.01 05:50
Автор: ggg <ggg> Статус: Elderman
|
так по экспорту нельзя определить число параметров
это C++ компиляторы в имена функций добавляют информацию о параметрах и классах
если в экспорте голое имя (как например в kernel32.dll) то число параметров уже не определишь (разве только дизассемблировать)
выход такой можно попробовать:
не вызывать из своих заглушек стандартные функции, а возвращать стек в исходное состояние и делать jmp на адрес стандартной функции
только это надо на асме
иначе компилятор стек извратит
|
|
|