Help!!! Есть програмка, написана на VB. Загоняю в IDA вываливается куча кода(практически линейного) в котором масса обращений к функциям зашитым в VB6.dll. Понять что-либо практически не возможно... Прога работает с базой данных под Access. Нужно отловить SQL запросы. Может кто нибудь, что нибудь посоветует...
Что значит нужно отловить SQL запросы? Посмотреть или перехватывать? В проге должно быть видно их текст или лови в отладчике ф-ции vb*db.dll, dao350.dll, msjet35.dll (смотря какой коннект там у тебя)
Пляши от вызовов __vbaHresultCheckObj. Параметры у нее такие: HRESULT hr IUnknown* pInterface IID _IID int offVtbl Соответственно, зная IID и смещение, можно установить метод интерфейса. Вот, например, как выглядит открытие mdb при помощи Workspace.OpenDatabase из DAO3.5: []
Или еще: пишешь аналогичный пример сам, например на С, Вызываешь там соотв ф-ции Qry, запоминаешь офсет ф-ции и применяешь соотв у себя !!!
Если есть база данных под Access, можно посмотреть структуру таблиц и поискать в тексте программы хотя бы названия полей. А вообще правильно тут говорили - текст запросов должен быть виден и в IDA, надо поискать характерные слова (например, SELECT). Я ковырял однажды защищенную базу, так я таким способом нашел пароль.
это не достаточная информация, нужно еще знать как она собрана native или p-code если native - используем IDA для дизассемблирования если p-code - декомпилятор в руки
OzArt Попробуй моим декомпилем поглядет (в инструментах). Хотя если там натив код - то геморроиться долго будешь. Если пикод - выложи прогу - попробую последней версией своего декомпилера глянуть