Посл.ответ |
Сообщение |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 12:28 · Личное сообщение · #1
Есть DLL, написанная на Visual C++ v6 (без сжатия). Соответственно, экспортирует ряд функций. Подскажите методы, при помощи которых можно определить состав параметров для каждой функции.
З.Ы. Простите если вопрос через чур глупый / нубский (
| Сообщение посчитали полезным: |
|
Ранг: 53.8 (постоянный) Активность: 0.04↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:04 · Личное сообщение · #2
IDA?
| Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:08 · Личное сообщение · #3
угу, помогло, сенькс. сильно облегчило жизнь.
я так понимаю, что в строке, к примеру:
10004330 arg_0 = dword ptr 4
4 - кол-во байт?
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 13:09 · Поправил: Hellspawn · Личное сообщение · #4
я так понял ты хочешь заюзать чужую dll в своей проге???
ну чтож отладчик тебе в помощь, берешь ollydbg
ищешь там функцию, которая тебе нужна, и смотришь на её вызов,
olly покажет тебе какие параметры передаются в функцию...
при трассировке будет хорошо видно, что кладется в стек...
а дальше по обстаятельствам... учти что в отладчике, если я не ошибаюсь
все параметры будут наоборот, т.е. первый параметр - в отладчике будет последним,
вроде так... надеюсь ты хоть что-то понял?
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:14 · Личное сообщение · #5
"надеюсь ты хоть что-то понял?" обыжаешь, дорогой )
просто под рукой отладчика "толкового" нету, трафика мало, а хотел по-быстрому ) но спасибо за совет ) я хоть вопросы нубские задаю, и знаний асма у меня совсем мало, парень я толковый ) наверное...
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 13:16 · Личное сообщение · #6
ок ![](img/smilies/s5.gif) а так сразу не скажешь
просто самаму надо было вызвать функцию из чужой
dll... после 20 мин в отладчике, все получилось...
так что можешь длл приатачить, если не большая, а я гляну
что да как..
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:20 · Личное сообщение · #7
Аттачу ) Если сможешь глянуть - буду благодарен. Все равно до утра ту же OllyDbg не смогу заиметь ( 71cf_db.dll
| Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:21 · Личное сообщение · #8
забыл упаковать, но думаю 100kb не так уж и страшно )
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 13:23 · Личное сообщение · #9
понятное дело.. анлим на 512 гы
как функция то называется, которая тебе нужна???
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:28 · Личное сообщение · #10
да по идее я все хотел ) но чтобы тебя сильно не утруждать - глянь OpenDB. завтра утром сам попытаюсь со всем остальным разобраться.
| Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:29 · Личное сообщение · #11
ппц... можно сказать без сомненья афтар жжот вот почему:
> 10004330 arg_0 = dword ptr 4
> 4 - кол-во байт?
когда прога вызывает процедуру xxx по адресу 401000 мнемоникой call то встек заносится двордом адрес возврата а параметры идут по возрастающей... чтоб тебе было проще их воспринимать ида конвертирует параметры в dword ptr... т.е. dword ptr esp+4... (arg значит аргумент)...
зы: про то как заюзать чужую dll в своей проге я умолчу ![](img/smilies/s1.gif) ))
----- Shalom ebanats! | Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 13:32 · Личное сообщение · #12
функцию нашел... тока мне без exe файла, юзающего эту длл
никак не разобраться
я так понял длл для работы с какой то базой данных
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:34 · Личное сообщение · #13
гы ) ну блин, кто ж знал. свою ошибку осознал, просто так заманчиво было arg воспринять как АРГумент ) буду знать. раньше с IDA никогда не работал, не думал что тут так все завернуто ) встретил знакомое слово, ассоциации и в итоге неправильно воспринял )) и правда глупо вышло ) спасибо за замечание!
Тогда ясно становится, что 4 - это значение, типа dword ptr соответственно. А я все ломал голову нафига параметру функции какое-то значение ) Подумал, что кол-во байт, хотя на кол-во байт уже мне указывал тип. В итоге оказалось, что вообще смотрел не туда, куда надо (
Буду учиться на своих ошибках. Еще раз всем спасибо.
"про то как заюзать чужую dll в своей проге я умолчу ))"
это камень в мой огород? ))
| Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:37 · Личное сообщение · #14
ехе боюсь что тянет за собой еще много чего ( да, это действительно библиотека для работы с одной из "самодельных" БД. понимаю что отладчик без ехе тут бессилен ( я сам как-то не подумал, когда тебе либу давал (
вот так вот я "жжу"
| Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:38 · Личное сообщение · #15
не... не в твой... просто чтоб заюзать длл без всяких SDK и debug info надо немало попариться... и одной ольки тут не достаточно
----- Shalom ebanats! | Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 13:39 · Поправил: Hellspawn · Личное сообщение · #16
ну если пару функиций вызвать, то олька справится вполне... если
есть файл, который работает с этой длл
а если нету.. тогда уже придется парится
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:41 · Личное сообщение · #17
я понимаю про что ты говоришь. но при условии, что цель, для который используется библиотека я знаю ) глядя на передоваемые значения в DLL можно будет попробовать догадаться о назначении. тут все довольно просто. навряд ли передаются какие-либо структуры - все максимально упрощено.
| Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:43 · Личное сообщение · #18
> ну если пару функиций вызвать, то олька справится в полне
нихера не втыкаю... с чем олька справится? ![](img/smilies/s1.gif) речь идёт о девелопменте а не об отладке =))
----- Shalom ebanats! | Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 13:44 · Личное сообщение · #19
ну дык ты чего ??? короче смотришь, где эта функция вызывается в ехе
файле... и что ей передается...
и уже в своей проге делаешь все также ![](img/smilies/s6.gif) че непонятно
----- [nice coder and reverser] | Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:45 · Личное сообщение · #20
> и что ей передается
уверен что увидишь?
----- Shalom ebanats! | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:46 · Личное сообщение · #21
он имеет в виду что отлавдивая олли передаваемый в библиотеку набор данных, можно попробывать выявить закономерность и попытаться проанализировать назначение каждого из параметров. я понимаю что тут еще много подводных камней есть, но это уже дальнейшее мозгопарство в процессе дальнейшей работы с чужой либой ) я правильно понял, Hellspawn?
| Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:47 · Личное сообщение · #22
> и что ей передается
что передается увидеть я так понял позволит нам отладчик, но понять назначение этого - уже дело другое )
| Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:49 · Поправил: NaumLeNet · Личное сообщение · #23
уверяю вас, господа, в конкретном случае все очень просто в плане определения назначния параметров. тут методом тыка немного потыкаться и все пучко будет. понимаю о чем говорит SLV и согласен с ним.
| Сообщение посчитали полезным: |
Ранг: 309.8 (мудрец), 21thx Активность: 0.17↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:54 · Личное сообщение · #24
дык...
push offset libname
call loadlibrary
mov [dwLib],eax
push offset functionname
push [dwLib]
call getprocaddress
mov [dwProcXXX],eax
push params
..
call dword ptr[dwProcXXX]
в чём проблема?
----- Shalom ebanats! | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 103.3 (ветеран), 8thx Активность: 0.06↘0 Статус: Участник
|
Создано: 26 сентября 2005 13:56 · Поправил: NaumLeNet · Личное сообщение · #25
> дык...
это кому адресовано? я понимаю что это листинг вызова некой функции из dll неким хостом, но к чему это все?
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 26 сентября 2005 14:00 · Личное сообщение · #26
SLV пишет:
уверен что увидишь?
еще как видно ![](img/smilies/s5.gif) только, что грузанул в олли старый проект
и посмотрел
NaumLeNet да правильно...
но там не всегда все так сложно...
ты прав, а назначение их надо понять, ну дык мозги тебе зачем
----- [nice coder and reverser] | Сообщение посчитали полезным: |