Evlampy писал(а):Да я имею ввиду произвольную DLL. Можно ли не обращаясь к автору какой-то произвольной DLL узнать что внутри, какие функции и т.д.
Я думаю что функции спрятаны именно в ней, но не знаю как их достать.
GSerg писал(а):http://www.smidgeonsoft.com
GSerg писал(а):Подробнее...
Скачиваешь PE Browse. Открываешь им библу. Выбираешь функцию. Смотришь её код. Ищешь подозрительные конструкции вида mov eax, dword ptr [esp+0x8]. Следишь, куда потом они идут, какие функции на их основе вызываются. Таким нехитрым способом и определяешь число и тип параметров.
mov eax, dword ptr [esp+0x8]
mov eax, dword ptr [eax]
GSerg писал(а):Если указатель:
- Код: Выделить всё
mov eax, dword ptr [esp+0x8]
mov eax, dword ptr [eax]
Очень просто и понятно. Да ещё и можно определить, возвращается ли что-нибудь через этот указатель.
GSerg писал(а):Никогда функция не возвращает указатель на структуру, это бы приводило к большим утечкам памяти или к большому геморрою по отведению оной. Если возвращается структура, то она идёт параметром.
Все параметры всех функций, при ближайшем рассмотрении - long и только long. Очень совместимо с VB.
Ищем команды типа mov dword ptr [eax+0x4], ecx - на их основе делаем вывод о том, сколько полей в структуре и какого они размера. Они тоже лонги, наверняка. 90%. short в крайнем случае.
Но ты прав, это надо ползать пузом.
Но если очень надо - будешь ползать.
Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 23