Сейчас на форуме: _MBK_, vsv1, ut2004 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Visual Basic API
Посл.ответ Сообщение

Ранг: 4.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 18 февраля 2007 14:22
· Личное сообщение · #1

Я точно знаю что программа берёт строковую переменную из файла. Как это отследить с пом. Ольки?
Софт на Visual Basic




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 18 февраля 2007 14:31
· Личное сообщение · #2

открытие файла __vbaFileOpen
чтение __vbaInputFile, __vbaLineInputVar, __vbaGet4, __vbaGet3, __vbaGetFxStr3, __vbaGetFxStr4
закрытие __vbaFileClose, __vbaFileCloseAll

-----
Уважайте других и пишите грамотно.




Ранг: 4.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 18 февраля 2007 14:35
· Личное сообщение · #3

Не, нето.... Из веняюсь может вопрос поставил некорректно. названия функций я знаю. Но что в коммандной строке так и набирать bpx __vbaFileOpen?




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 18 февраля 2007 14:41
· Личное сообщение · #4

да, так и набирай

-----
Уважайте других и пишите грамотно.




Ранг: 4.1 (гость)
Активность: 0.010
Статус: Участник

Создано: 18 февраля 2007 14:45
· Личное сообщение · #5

А возможно такое, что чтение из файла происходит без открытия?




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 18 февраля 2007 14:47
· Личное сообщение · #6

нет, такого не бывает)

-----
Уважайте других и пишите грамотно.





Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 18 февраля 2007 15:05
· Личное сообщение · #7

Если там ini-файл, то скорее всего читается функцией GetPrivateProfileString.
А может файл открывается CreateFile или OpenFile. Проверяй.
Делаешь так:
1. Находешь адрес строки с именем нужной api-функции.
2. Ставишь по этому адресу бряк на доступ к памяти. Запускаешь прогу.
3. Олька останавливается. Жмешь F8, пока не увидишь инструкцию JMP EAX - это и есть прыжок на функцию. Параметры подсматривай в стеке.

-----
Уважайте других и пишите грамотно.





Ранг: 116.7 (ветеран)
Активность: 0.10
Статус: Участник

Создано: 10 марта 2007 09:15 · Поправил: Mifodix
· Личное сообщение · #8

Доброго времени суток!
В бейсике я не силён, поэтому и задаю след. вопрос: на какую апи ставить бряк, чтобы отследить изменение св-ва enable у кнопки? Извиняюсь за возможно глупый вопрос.

Добавлено: Господи, аццки ступил...тут же переходники в вб...EnableWindow юзается при изменении св-ва enable.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 10 марта 2007 14:16
· Личное сообщение · #9

Mifodix
вы правы.
но вообще, на сколько я помню, для изменения свойств обьекта используетя функция __vbaObjSet
это так.. на всякий случай)

-----
Уважайте других и пишите грамотно.




Ранг: 9.7 (гость)
Активность: 0.010
Статус: Участник

Создано: 10 марта 2007 15:09
· Личное сообщение · #10

угу
wasm.ru/article.php?article=vb60_reversing

вот
_______________________________________________

[Разблокирование элементов управления]

Любой элемент управления на форме может быть видимым или невидимым, доступным или заблокированным. Очень часто для взлома программы бывает нужно разблокировать отдельные элементы управления на форме. Для установки свойств объектов существует функция __vbaObjSet. Именно с помощью нее можно заблокировать или разблокировать элемент управления и изменить любое из его свойств. Поэтому нам необходимо отлавливать вызов именно этой функции. Откроем например Olly Debugger, найдем эту функцию среди вызываемых программой и поставим на нее бряк нажав кнопку F2. Затем запустим исследуемую программу. Когда бряк сработает - посмотрите окружающий код. Если он напоминает

CODE NOW!

50 push eax
52 push edx
FFD7 call edi
8BD8 mov ebx, eax
6A00 push 00
53 push ebx
8B03 mov eax, dword ptr [ebx]

то вы на верном пути. Как вы думаете, что это за "push 00"? 00h в VB означает FALSE, а FFh TRUE, из этого следует, что данная команда устанавливает свойство в FALSE, то есть возможно это и есть блокировка элемента управления на форме. Но это может быть и установка любого другого свойства формы в TRUE. Так как синтаксис один и тот же, что принадлежность данной команды к изменению свойства блокировки можно установить только анализом окружающего кода, но умаю с этой мелочью вы справитесь сами.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 12 марта 2007 05:15
· Личное сообщение · #11

_taha_ пишет:
только анализом окружающего кода

не только.

-----
Уважайте других и пишите грамотно.




Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 марта 2007 21:10
· Личное сообщение · #12

Наверное немного не по теме:

Попробуй ловить не Олькой, а NuMega SmartCheck - лучшая программа что я видел для таких делов. Она строит дерево вызова всех функций VB из библиотеки MSVBM**.dll



Ранг: 5.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 13 марта 2007 21:12
· Личное сообщение · #13

...Т. е. MSVBVM**.dll


 eXeL@B —› Вопросы новичков —› Visual Basic API
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати