Посл.ответ |
Сообщение |
Ранг: 0.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 12 октября 2009 22:37 · Личное сообщение · #1
Подскажите, если несложно. Есть dll, есть exe который из нее функции вызывает. Мне необходимо вызывать эти функции из своей программы, т.е. определить прототипы этих функций, определить, какие у них аргументы. С помощью Ida Pro я нашел место где выполняется загрузка нужных функций из dll(GetProcAddress), вроде виден полученный адрес функции. Но что делать дальше? Пробовал ставить бряк на этот адрес, но он не сработал при отладке. Извините, если уже обсуждалось где-то, ткните пожалуйста.
| Сообщение посчитали полезным: |
|
 Ранг: 355.4 (мудрец), 55thx Активность: 0.32↘0 Статус: Uploader 5KRT
|
Создано: 13 октября 2009 02:30 · Личное сообщение · #2
а где программа + DLL?
----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes | Сообщение посчитали полезным: |
Ранг: 310.8 (мудрец), 29thx Активность: 0.43↘0 Статус: Участник
|
Создано: 13 октября 2009 11:52 · Личное сообщение · #3
SkyStar пишет: вроде виден полученный адрес функции. Ну для начала в отладчике посмотреть вроде это адрес функции или на самом деле. Без программы трудно сказать что-то определенное - возможны разные варианты.
| Сообщение посчитали полезным: |
Ранг: 0.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 13 октября 2009 13:39 · Личное сообщение · #4
Coderess пишет:
а где программа + DLL? к сожалению, поделиться не могу. tundra37 пишет: Ну для начала в отладчике посмотреть вроде это адрес функции или на самом деле. Ну я смотрю значение регистра eax, после вызова GetProcAddress. Правильно я понимаю, что по этому адресу перейдет управление, если будет вызвана функция? tundra37 пишет: возможны разные варианты. а нельзя пояснить хотя бы простейший случай? Спасибо.
| Сообщение посчитали полезным: |
Ранг: 617.3 (!), 677thx Активность: 0.54↘0 Статус: Участник
|
Создано: 13 октября 2009 14:54 · Поправил: Vovan666 · Личное сообщение · #5
ну самое простое это, смотришь табличку экспорта своей длл любым PE-редактором, и дальше подгружаешь примерно так:
или что-то типа того.
| Сообщение посчитали полезным: |
Ранг: 0.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 13 октября 2009 16:29 · Личное сообщение · #6
Ну как вызвать-то её мне понятно. Мне надо определить её параметры, причем не только формально типы, но и по смыслу.
| Сообщение посчитали полезным: |
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 13 октября 2009 20:37 · Личное сообщение · #7
* смотри количество push перед вызовом * сделай свою длл с функциями-пустышками
----- EnJoy! | Сообщение посчитали полезным: |
Ранг: 114.8 (ветеран), 41thx Активность: 0.1↘0 Статус: Участник
|
Создано: 13 октября 2009 20:44 · Поправил: _ruzmaz_ · Личное сообщение · #8
SkyStar пишет: Мне надо определить её параметры, причем не только формально типы, но ипо смыслу. если нужен смысл параметров, то скорее всего придется вникать в смысл самой функи)
| Сообщение посчитали полезным: |
Ранг: 0.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 13 октября 2009 20:50 · Личное сообщение · #9
Jupiter пишет: * смотри количество push перед вызовом дело в том, что я не могу найти место вызова. Jupiter пишет: * сделай свою длл с функциями-пустышками а что это даст?
| Сообщение посчитали полезным: |
Ранг: 114.8 (ветеран), 41thx Активность: 0.1↘0 Статус: Участник
|
Создано: 13 октября 2009 20:59 · Личное сообщение · #10
Ну так ты саму функу в иде смотрел? Какие там аргументы нашлись?
| Сообщение посчитали полезным: |
Ранг: 0.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 13 октября 2009 21:33 · Поправил: SkyStar · Личное сообщение · #11
_ruzmaz_ пишет: Ну так ты саму функу в иде смотрел? Какие там аргументы нашлись? дело в том, что переходя по этому адресу вижу кучу db(см. картинку)  не знаю что с этим делать
| Сообщение посчитали полезным: |
Ранг: 617.3 (!), 677thx Активность: 0.54↘0 Статус: Участник
|
Создано: 13 октября 2009 21:40 · Личное сообщение · #12
В олли Alt+E,выбираешь свою длл,Ctrl+N, там выбирай нужную тебе функцию и изучай.
| Сообщение посчитали полезным: |
 Ранг: 605.2 (!), 341thx Активность: 0.47↘0.25 Статус: Модератор Research & Development
|
Создано: 13 октября 2009 21:42 · Личное сообщение · #13
на скриншоте у тебя код представлен как данные должно быть так:
выкладывай уже длл, не морочь людям голову
----- EnJoy! | Сообщение посчитали полезным: |
Ранг: 114.8 (ветеран), 41thx Активность: 0.1↘0 Статус: Участник
|
Создано: 13 октября 2009 21:57 · Личное сообщение · #14
SkyStar пишет: не знаю что с этим делать Попробуй выделить все это добро, выбрать в меню Edit -> Code и нажать на Force (и потом еще Yes, если спросят)
| Сообщение посчитали полезным: |
Ранг: 0.6 (гость) Активность: 0=0 Статус: Участник
|
Создано: 13 октября 2009 21:57 · Поправил: SkyStar · Личное сообщение · #15
Спасибо, но выложить, к сожалению, не могу. Я загрузил библиотеку отдельно в иду, сейчас изучаю. Единственное, там адреса другие.
| Сообщение посчитали полезным: |