Win32.COM Reverse Engineering

yolki

Есть прога, использующая базу данных некоторого внутреннего формата.
Доступ осуществляется через COM.
Импорт библиотеки типов даёт объекты либо с бессмысленными именами, типа

procedure GhostMethod__ShashuInput_524_125; safecall;
procedure GhostMethod__ShashuInput_528_126; safecall;
procedure GhostMethod__ShashuInput_532_127; safecall;

либо с идентификаторами на японском:

function OpenEmokuji(var reload: WordBool; var frmName: WideString): OleVariant;
function OpenGeneral(var reload: WordBool): OleVariant;
function OpenGroupIndex(var reload: WordBool): OleVariant;
function OpenBunkaizu: OleVariant;
function OpenGokanILL(const pPartNo: WideString): OleVariant;

Сама прога скорее всего японского происхождения, однако весь интерфейс, который она показывает пользователю (а не программеру-взломщику ) на английском.
Понять с этими Bunkaizu и Gokan какие методы и в какой последовательности надо вызывать, чтобы заработало - пока выше моих сил.
Есть ли тулза для отслеживания, какие вызовы из какой DLL происходят в приложении?
Низкоуровневыми отладчиками неохота замарачиваться..

Helga87

Для COM можно сделать подложную библиотеку-адаптер, которая будет экспортировать те же интерфейсы, что и исходная, а все методы будут вызывать методы исходной библиотеки. Если ее зарегистрировать вместо исходной, то ты сможешь отследить порядок вызова методов и параметры, которые при этом передаются в них. Причем, процесс этот в принципе автоматизируем, поэтому мб соответствующая тулза и существует.

yolki

Я тоже над этим подумываю, и для себя назвал это "проксёй"
но поскольку опыта в написании таких вещей (да и вообще, СОМов) нет - как-то стрёмно браться за такое. По каким ключевым словам искать такие тулзы?

Helga87

да, прокси больше подходит по смыслу.
тулзу ща сам попытался найти, мои ключевые слова не сработали

yolki

Вот, какую-то OleProxyWizard нашёл, но пока не могу понять, к чему она

yolki

нет ещё. По виду - очень ценные. Спасибо большое!
Странно, что поиск по моим ключевым словам ничего не дал

Helga87

Спасибо, .

yolki

Однако...
Упоминаемый в статье ICallIntercepter я не могу найти в своей студии 2002...
Оставить комментарий
Имя или ник:
Комментарий: