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

 eXeL@B —› Вопросы новичков —› Определение типа параметров экспортируемых функций
Посл.ответ Сообщение

Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 09 августа 2006 14:21
· Личное сообщение · #1

Как или с помощью чего можно определить кол-во и тип параметров экспортируемой из dll функции? dll написана на VC++. Кроме dll нет ничего (не .lib не .h) Это не системная dll. Подскажите как это можно сделать.

Спасибо.



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 09 августа 2006 16:53
· Личное сообщение · #2

а есть приложение юзающее эту ДЛЛ?



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 09 августа 2006 17:05
· Личное сообщение · #3

Приложение-то есть, но оно хитро (для меня по крайней мере) использует эту dll. Сама dll хранится в ресурсах исполняемого файла и загружается в память минуя стадию сохранения на диск (как это делается я не знаю. Софтина на delphi). Таким образом основная прога не импортирует в обычном понимании эту библиотеку.... Возможно просто по смещениям вызываются функции или что-то похожее. Вот.



Ранг: 495.3 (мудрец)
Активность: 0.30
Статус: Участник

Создано: 09 августа 2006 19:21
· Личное сообщение · #4

jfx пишет:
с помощью чего можно определить кол-во и тип параметров экспортируемой из dll функции?

IDA должна помочь. По крайней мере, количество она чётко определяет, да и с типами проблем особых не будет, а вот назначение аргументов придётся определять самому.
jfx, а вы искали производителя dll? Может открытая дока есть. =)

-----
Всем привет, я вернулся




Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 09 августа 2006 19:35
· Личное сообщение · #5

Bitfry
IDA к сожалению помагла частично, на некоторых функциях определила все четко, а вот на некоторых к сожалению нет... По поводу назначения я разберусь, мне бы вызвать их сначала правильно.
Производитель как раз известен, вот только на эту Dll он документации не предоставляет. Имя этой dll CheckUtil.dll и занимается она проверкой серийного номера и прочими сопутствующими мелкими делами




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 09 августа 2006 21:31
· Личное сообщение · #6

если файл не большой выкладывай! покавыряем
поможем тебе разобраться... Ты её через отладчик пропусти, там хорошо видно, что в стек
кладётся перед вызовом функции

-----
[nice coder and reverser]




Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 09 августа 2006 22:40
· Личное сообщение · #7

Значит так, все вместе представляет собой один exe файл размером ~90 метром. Большую его часть составляет rar архив, прицепленный оверлеем, который немного покоцан (как, пока не разобрался, но попытка разархивировать его с паролем, который зашит в самой проге не увенчалась успехом. Пароль точный, я трейсил под дебагером в unrar.dll передается точно он, но вот что происходит с архивом до этого пока не разобрался). Основной модуль на Delphi, запакован UPX-ом. В ресурсах лежит выше упомянутый CheckUtil.dll, unrar.dll и h2reg. Все вместе без rar-а примерно 3 метра. Дык, что выкладывать?



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 10 августа 2006 09:39
· Личное сообщение · #8

jfx пишет:
Пароль точный, я трейсил под дебагером в unrar.dll

Если только в этом unrar алгоритм генерации кода идентичен. Пароль ведь "фикция" : в оригинале берут кусок шифруемого файла и в цикле на 260 с лишком тысяч перемешивают с паролем. Для распаковки аналогичное творение. Достаточно например что-то поксорить и все. Надо сосвечивать с оригинальным алгоритмом, благо автор РАР-а до сих пор тексты распаковщика дает свободно.
Если там действительно РАР(построй сигнатуры для авторского unrar или визуально проверь ), то самое худшее - находишь то, что получилось после цикла и патчишь РАР так, чтобы он расшифровывал не по паролю, а по полученному хексу



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 10 августа 2006 10:46
· Личное сообщение · #9

tundra37
Интересная мысь, посмотрю... Но мне кажется все же что что-то не так с самим архивом: в коментарии к архиву лежит текстовый скрипт для инсталятора (которым основной модуль и является), дык вот он очень странно выглядит... он вперемешку с бинарными (не текстовыми) кусками.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 10 августа 2006 11:28
· Личное сообщение · #10

jfx пишет:
дык вот он очень странно выглядит

А ты уверен, что файл не битый. В емуле такое изредка встречается и на некоторых качалках и "кривых" серверах. И второй вариант : используется только алгоритм запаковки, а куски лежат по авторским законам. Наконец, автор просто плюхнул комментарий вместе с буфером. Короче инфа нужна :
1) есть ли заголовок РАР и как он выглядит
2) запаролен подчистую или есть имена отдельных файлов.



Ранг: 56.4 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 10 августа 2006 12:41
· Личное сообщение · #11

Нет, файл не битый, это уже не первая версия этой проги, в каждом архиве так, они усовершенствуют с каждой новой версией и сам установщик. Например в первой версии с архивом было все в порядке и он легко распаковывался выловленным паролем. Далее, в отладчике опятьже, после некоей обработки скрипт выглядит уже нормально...
Далее RAR есть, что значит как он выглядит? Вот заголовок tinyurl.com/s52j7
Rar запаролен только на распаковку - файлы видны.
В аттаче unrar и checkutil. Вот тут сам модуль с обрезанным архивом tinyurl.com/g75na

1f80_10.08.2006_CRACKLAB.rU.tgz - dx.zip



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 10 августа 2006 15:13
· Личное сообщение · #12

jfx пишет:
Далее, в отладчике опятьже, после некоей обработки скрипт выглядит уже нормально...

Тогда смотри внимательно. Они также могут и РАР подкорректировать. При ловле обращений в память по диапазону олли будет медленно работать, но рано или поздно поймает запись.
Но сначала проверь алгоритм работы с паролем. Могу вспомнить свои изыскания по этому поводу. Правда я просто проверял про 260 тысяч циклов - не верилось.


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


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