Можно ли понять из дизасемблированого кода, какие параметры принимает функция и что должно возращать?
Есть библиотека с набором функций, доки утеряна, может есть способ узнать что должно получать и возращать функция.
Спасибо.
Здравствуйте, Павел_, Вы писали:
П_>Можно ли понять из дизасемблированого кода, какие параметры принимает функция и что должно возращать? П_>Есть библиотека с набором функций, доки утеряна, может есть способ узнать что должно получать и возращать функция. П_>Спасибо.
берет адрес какогото класса П_>:11028910 8B442404 mov eax, dword ptr [esp+04]
наверно это и есть Device
Здравствуйте, MShura, Вы писали:
П_>>Спасибо за ответ, попробывал IDA pro П_>>Я так понимаю, функция 4 аргумента
MS>Судя по всему таки 5
Странно у вас HexRays работает Или это вы сами расписали?
Судя по retn 14h аргументов действительно 5. Но судя по тому, что eax не восстанавливается сигнатура будет вида "int fn", а не void.
Здравствуйте, Павел_, Вы писали:
П_>Exported fn(): WINEDV_GetDeviceData — Ord:000Eh
Эта функция — просто экспортируемая С обёртка на С++ библитотекой. Возвращает код ошибки, а тип аргументов по ней не скажешь, придётся разбираться с реализацией (концептуальных сложностей быть не должно, MSVC (6?) без /GL).
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
pva>Странно у вас HexRays работает Или это вы сами расписали?
Что такое HexRays и умеет ли оно работать с текстом IDA не знаю.
Расписал сам, Copy+paste — дело нехитрое.
pva>Судя по retn 14h аргументов действительно 5. Но судя по тому, что eax не восстанавливается сигнатура будет вида "int fn", а не void.
Не заметил в конце работу с eax.
Здравствуйте, gear nuke, Вы писали:
GN>Здравствуйте, Павел_, Вы писали:
П_>>Exported fn(): WINEDV_GetDeviceData — Ord:000Eh
GN>Эта функция — просто экспортируемая С обёртка на С++ библитотекой. Возвращает код ошибки, а тип аргументов по ней не скажешь, придётся разбираться с реализацией (концептуальных сложностей быть не должно, MSVC (6?) без /GL).
После некоторой практики, обычно определяется интуитивно. Если же анализировать, то борланд не умеет вроде с esp работать (хотя я его мало видел), а для более поздних MSVC оптимизатор плох.
.text:11002F1A mov eax, dword_1107BAF4
.text:11002F1F and ecx, 3
.text:11002F22 and eax, 0FFh
2 из этих команд на современных процессорах можно заменить одной.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Здравствуйте, MShura, Вы писали:
pva>>Странно у вас HexRays работает Или это вы сами расписали? MS>Что такое HexRays и умеет ли оно работать с текстом IDA не знаю.
Это плаг к иде — www.hexblog.com
Пока еще сырой, конечно, но с подобным бы справился без проблем.
pva>>>Странно у вас HexRays работает Или это вы сами расписали? MS>>Что такое HexRays и умеет ли оно работать с текстом IDA не знаю. pva>Это плаг к иде — www.hexblog.com pva>Пока еще сырой, конечно, но с подобным бы справился без проблем.
Вы для себя покупали или контора платила?
50 тыщ на одну лицензию кажется дороговато для личного пользования.
P.S. Когда-то контора покупала IDA на несколько лицензий.
Сейчас меня всё устраивает и в старой версии.
Здравствуйте, MShura, Вы писали:
MS>Вы для себя покупали или контора платила? MS>50 тыщ на одну лицензию кажется дороговато для личного пользования.
Да уж, 2к за оловянный молоток — это перебор. Но современные технологии дошли до такого, что ознакомиться с продуктом можно не прибегая к оплате.
MS>P.S. Когда-то контора покупала IDA на несколько лицензий. MS>Сейчас меня всё устраивает и в старой версии.
Кесарю, как говорится, кесарево...